summaryrefslogtreecommitdiff
path: root/support/texlab/crates/bibutils_sys/src
diff options
context:
space:
mode:
Diffstat (limited to 'support/texlab/crates/bibutils_sys/src')
-rw-r--r--support/texlab/crates/bibutils_sys/src/Copying340
-rw-r--r--support/texlab/crates/bibutils_sys/src/adsout.c679
-rw-r--r--support/texlab/crates/bibutils_sys/src/adsout_journals.c4510
-rw-r--r--support/texlab/crates/bibutils_sys/src/bibcore.c1079
-rw-r--r--support/texlab/crates/bibutils_sys/src/bibformats.h35
-rw-r--r--support/texlab/crates/bibutils_sys/src/bibl.c104
-rw-r--r--support/texlab/crates/bibutils_sys/src/bibl.h29
-rw-r--r--support/texlab/crates/bibutils_sys/src/biblatexin.c1340
-rw-r--r--support/texlab/crates/bibutils_sys/src/bibtexin.c1517
-rw-r--r--support/texlab/crates/bibutils_sys/src/bibtexout.c855
-rw-r--r--support/texlab/crates/bibutils_sys/src/bibtextypes.c687
-rw-r--r--support/texlab/crates/bibutils_sys/src/bibutils.c49
-rw-r--r--support/texlab/crates/bibutils_sys/src/bibutils.h145
-rw-r--r--support/texlab/crates/bibutils_sys/src/bltypes.c1071
-rw-r--r--support/texlab/crates/bibutils_sys/src/bu_auth.c63
-rw-r--r--support/texlab/crates/bibutils_sys/src/bu_auth.h17
-rw-r--r--support/texlab/crates/bibutils_sys/src/charsets.c34627
-rw-r--r--support/texlab/crates/bibutils_sys/src/charsets.h25
-rw-r--r--support/texlab/crates/bibutils_sys/src/copacin.c321
-rw-r--r--support/texlab/crates/bibutils_sys/src/copactypes.c49
-rw-r--r--support/texlab/crates/bibutils_sys/src/ebiin.c763
-rw-r--r--support/texlab/crates/bibutils_sys/src/endin.c620
-rw-r--r--support/texlab/crates/bibutils_sys/src/endout.c777
-rw-r--r--support/texlab/crates/bibutils_sys/src/endtypes.c1257
-rw-r--r--support/texlab/crates/bibutils_sys/src/endxmlin.c587
-rw-r--r--support/texlab/crates/bibutils_sys/src/entities.c406
-rw-r--r--support/texlab/crates/bibutils_sys/src/entities.h16
-rw-r--r--support/texlab/crates/bibutils_sys/src/fields.c573
-rw-r--r--support/texlab/crates/bibutils_sys/src/fields.h97
-rw-r--r--support/texlab/crates/bibutils_sys/src/gb18030.c184
-rw-r--r--support/texlab/crates/bibutils_sys/src/gb18030.h15
-rw-r--r--support/texlab/crates/bibutils_sys/src/gb18030_enumeration.c30746
-rw-r--r--support/texlab/crates/bibutils_sys/src/generic.c106
-rw-r--r--support/texlab/crates/bibutils_sys/src/generic.h27
-rw-r--r--support/texlab/crates/bibutils_sys/src/intlist.c590
-rw-r--r--support/texlab/crates/bibutils_sys/src/intlist.h52
-rw-r--r--support/texlab/crates/bibutils_sys/src/is_ws.c48
-rw-r--r--support/texlab/crates/bibutils_sys/src/is_ws.h18
-rw-r--r--support/texlab/crates/bibutils_sys/src/isiin.c420
-rw-r--r--support/texlab/crates/bibutils_sys/src/isiout.c363
-rw-r--r--support/texlab/crates/bibutils_sys/src/isitypes.c192
-rw-r--r--support/texlab/crates/bibutils_sys/src/iso639_1.c211
-rw-r--r--support/texlab/crates/bibutils_sys/src/iso639_1.h9
-rw-r--r--support/texlab/crates/bibutils_sys/src/iso639_2.c647
-rw-r--r--support/texlab/crates/bibutils_sys/src/iso639_2.h10
-rw-r--r--support/texlab/crates/bibutils_sys/src/iso639_3.c8431
-rw-r--r--support/texlab/crates/bibutils_sys/src/iso639_3.h10
-rw-r--r--support/texlab/crates/bibutils_sys/src/latex.c597
-rw-r--r--support/texlab/crates/bibutils_sys/src/latex.h17
-rw-r--r--support/texlab/crates/bibutils_sys/src/lib.rs4261
-rw-r--r--support/texlab/crates/bibutils_sys/src/marc_auth.c458
-rw-r--r--support/texlab/crates/bibutils_sys/src/marc_auth.h20
-rw-r--r--support/texlab/crates/bibutils_sys/src/medin.c645
-rw-r--r--support/texlab/crates/bibutils_sys/src/modsin.c1139
-rw-r--r--support/texlab/crates/bibutils_sys/src/modsout.c1177
-rw-r--r--support/texlab/crates/bibutils_sys/src/modstypes.c57
-rw-r--r--support/texlab/crates/bibutils_sys/src/modstypes.h24
-rw-r--r--support/texlab/crates/bibutils_sys/src/msvc_fix.h7
-rw-r--r--support/texlab/crates/bibutils_sys/src/mycvout.c614
-rw-r--r--support/texlab/crates/bibutils_sys/src/name.c535
-rw-r--r--support/texlab/crates/bibutils_sys/src/name.h26
-rw-r--r--support/texlab/crates/bibutils_sys/src/nbibin.c536
-rw-r--r--support/texlab/crates/bibutils_sys/src/nbibout.c556
-rw-r--r--support/texlab/crates/bibutils_sys/src/nbibtypes.c70
-rw-r--r--support/texlab/crates/bibutils_sys/src/notes.c103
-rw-r--r--support/texlab/crates/bibutils_sys/src/notes.h17
-rw-r--r--support/texlab/crates/bibutils_sys/src/pages.c87
-rw-r--r--support/texlab/crates/bibutils_sys/src/pages.h16
-rw-r--r--support/texlab/crates/bibutils_sys/src/reftypes.c72
-rw-r--r--support/texlab/crates/bibutils_sys/src/reftypes.h63
-rw-r--r--support/texlab/crates/bibutils_sys/src/risin.c582
-rw-r--r--support/texlab/crates/bibutils_sys/src/risout.c793
-rw-r--r--support/texlab/crates/bibutils_sys/src/ristypes.c1594
-rw-r--r--support/texlab/crates/bibutils_sys/src/serialno.c56
-rw-r--r--support/texlab/crates/bibutils_sys/src/serialno.h16
-rw-r--r--support/texlab/crates/bibutils_sys/src/slist.c946
-rw-r--r--support/texlab/crates/bibutils_sys/src/slist.h112
-rw-r--r--support/texlab/crates/bibutils_sys/src/str.c1126
-rw-r--r--support/texlab/crates/bibutils_sys/src/str.h137
-rw-r--r--support/texlab/crates/bibutils_sys/src/str_conv.c204
-rw-r--r--support/texlab/crates/bibutils_sys/src/str_conv.h23
-rw-r--r--support/texlab/crates/bibutils_sys/src/strsearch.c41
-rw-r--r--support/texlab/crates/bibutils_sys/src/strsearch.h15
-rw-r--r--support/texlab/crates/bibutils_sys/src/title.c100
-rw-r--r--support/texlab/crates/bibutils_sys/src/title.h20
-rw-r--r--support/texlab/crates/bibutils_sys/src/type.c87
-rw-r--r--support/texlab/crates/bibutils_sys/src/type.h27
-rw-r--r--support/texlab/crates/bibutils_sys/src/unicode.c333
-rw-r--r--support/texlab/crates/bibutils_sys/src/unicode.h22
-rw-r--r--support/texlab/crates/bibutils_sys/src/url.c316
-rw-r--r--support/texlab/crates/bibutils_sys/src/url.h30
-rw-r--r--support/texlab/crates/bibutils_sys/src/utf8.c188
-rw-r--r--support/texlab/crates/bibutils_sys/src/utf8.h22
-rw-r--r--support/texlab/crates/bibutils_sys/src/vplist.c387
-rw-r--r--support/texlab/crates/bibutils_sys/src/vplist.h86
-rw-r--r--support/texlab/crates/bibutils_sys/src/wordin.c322
-rw-r--r--support/texlab/crates/bibutils_sys/src/wordout.c693
-rw-r--r--support/texlab/crates/bibutils_sys/src/wrapper.h3
-rw-r--r--support/texlab/crates/bibutils_sys/src/xml.c420
-rw-r--r--support/texlab/crates/bibutils_sys/src/xml.h43
-rw-r--r--support/texlab/crates/bibutils_sys/src/xml_encoding.c78
-rw-r--r--support/texlab/crates/bibutils_sys/src/xml_encoding.h14
102 files changed, 114650 insertions, 0 deletions
diff --git a/support/texlab/crates/bibutils_sys/src/Copying b/support/texlab/crates/bibutils_sys/src/Copying
new file mode 100644
index 0000000000..7a1fb3f001
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/Copying
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/support/texlab/crates/bibutils_sys/src/adsout.c b/support/texlab/crates/bibutils_sys/src/adsout.c
new file mode 100644
index 0000000000..dbb6381dda
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/adsout.c
@@ -0,0 +1,679 @@
+/*
+ * adsout.c
+ *
+ * Copyright (c) Richard Mathar 2007-2019
+ * Copyright (c) Chris Putnam 2007-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <string.h>
+#include <ctype.h>
+#include "utf8.h"
+#include "str.h"
+#include "strsearch.h"
+#include "fields.h"
+#include "generic.h"
+#include "name.h"
+#include "title.h"
+#include "type.h"
+#include "url.h"
+#include "bibformats.h"
+#include "msvc_fix.h"
+
+/*****************************************************
+ PUBLIC: int adsout_initparams()
+*****************************************************/
+
+static int adsout_write( fields *in, FILE *fp, param *p, unsigned long refnum );
+static int adsout_assemble( fields *in, fields *out, param *pm, unsigned long refnum );
+
+int
+adsout_initparams( param *pm, const char *progname )
+{
+ pm->writeformat = BIBL_ADSABSOUT;
+ pm->format_opts = 0;
+ pm->charsetout = BIBL_CHARSET_DEFAULT;
+ pm->charsetout_src = BIBL_SRC_DEFAULT;
+ pm->latexout = 0;
+ pm->utf8out = BIBL_CHARSET_UTF8_DEFAULT;
+ pm->utf8bom = BIBL_CHARSET_BOM_DEFAULT;
+ pm->xmlout = BIBL_XMLOUT_FALSE;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->singlerefperfile = 0;
+
+ if ( pm->charsetout == BIBL_CHARSET_UNICODE ) {
+ pm->utf8out = pm->utf8bom = 1;
+ }
+
+ pm->headerf = generic_writeheader;
+ pm->footerf = NULL;
+ pm->assemblef = adsout_assemble;
+ pm->writef = adsout_write;
+
+ if ( !pm->progname ) {
+ if ( !progname ) pm->progname=NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int adsout_assemble()
+*****************************************************/
+
+enum {
+ TYPE_UNKNOWN = 0,
+ TYPE_GENERIC,
+ TYPE_ARTICLE,
+ TYPE_MAGARTICLE,
+ TYPE_BOOK,
+ TYPE_INBOOK,
+ TYPE_INPROCEEDINGS,
+ TYPE_HEARING,
+ TYPE_BILL,
+ TYPE_CASE,
+ TYPE_NEWSPAPER,
+ TYPE_COMMUNICATION,
+ TYPE_BROADCAST,
+ TYPE_MANUSCRIPT,
+ TYPE_REPORT,
+ TYPE_THESIS,
+ TYPE_MASTERSTHESIS,
+ TYPE_PHDTHESIS,
+ TYPE_DIPLOMATHESIS,
+ TYPE_DOCTORALTHESIS,
+ TYPE_HABILITATIONTHESIS,
+ TYPE_LICENTIATETHESIS,
+ TYPE_PATENT,
+ TYPE_PROGRAM
+};
+
+static int
+get_type( fields *in )
+{
+ match_type genre_matches[] = {
+ { "academic journal", TYPE_ARTICLE, LEVEL_ANY },
+ { "communication", TYPE_COMMUNICATION, LEVEL_ANY },
+ { "conference publication", TYPE_INPROCEEDINGS, LEVEL_ANY },
+ { "Diploma thesis", TYPE_DIPLOMATHESIS, LEVEL_ANY },
+ { "Doctoral thesis", TYPE_DOCTORALTHESIS, LEVEL_ANY },
+ { "Habilitation thesis", TYPE_HABILITATIONTHESIS, LEVEL_ANY },
+ { "hearing", TYPE_HEARING, LEVEL_ANY },
+ { "legal case and case notes", TYPE_CASE, LEVEL_ANY },
+ { "legislation", TYPE_BILL, LEVEL_ANY },
+ { "Licentiate thesis", TYPE_LICENTIATETHESIS, LEVEL_ANY },
+ { "magazine", TYPE_MAGARTICLE, LEVEL_ANY },
+ { "manuscript", TYPE_MANUSCRIPT, LEVEL_ANY },
+ { "Masters thesis", TYPE_MASTERSTHESIS, LEVEL_ANY },
+ { "newspaper", TYPE_NEWSPAPER, LEVEL_ANY },
+ { "patent", TYPE_PATENT, LEVEL_ANY },
+ { "Ph.D. thesis", TYPE_PHDTHESIS, LEVEL_ANY },
+ { "report", TYPE_REPORT, LEVEL_ANY },
+ { "technical report", TYPE_REPORT, LEVEL_ANY },
+ { "unpublished", TYPE_MANUSCRIPT, LEVEL_ANY },
+ { "periodical", TYPE_ARTICLE, LEVEL_ANY },
+ { "thesis", TYPE_THESIS, LEVEL_ANY },
+ { "book", TYPE_BOOK, LEVEL_MAIN },
+ { "book", TYPE_INBOOK, LEVEL_ANY },
+ { "collection", TYPE_BOOK, LEVEL_MAIN },
+ { "collection", TYPE_INBOOK, LEVEL_ANY },
+ };
+ int ngenre_matches = sizeof( genre_matches ) / sizeof( genre_matches[0] );
+
+ match_type resource_matches[] = {
+ { "moving image", TYPE_BROADCAST, LEVEL_ANY },
+ { "software, multimedia", TYPE_PROGRAM, LEVEL_ANY },
+ };
+ int nresource_matches = sizeof( resource_matches ) /sizeof( resource_matches[0] );
+
+ match_type issuance_matches[] = {
+ { "monographic", TYPE_BOOK, LEVEL_MAIN },
+ { "monographic", TYPE_INBOOK, LEVEL_ANY },
+ };
+ int nissuance_matches = sizeof( issuance_matches ) /sizeof( issuance_matches[0] );
+
+ int type;
+
+ type = type_from_mods_hints( in, TYPE_FROM_GENRE, genre_matches, ngenre_matches, TYPE_UNKNOWN );
+ if ( type==TYPE_UNKNOWN ) type = type_from_mods_hints( in, TYPE_FROM_RESOURCE, resource_matches, nresource_matches, TYPE_UNKNOWN );
+ if ( type==TYPE_UNKNOWN ) type = type_from_mods_hints( in, TYPE_FROM_ISSUANCE, issuance_matches, nissuance_matches, TYPE_UNKNOWN );
+ if ( type==TYPE_UNKNOWN ) type = TYPE_GENERIC;
+
+ return type;
+}
+
+static int
+append_title( fields *in, char *ttl, char *sub, char *adstag, int level, fields *out, int *status )
+{
+ str fulltitle, *title, *subtitle, *vol, *iss, *sn, *en, *ar;
+ int fstatus, output = 0;
+
+ str_init( &fulltitle );
+
+ title = fields_findv( in, level, FIELDS_STRP, ttl );
+ subtitle = fields_findv( in, level, FIELDS_STRP, sub );
+
+ if ( str_has_value( title ) ) {
+
+ output = 1;
+
+ title_combine( &fulltitle, title, subtitle );
+
+ vol = fields_findv( in, LEVEL_ANY, FIELDS_STRP, "VOLUME" );
+ if ( str_has_value( vol ) ) {
+ str_strcatc( &fulltitle, ", vol. " );
+ str_strcat( &fulltitle, vol );
+ }
+
+ iss = fields_findv_firstof( in, LEVEL_ANY, FIELDS_STRP, "ISSUE",
+ "NUMBER", NULL );
+ if ( str_has_value( iss ) ) {
+ str_strcatc( &fulltitle, ", no. " );
+ str_strcat( &fulltitle, iss );
+ }
+
+ sn = fields_findv( in, LEVEL_ANY, FIELDS_STRP, "PAGES:START" );
+ en = fields_findv( in, LEVEL_ANY, FIELDS_STRP, "PAGES:STOP" );
+ ar = fields_findv( in, LEVEL_ANY, FIELDS_STRP, "ARTICLENUMBER" );
+
+ if ( str_has_value( sn ) ) {
+ if ( str_has_value( en ) ) {
+ str_strcatc( &fulltitle, ", pp. " );
+ } else {
+ str_strcatc( &fulltitle, ", p. " );
+ }
+ str_strcat( &fulltitle, sn );
+ } else if ( str_has_value( ar ) ) {
+ str_strcatc( &fulltitle, ", p. " );
+ str_strcat( &fulltitle, ar );
+ }
+ if ( str_has_value( en ) ) {
+ str_addchar( &fulltitle, '-' );
+ str_strcat( &fulltitle, en );
+ }
+
+ if ( str_memerr( &fulltitle ) ) {
+ *status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ fstatus = fields_add( out, adstag, str_cstr( &fulltitle ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+
+ }
+
+out:
+ str_free( &fulltitle );
+
+ return output;
+}
+
+static void
+append_titles( fields *in, int type, fields *out, int *status )
+{
+ int added;
+ if ( type==TYPE_ARTICLE || type==TYPE_MAGARTICLE ) {
+ added = append_title( in, "TITLE", "SUBTITLE", "%J", LEVEL_HOST, out, status );
+ if ( added==0 )
+ (void) append_title( in, "SHORTTITLE", "SHORTSUBTITLE", "%J", LEVEL_HOST, out, status );
+ }
+}
+
+static void
+append_people( fields *in, char *tag1, char *tag2, char *tag3, char *adstag, int level, fields *out, int *status )
+{
+ str oneperson, allpeople;
+ vplist_index i;
+ int fstatus;
+ vplist a;
+
+ str_init( &oneperson );
+ str_init( &allpeople );
+ vplist_init( &a );
+
+ fields_findv_eachof( in, level, FIELDS_CHRP, &a, tag1, tag2, tag3, NULL );
+ if ( a.n ) {
+ for ( i=0; i<a.n; ++i ) {
+ if ( i!=0 ) str_strcatc( &allpeople, "; " );
+ name_build_withcomma( &oneperson, (char *) vplist_get( &a, i) );
+ str_strcat( &allpeople, &oneperson );
+ }
+ fstatus = fields_add( out, adstag, str_cstr( &allpeople ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+ vplist_free( &a );
+ str_free( &oneperson );
+ str_free( &allpeople );
+}
+
+static void
+append_pages( fields *in, fields *out, int *status )
+{
+ str *sn, *en, *ar;
+ int fstatus;
+
+ sn = fields_findv( in, LEVEL_ANY, FIELDS_STRP, "PAGES:START" );
+ en = fields_findv( in, LEVEL_ANY, FIELDS_STRP, "PAGES:STOP" );
+ ar = fields_findv( in, LEVEL_ANY, FIELDS_STRP, "ARTICLENUMBER" );
+
+ if ( str_has_value( sn ) ) {
+ fstatus = fields_add( out, "%P", str_cstr( sn ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+ }
+
+ else if ( str_has_value( ar ) ) {
+ fstatus = fields_add( out, "%P", str_cstr( ar ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+ }
+
+ if ( str_has_value( en ) ) {
+ fstatus = fields_add( out, "%L", str_cstr( en ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+ }
+}
+
+static int
+mont2mont( const char *m )
+{
+ static char *monNames[]= { "jan", "feb", "mar", "apr", "may",
+ "jun", "jul", "aug", "sep", "oct", "nov", "dec" };
+ int i;
+ if ( isdigit( (unsigned char)m[0] ) ) return atoi( m );
+ else {
+ for ( i=0; i<12; i++ ) {
+ if ( !strncasecmp( m, monNames[i], 3 ) ) return i+1;
+ }
+ }
+ return 0;
+}
+
+static int
+get_month( fields *in, int level )
+{
+ str *month;
+
+ month = fields_findv_firstof( in, level, FIELDS_STRP, "DATE:MONTH", "PARTDATE:MONTH", NULL );
+ if ( str_has_value( month ) ) return mont2mont( str_cstr( month ) );
+ else return 0;
+}
+
+static void
+append_date( fields *in, char *adstag, int level, fields *out, int *status )
+{
+ int month, fstatus;
+ char outstr[1000];
+ str *year;
+
+ year = fields_findv_firstof( in, level, FIELDS_STRP, "DATE:YEAR", "PARTDATE:YEAR", NULL );
+ if ( str_has_value( year ) ) {
+ month = get_month( in, level );
+ sprintf( outstr, "%02d/%s", month, str_cstr( year ) );
+ fstatus = fields_add( out, adstag, outstr, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+}
+
+#include "adsout_journals.c"
+
+static void
+output_4digit_value( char *pos, long long n )
+{
+ char buf[6];
+ n = n % 10000; /* truncate to 0->9999, will fit in buf[6] */
+#ifdef WIN32
+ sprintf( buf, "%I64d", n );
+#else
+ sprintf( buf, "%lld", n );
+#endif
+ if ( n < 10 ) strncpy( pos+3, buf, 1 );
+ else if ( n < 100 ) strncpy( pos+2, buf, 2 );
+ else if ( n < 1000 ) strncpy( pos+1, buf, 3 );
+ else strncpy( pos, buf, 4 );
+}
+
+static char
+initial_ascii( const char *name )
+{
+ int b1, b2;
+
+ if ( isascii( name[0] ) )
+ return name[0];
+
+ b1 = name[0]+256;
+ b2 = name[1]+256;
+
+ switch( b1 ) {
+
+ case 0xc3:
+ if ( b2 >= 0x80 && b2 <= 0x86 ) return 'A';
+ else if ( b2 == 0x87 ) return 'C';
+ else if ( b2 >= 0x88 && b2 <= 0x8b ) return 'E';
+ else if ( b2 >= 0x8c && b2 <= 0x8f ) return 'I';
+ else if ( b2 == 0x90 ) return 'D';
+ else if ( b2 == 0x91 ) return 'N';
+ else if ( b2 >= 0x92 && b2 <= 0x98 ) return 'O';
+ else if ( b2 >= 0x99 && b2 <= 0x9c ) return 'U';
+ else if ( b2 == 0x9d ) return 'Y';
+ else if ( b2 == 0x9f ) return 'S';
+ else if ( b2 >= 0xa0 && b2 <= 0xa6 ) return 'A';
+ else if ( b2 == 0xa7 ) return 'C';
+ else if ( b2 >= 0xa8 && b2 <= 0xab ) return 'E';
+ else if ( b2 >= 0xac && b2 <= 0xaf ) return 'I';
+ else if ( b2 == 0xb0 ) return 'D';
+ else if ( b2 == 0xb1 ) return 'N';
+ else if ( b2 >= 0xb2 && b2 <= 0xb8 ) return 'O';
+ else if ( b2 >= 0xb9 && b2 <= 0xbc ) return 'U';
+ else if ( b2 >= 0xbd && b2 <= 0xbf ) return 'Y';
+ break;
+
+ case 0xc4:
+ if ( b2 >= 0x80 && b2 <= 0x85 ) return 'A';
+ else if ( b2 >= 0x86 && b2 <= 0x8d ) return 'C';
+ else if ( b2 >= 0x8e || b2 <= 0x91 ) return 'D';
+ else if ( b2 >= 0x92 && b2 <= 0x9b ) return 'E';
+ else if ( b2 >= 0x9c && b2 <= 0xa3 ) return 'G';
+ else if ( b2 >= 0xa4 && b2 <= 0xa7 ) return 'H';
+ else if ( b2 >= 0xa8 && b2 <= 0xb3 ) return 'I';
+ else if ( b2 >= 0xb4 && b2 <= 0xb5 ) return 'J';
+ else if ( b2 >= 0xb6 && b2 <= 0xb8 ) return 'K';
+ else if ( b2 >= 0xb9 && b2 <= 0xbf ) return 'L';
+ break;
+
+ case 0xc5:
+ if ( b2 >= 0x80 && b2 <= 0x82 ) return 'L';
+ else if ( b2 >= 0x83 && b2 <= 0x8b ) return 'N';
+ else if ( b2 >= 0x8c || b2 <= 0x93 ) return 'O';
+ else if ( b2 >= 0x94 && b2 <= 0x99 ) return 'R';
+ else if ( b2 >= 0x9a && b2 <= 0xa1 ) return 'S';
+ else if ( b2 >= 0xa2 && b2 <= 0xa7 ) return 'T';
+ else if ( b2 >= 0xa8 && b2 <= 0xb3 ) return 'U';
+ else if ( b2 >= 0xb4 && b2 <= 0xb5 ) return 'W';
+ else if ( b2 >= 0xb6 && b2 <= 0xb8 ) return 'Y';
+ else if ( b2 >= 0xb9 && b2 <= 0xbf ) return 'Z';
+ break;
+
+ case 0xc6:
+ if ( b2 >= 0x80 && b2 <= 0x85 ) return 'B';
+ else if ( b2 >= 0x86 && b2 <= 0x88 ) return 'C';
+ else if ( b2 >= 0x89 || b2 <= 0x8d ) return 'D';
+ else if ( b2 >= 0x8e && b2 <= 0x90 ) return 'E';
+ else if ( b2 >= 0x91 && b2 <= 0x92 ) return 'F';
+ else if ( b2 >= 0x93 && b2 <= 0x94 ) return 'G';
+ else if ( b2 == 0x95 ) return 'H';
+ else if ( b2 >= 0x96 && b2 <= 0x97 ) return 'I';
+ else if ( b2 >= 0x98 && b2 <= 0x99 ) return 'K';
+ else if ( b2 >= 0xba && b2 <= 0x9b ) return 'L';
+ else if ( b2 == 0xbc ) return 'M';
+ else if ( b2 >= 0x9d && b2 <= 0x9e ) return 'N';
+ else if ( b2 >= 0x9f && b2 <= 0xa3 ) return 'O';
+ else if ( b2 >= 0xa4 && b2 <= 0xa5 ) return 'P';
+ else if ( b2 == 0xa6 ) return 'R';
+ else if ( b2 >= 0xa7 && b2 <= 0xaa ) return 'S';
+ else if ( b2 >= 0xab && b2 <= 0xae ) return 'T';
+ else if ( b2 >= 0xaf && b2 <= 0xb1 ) return 'U';
+ else if ( b2 == 0xb2 ) return 'V';
+ else if ( b2 >= 0xb3 && b2 <= 0xb4 ) return 'Y';
+ else if ( b2 >= 0xb5 && b2 <= 0xbe ) return 'Z';
+ break;
+
+ }
+
+ return '.';
+}
+
+static char
+get_firstinitial( fields *in )
+{
+ char *name;
+ int n;
+
+ n = fields_find( in, "AUTHOR", LEVEL_MAIN );
+ if ( n==FIELDS_NOTFOUND ) n = fields_find( in, "AUTHOR", LEVEL_ANY );
+
+ if ( n!=FIELDS_NOTFOUND ) {
+ name = fields_value( in, n, FIELDS_CHRP );
+ return initial_ascii( name );
+ } else return '\0';
+}
+
+static int
+get_journalabbr( fields *in )
+{
+ char *jrnl;
+ int n, j;
+
+ n = fields_find( in, "TITLE", LEVEL_HOST );
+ if ( n!=FIELDS_NOTFOUND ) {
+ jrnl = fields_value( in, n, FIELDS_CHRP );
+ for ( j=0; j<njournals; j++ ) {
+ if ( !strcasecmp( jrnl, journals[j]+6 ) )
+ return j;
+ }
+ }
+ return -1;
+}
+
+static void
+append_Rtag( fields *in, char *adstag, int type, fields *out, int *status )
+{
+ char outstr[20], ch;
+ int n, i, fstatus;
+ long long page;
+
+ strcpy( outstr, "..................." );
+
+ /** YYYY */
+ n = fields_find( in, "DATE:YEAR", LEVEL_ANY );
+ if ( n==FIELDS_NOTFOUND ) n = fields_find( in, "PARTDATE:YEAR", LEVEL_ANY );
+ if ( n!=FIELDS_NOTFOUND ) output_4digit_value( outstr, atoi( fields_value( in, n, FIELDS_CHRP ) ) );
+
+ /** JJJJ */
+ n = get_journalabbr( in );
+ if ( n!=-1 ) {
+ i = 0;
+ while ( i<5 && journals[n][i]!=' ' && journals[n][i]!='\t' ) {
+ outstr[4+i] = journals[n][i];
+ i++;
+ }
+ }
+
+ /** VVVV */
+ n = fields_find( in, "VOLUME", LEVEL_ANY );
+ if ( n!=FIELDS_NOTFOUND ) output_4digit_value( outstr+9, atoi( fields_value( in, n, FIELDS_CHRP ) ) );
+
+ /** MPPPP */
+ n = fields_find( in, "PAGES:START", LEVEL_ANY );
+ if ( n==FIELDS_NOTFOUND ) n = fields_find( in, "ARTICLENUMBER", LEVEL_ANY );
+ if ( n!=FIELDS_NOTFOUND ) {
+ page = atoll( fields_value( in, n, FIELDS_CHRP ) );
+ output_4digit_value( outstr+14, page );
+ if ( page>=10000 ) {
+ ch = 'a' + (page/10000);
+ outstr[13] = ch;
+ }
+ }
+
+ /** A */
+ ch = toupper( (unsigned char) get_firstinitial( in ) );
+ if ( ch!='\0' ) outstr[18] = ch;
+
+ fstatus = fields_add( out, adstag, outstr, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+}
+
+static void
+append_easyall( fields *in, char *tag, char *adstag, int level, fields *out, char *prefix, int *status )
+{
+ vplist_index i;
+ int fstatus;
+ str output;
+ char *val;
+ vplist a;
+
+ vplist_init( &a );
+ if ( prefix ) str_init( &output );
+
+ fields_findv_each( in, level, FIELDS_CHRP, &a, tag );
+
+ for ( i=0; i<a.n; ++i ) {
+ val = ( char * ) vplist_get( &a, i );
+ if ( prefix ) {
+ str_strcpyc( &output, prefix );
+ str_strcatc( &output, val );
+ val = str_cstr( &output );
+ }
+ fstatus = fields_add( out, adstag, val, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+out:
+ if ( prefix ) str_free( &output );
+ vplist_free( &a );
+}
+
+static void
+append_easy( fields *in, char *tag, char *adstag, int level, fields *out, int *status )
+{
+ char *value;
+ int fstatus;
+
+ value = fields_findv( in, level, FIELDS_CHRP, tag );
+ if ( value && value[0]!='\0' ) {
+ fstatus = fields_add( out, adstag, value, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+}
+
+static void
+append_keys( fields *in, char *tag, char *adstag, int level, fields *out, int *status )
+{
+ vplist_index i;
+ str allkeys;
+ int fstatus;
+ vplist a;
+
+ str_init( &allkeys );
+ vplist_init( &a );
+
+ fields_findv_each( in, level, FIELDS_CHRP, &a, tag );
+
+ if ( a.n ) {
+ for ( i=0; i<a.n; ++i ) {
+ if ( i>0 ) str_strcatc( &allkeys, ", " );
+ str_strcatc( &allkeys, (char *) vplist_get( &a, i ) );
+ }
+ fstatus = fields_add( out, adstag, str_cstr( &allkeys ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+ str_free( &allkeys );
+ vplist_free( &a );
+}
+
+static void
+append_urls( fields *in, fields *out, int *status )
+{
+ int lstatus;
+ slist types;
+
+ /* skip DOI as we'll add that separately */
+ lstatus = slist_init_valuesc( &types, "URL", "PMID", "PMC", "ARXIV", "JSTOR", "MRNUMBER", "FILEATTACH", "FIGATTACH", NULL );
+ if ( lstatus!=SLIST_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+
+ *status = urls_merge_and_add( in, LEVEL_ANY, out, "%U", LEVEL_MAIN, &types );
+
+ slist_free( &types );
+}
+
+static void
+append_trailer( fields *out, int *status )
+{
+ int fstatus;
+
+ fstatus = fields_add( out, "%W", "PHY", LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+
+ fstatus = fields_add( out, "%G", "AUTHOR", LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+}
+
+static int
+adsout_assemble( fields *in, fields *out, param *pm, unsigned long refnum )
+{
+ int type, status = BIBL_OK;
+
+ fields_clearused( in );
+ type = get_type( in );
+
+ append_Rtag ( in, "%R", type, out, &status );
+ append_people ( in, "AUTHOR", "AUTHOR:ASIS", "AUTHOR:CORP", "%A", LEVEL_MAIN, out, &status );
+ append_people ( in, "EDITOR", "EDITOR:ASIS", "EDITOR:CORP", "%E", LEVEL_ANY, out, &status );
+ append_easy ( in, "TITLE", "%T", LEVEL_ANY, out, &status );
+ append_titles ( in, type, out, &status );
+ append_date ( in, "%D", LEVEL_ANY, out, &status );
+ append_easy ( in, "VOLUME", "%V", LEVEL_ANY, out, &status );
+ append_easy ( in, "ISSUE", "%N", LEVEL_ANY, out, &status );
+ append_easy ( in, "NUMBER", "%N", LEVEL_ANY, out, &status );
+ append_easy ( in, "LANGUAGE", "%M", LEVEL_ANY, out, &status );
+ append_easyall( in, "NOTES", "%X", LEVEL_ANY, out, NULL, &status );
+ append_easy ( in, "ABSTRACT", "%B", LEVEL_ANY, out, &status );
+ append_keys ( in, "KEYWORD", "%K", LEVEL_ANY, out, &status );
+ append_urls ( in, out, &status );
+ append_pages ( in, out, &status );
+ append_easyall( in, "DOI", "%Y", LEVEL_ANY, out, "DOI:", &status );
+ append_trailer( out, &status );
+
+ return status;
+}
+
+/*****************************************************
+ PUBLIC: int adsout_write()
+*****************************************************/
+
+static int
+adsout_write( fields *out, FILE *fp, param *p, unsigned long refnum )
+{
+ const char *tag, *value;
+ int i;
+
+ for ( i=0; i<out->n; ++i ) {
+ tag = fields_tag( out, i, FIELDS_CHRP );
+ value = fields_value( out, i, FIELDS_CHRP );
+ fprintf( fp, "%s %s\n", tag, value );
+ }
+
+ fprintf( fp, "\n" );
+ fflush( fp );
+ return BIBL_OK;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/adsout_journals.c b/support/texlab/crates/bibutils_sys/src/adsout_journals.c
new file mode 100644
index 0000000000..4d2eafb68e
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/adsout_journals.c
@@ -0,0 +1,4510 @@
+/* http://adsabs.harvard.edu/abs_doc/journals1.html
+ * download URL source then parse with
+ * fgrep setfields journals1.html | awk -F ';' '{printf "%s\n",$2}'
+ * | cut -c 7-12,24- | sed 's/"//g' | awk '{printf "\"%s\",\n",$0}'
+ * | sort -k 2
+ *
+ */
+static const char *journals[] = {
+"TDR.. 3D Research",
+"AASHS AAS Hist. Ser.",
+"AASPB AAS Photo Bulletin",
+"AAN.. AAVSO Alert Notice",
+"AAVSC AAVSO Circular",
+"AAVSN AAVSO Newsletter",
+"AAVSB AAVSO Solar Bulletin",
+"AbaOB Abastumanskaia Astrofizicheskaia Observatoriia Byulleten",
+"AbbOO Abbadia Observatory Observations",
+"AADDR Abhandlungen Akad. Wiss. DDR",
+"AAGot Abhandlungen Akad. Wiss. Göttingen",
+"ABWG. Abh. Braunschweigische Wissenschaftliche Ges.",
+"AbhP. Abh. der Preuß. Akademie der Wissenschaften Jahrg",
+"AbhKP Abh. Konigl. Preuss. Akad. Wissenschaften Jahre 1906,92, Berlin,1907",
+"AbhBr Abh. naturwiss. Verein Bremen",
+"AbApA Abstract and Applied Analysis",
+"ASFAS Academia Scientiarum Fennica Annales Series Physica",
+"AOIJ. Academic Open Internet Journal",
+"CR2.. Academie des Sciences Comptes Rendus Serie Mecanique Physique Chimie Sciences de la Terre et de l Univers",
+"CRAS. Academie des Sciences Paris Comptes Rendus",
+"CRASB Academie des Sciences Paris Comptes Rendus Serie B Sciences Physiques",
+"CRASG Academie des Sciences Paris Comptes Rendus Serie Generale La Vie des Sciences",
+"CRASP Academie des Sciences Paris Comptes Rendus Serie Physique Astrophysique",
+"CRASM Academie des Sciences Paris Comptes Rendus Serie Sciences Mathematiques",
+"CRASA Academie des Sciences Paris Comptes Rendus Vie Academique Semester Supplement",
+"MeARB Academie Royale de Belgique Classe des Sciences Memoires",
+"ASSAB Academie Serbe des Sciences et des Arts Bulletin Classe des Sciences Techniques",
+"ASLLR Accademia di Scienze e Lettere Istituto Lombardo Rendiconti Serie della Classe di Scienze Matematiche e Naturali Sezione Scienze Matematiche Fisiche Chimiche e Geologiche",
+"ANLAM Accademia Nazionale dei Lincei Atti Rendiconti Classe di Matematica e Applicazioni",
+"ANLAF Accademia Nazionale dei Lincei Atti Rendiconti Classe di Scienze Fisiche e Naturali",
+"ANLAR Accademia Nazionale dei Lincei Atti Rendiconti Classe di Scienze Fisiche Matematiche e Naturali",
+"AcChR Accounts Chem. Res.",
+"AcBu. Acoust. Bull.",
+"AIH.. Acoustical Imaging and Holography",
+"APhy. Acoustical Physics",
+"ASAJ. Acoustical Society of America Journal",
+"AcouL Acoustics Letters",
+"AcAcu Acta Acustica",
+"AcAer Acta Aerodynamica Sinica",
+"AcAAS Acta Aeronautica et Astronautica Sinica",
+"AcAM. Acta Applicandae Mathematicae",
+"AcAri Acta Arithmetica",
+"AcArm Acta Armamentarii",
+"AcAau Acta Astronautica",
+"AcA.. Acta Astronomica",
+"AcASn Acta Astronomica Sinica",
+"AcAS. Acta Astronomica Supplementa",
+"AcApS Acta Astrophysica Sinica",
+"AcAuS Acta Automatica Sinica",
+"AcBAS Acta Biochimica and Biophysica Academiae Scientarium Hungarica",
+"AcBBH Acta Biochimica et Biophysica Hungarica",
+"AcBBS Acta Biochimica et Biophysica Sinica",
+"AcBio Acta Biotheoretica",
+"AcCS. Acta Chemica Scandinavica Series A",
+"ACIP. Acta Cienc. Indica Phys.",
+"AcC.. Acta Cosmologica",
+"AcCrA Acta Crystallographica Section A",
+"AcCrB Acta Crystallographica Section B",
+"AcCrC Acta Crystallographica Section C",
+"AcCrD Acta Crystallographica Section D",
+"AcElc Acta Electrochimica",
+"AcEle Acta Electronica",
+"AcElS Acta Electronica Sinica",
+"AcESn Acta Electron. Sinica",
+"AcFre Acta Frequenza",
+"AcGG. Acta Geod. Geophys.",
+"AcGeo Acta Geophysica",
+"AcGeP Acta Geophysica Polonica",
+"AcGSn Acta Geophys. Sinica",
+"AcHA. Acta Historica Astronomiae",
+"AcMCS Acta Materiae Compositae Sinica",
+"AcMat Acta Materialia",
+"AcMa. Acta Mathematica",
+"AcMaH Acta Mathematica Hungarica",
+"AcMaS Acta Mathematica Sinica",
+"AcMSw Acta Mathematica Sweden",
+"AcMec Acta Mechanica",
+"AcMSn Acta Mechanica Sinica",
+"AcMSS Acta Mechanica Solida Sinica",
+"AcMet Acta Metallurgica",
+"AcMMS Acta Metallurgica et Materialia Supplement",
+"AcMeS Acta Meteorologica Sinica",
+"AcNum Acta Numerica",
+"AcOSi Acta Oceanica Sinica",
+"AcOdS Acta Odontologica Scandinavica",
+"AcO.. Acta Oecologica",
+"AcOpS Acta Optica Sinica",
+"AcOrS Acta Orthopaedica Scandinavica",
+"AcPSi Acta Photonica Sinica",
+"AcPhy Acta Physica",
+"APASH Acta Physica Academiae Scientiarum Hungaricae",
+"AcPhA Acta Physica Austriaca",
+"AcPAS Acta Physica Austriaca Supplement",
+"AcPhC Acta Physica et Chemica",
+"AcPhH Acta Physica Hungarica",
+"APHHI Acta Physica Hungarica Heavy Ion Physics",
+"APHQE Acta Physica Hungarica Quantum Electronics",
+"AcPP. Acta Physica Polonica",
+"AcPPA Acta Physica Polonica A",
+"AcPPB Acta Physica Polonica B",
+"AcPSn Acta Physica Sinica",
+"AcPSl Acta Physica Slovaca",
+"AcPhS Acta Physiologica Scandinavica",
+"AcPol Acta Polytechnica",
+"AcPSc Acta Polytechnica Scandinavica Applied Physics Series",
+"AcPSP Acta Polytechnica Scandinavica Physics",
+"AcSSn Acta Seismologica Sinica",
+"ASSF. Acta Societatis Scientarum Fennicae",
+"ASSFA Acta Societatis Scientarum Fennicae Series A",
+"AcTec Acta Technica",
+"AcUni Acta Universitaria",
+"AcMPh Acta Universitatis Caroliae. Mathematica et Physica",
+"AcMPS Acta Universitatis Caroliae. Mathematica et Physica Supplement",
+"APEC. Active and Passive Electronic Components",
+"Acu.. Acustica",
+"AdBeh Adaptive Behaviour",
+"AdAs. Ad Astra",
+"ARPM. Adgeziia Rasplavov i Paika Materialov",
+"Adsor Adsorption",
+"AdCM. Advanced Ceramic Materials",
+"AdCoL Advanced Composites Letters",
+"AMP.. Advanced Materials and Processes",
+"APM.. Advanced Performance Materials",
+"ASL.. Advanced Science Letters",
+"AdSAC Advanced Series in Astrophysics and Cosmology",
+"AdSMP Advanced Series in Mathematical Physics",
+"ASDHE Advanced Series on Directions in High Energy Physics",
+"AdTPh Advanced Texts in Physics",
+"AdAeS Advances in Aeronautical Sciences",
+"AdApM Advances in Applied Mathematics",
+"AdAst Advances in Astronomy",
+"AASP. Advances in Astronomy and Space Physics",
+"AdAtS Advances in Atmospheric Sciences",
+"AdAMP Advances in Atomic and Molecular Physics",
+"AAMOP Advances in Atomic Molecular and Optical Physics",
+"AdBMP Advances in Biological and Medical Physics",
+"AdBio Advances in Biophysics",
+"AdCP. Advances in Cardiovascular Physics",
+"AdChP Advances in Chemical Physics",
+"AdCIS Advances in Colloid and Interface Science",
+"AdCoM Advances in Computational Mathematics",
+"AdCMP Advances in Condensed Matter Physics",
+"AdEPS Advances in Earth and Planetary Sciences",
+"AdEOA Advances in Earth Oriented Applications and Space Technology",
+"AEEP. Advances in Electronics and Electron Physics",
+"AEEPS Advances in Electronics and Electron Physics Supplement",
+"AdExG Advances in Exploration Geophysics",
+"AdGDP Advances in Geophysical Data Processing",
+"AdGR. Advances in Geophysical Research",
+"AdGeo Advances in Geophysics",
+"AdGeS Advances in Geophysics Supplement",
+"AdG.. Advances in Geosciences",
+"AdHEP Advances in High Energy Physics",
+"ADIEP Advances in Imaging and Electron Physics",
+"AdMRe Advances in Magnetic Resonance",
+"AdMPC Advances in Materials Physics and Chemistry",
+"AdMS. Advances in Materials Science",
+"AdMSE Advances in Materials Science and Engineering",
+"AdMaP Advances in Mathematical Physics",
+"AdMat Advances in Mathematics",
+"AdMPS Advances in Mechanics and Physics of Surfaces",
+"AdMUM Advances in Mechanics Uspekhi Mekhaniki",
+"AdMet Advances in Meteorology",
+"AdNOp Advances in Nonlinear Optics",
+"AdNuP Advances in Nuclear Physics",
+"AdPhG Advances in Physical Geochemistry",
+"AdPhy Advances in Physics",
+"AdPlP Advances in Plasma Physics",
+"AdPPR Advances in Plasma Physics Research",
+"AdPoS Advances in Polymer Science",
+"AdQC. Advances in Quantum Chemistry",
+"AdRS. Advances in Radio Science",
+"AdSR. Advances in Science and Research",
+"AdSSP Advances in Solid State Physics",
+"AdSpR Advances in Space Research",
+"AdAnS Advances in the Astronautical Sciences",
+"AdTAM Advances in Theoretical and Applied Mechanics",
+"AdTMP Advances in Theoretical and Mathematical Physics",
+"AdThP Advances in Theoretical Physics",
+"AdWR. Advances in Water Resources",
+"AAMS. Adv. Appl. Mech. Suppl.",
+"ATTM. AEG Telefunken Technische Mitteilungen",
+"AeoRe Aeolian Research",
+"Aekv. Aerodinamika kanalov i ventiliatorov",
+"AeRaG Aerodinamika Razrezhennykh Gazov",
+"AerTe Aerojet Technology",
+"AeIBu Aerokosmicheski Izsledvaniia B lgariia",
+"AeJ.. Aeronautical Journal",
+"AeQ.. Aeronautical Quarterly",
+"AeSIJ Aeronautical Society India Journal",
+"AerST Aerosol Science Technology",
+"AeAm. Aerospace America",
+"AeCh. Aerospace China",
+"AeCM. Aerospace Composites and Materials",
+"AeDy. Aerospace Dynamics",
+"AeEn. Aerospace Engineering",
+"AeMat Aerospace Materials",
+"AeMed Aerospace Medicine",
+"ARBl. Aerospace Research in Bulgaria",
+"AeTJa Aerospace Technology Japan",
+"Aero. Aerospace UK",
+"AFGL. AFGL-TR-0208 Environemental Research papers",
+"AfrSk African Skies",
+"AGUFM AGU Fall Meeting Abstracts",
+"AGUSM AGU Spring Meeting Abstracts",
+"AIAAJ AIAA Journal",
+"AIASJ AIAA Student Journal",
+"AIChE AIChE Journal",
+"EDAM. AI EDAM",
+"AIHAJ AIHA Journal",
+"AIPA. AIP Advances",
+"AirSp Air and Space",
+"AirE. Aircraft Engineering",
+"AirCo Air et Cosmos",
+"AFMa. Air Force Magazine",
+"AiInt Air International",
+"APCAJ Air Pollution Control Association Journal",
+"AkAtP Akademia Athenon Praktika",
+"DoArm Akademiia Nauk Armianskoi SSR Doklady",
+"DoAze Akademiia Nauk Azerbaidzhanskoi SSR Doklady",
+"IzAze Akademiia Nauk Azerbaidzhanskoi SSR Izvestiia Seriia Fiziko Tekhnicheskikh i Matematicheskikh Nauk",
+"IFBel Akademiia Nauk Belorusskoi SSR Institut Fiziki Nauchnaia Sessiia Minsk Belorussian SSR Zhurnal Prikladnoi Spektroskopii",
+"DoBel Akademiia Nauk BSSR Doklady",
+"SoGru Akademiia Nauk Gruzii Soobshcheniia",
+"VeKaz Akademiia Nauk Kazakhskoi SSR Vestnik",
+"IzLat Akademiia Nauk Latviiskoi SSR Izvestiia Seriia Fizicheskikh i Tekhnicheskikh Nauk",
+"IzMol Akademiia Nauk Moldavskoi SSR Izvestiia Seriia Fiziko Tekhnicheskikh i Matematicheskikh Nauk",
+"DoSSR Akademiia Nauk SSSR Doklady",
+"FizAO Akademiia Nauk SSSR Fizika Atmosfery i Okeana",
+"InSSR Akademiia Nauk SSSR Investiia Mekhanika Zhidkosti i Gaza",
+"IzFZ. Akademiia Nauk SSSR, Izvestiia, Fizika Zemli",
+"IzSSR Akademiia Nauk SSSR Izvestiia Seriia Fizicheskaia",
+"MeSSR Akademiia Nauk SSSR Mekhanika Zhidkosti i Gaza",
+"FiMos Akademiia Nauk SSSR Otdelenie Obshchei Fiziki i Astronomii Nauchnaia Sessiia Moscow USSR Uspekhi Fizicheskikh Nauk",
+"IzSib Akademiia Nauk SSSR Sibirskoe Otdelenie Izvestiia",
+"SiSSR Akademiia Nauk SSSR Sibirskoe Otdelenie Izvestiia Seriia Tekhnicheskie Nauki",
+"KzSib Akademiia Nauk SSSR Sibirskoi Otdelenie Izvestiia Seriia Tekhnicheskikh Nauk",
+"VeSSR Akademiia Nauk SSSR Vestnik",
+"DoTad Akademiia Nauk Tadzhikskoi SSR Doklady",
+"FiSSR Akademiia Nauk Tadzhikskoi SSR Fiziko Tekhnicheskii Institut Dyushambe Tadzhik SSR Akademiia Nauk Tadzhikskoi SSR Doklady",
+"ABTad Akademiia Nauk Tadzhikskoi SSR Institut Astrofiziki Biulleten",
+"IzTur Akademiia Nauk Turkmenskoi SSR Izvestiia Seriia Fiziko Tekhnicheskikh Khimicheskikh i Geologicheskikh Nauk",
+"IzUkr Akademiia Nauk Ukrainian SSSR Izvestiia Seriia Fizicheskaia",
+"PrUkr Akademiia Nauk Ukrains koi RSR Dopovidi Matematika Prirodoznavstvo Tekhnichni Nauki",
+"FiUkr Akademiia Nauk Ukrain skoi RSR Dopovidi Seriia Fiziko Matematichni ta Tekhnichni Nauki",
+"DoUkr Akademiia Nauk Ukrains koi RSR Dopovidi Seriia Fiziko Matematichni ta Tekhnichni Nauki",
+"ViUkr Akademiia Nauk Ukrains koi RSR Visnik",
+"MGUkr Akademiia Nauk Ukrainskoi SSR Morskie Gidrofizicheskie Issledovaniia",
+"DoUzb Akademiia Nauk Uzbekskoi SSR Doklady",
+"IzUzb Akademiia Nauk Uzbekskoi SSR Izvestiia Seriia Fiziko Matematicheskikh Nauk",
+"VeNav Akademiia Navuk BSSR Vestsi Seryia Fizika Tekhnichnykh Navuk",
+"AkZh. Akusticheskii Zhurnal",
+"AkTek Akustika i Ul trazvukovaia Tekhnika",
+"AAIzN Alma Ata Izdatel Nauka",
+"ALMAN ALMA Newsletter",
+"AlFr. Alta Frequenza",
+"AFRE. Alta Frequenza Rivista di Elettronica",
+"Ambio Ambio",
+"AVSOA American Association of Variable Stars Observers Abstracts",
+"AVSOM American Association of Variable Stars Observers Monographs",
+"AVSOQ American Association of Variable Stars Observers Quarterly Reports",
+"AVSOR American Association of Variable Stars Observers Reports",
+"ACSB. American Ceramic Society Bulletin",
+"ACSC. American Ceramic Society Communications",
+"ACSJ. American Ceramic Society Journal",
+"AHSJ. American Helicopter Society Journal",
+"AmJC. American Journal of Cardiology",
+"AmJM. American Journal of Mathematics",
+"AmJPh American Journal of Physics",
+"AmJS. American Journal of Science",
+"AmJSA American Journal of Science and Arts",
+"AMSBu American Meteorological Society Bulletin",
+"AmMin American Mineralogist",
+"AmSci American Scientist",
+"ASME. American Society of Mechanical Engineers",
+"AnCoi Anais do Observatorio Astronomico da Universidade de Coimbra",
+"AnFis Anales de Fisica",
+"AICSP Analog Integrated Circuits and Signal Processing",
+"AnMP. Analysis and Mathematical Physics",
+"AnBio Analytical Biochemistry",
+"AnaCh Analytical Chemistry",
+"AnaIn Analytical Instrumentation",
+"BSSR. AN BSSR Institut Teplo i Massoobmena Vsesoiuznaia Konferentsiia Teplomassoobmenu Minsk Belorussian SSR Preprint",
+"AAONw Anglo-Australian Observatory Epping Newsletter",
+"AAOPr Anglo-Australian Observatory Epping Preprint",
+"ARIJ. An Interdisciplinary Journal of Physical and Engineering Sciences",
+"CSMPA Ankara Universite Faculte des Sciences Communications Serie Mathematiques Physique et Astronomie",
+"AASF. Ann. Acad. Sci. Fennicae",
+"AnStr Annalen der Kaiserlichen Universitats-Sternwarte in Strassburg",
+"AnWie Annalen der K.K. Sternwarte Wien",
+"AnSWi Annalen der K.K. Universitaets-Sternwarte in Wien (Waehring)",
+"AnMun Annalen der Koeniglichen Sternwarte bei Muenchen",
+"AnP.. Annalen der Physik",
+"AnWiD Annalen der Universitaets-Sternwarte Wien, Dritter Folge",
+"AnMet Annalen Meteorologie",
+"AnLei Annalen van de Sterrewacht te Leiden",
+"AnAp. Annales d'Astrophysique",
+"AnCPh Annales de Chimie et de Physique",
+"AnG.. Annales de Geophysique",
+"AFLB. Annales de la Fondation Louis de Broglie",
+"ASSB. Annales de la Societe Scietifique de Bruxelles",
+"AnIHP Annales de L'Institut Henri Poincare Section Physique Theorique",
+"AnTou Annales de l'Observatoire Astron. et Meteo. de Toulouse",
+"AnAIK Annales de l'Observatoire astronomique de l'Université imériale de Kharkow",
+"AOTok Annales de l'Observatoire astronomique de Tokyo",
+"AnZoC Annales de l'Observatoire astronomique de Zô-sè (Chine)",
+"AnAPM Annales de l'Observatoire d'astronomie physique de Paris, Section d'astrophysique, à Meudon",
+"AnBes Annales de l'Observatoire de Besancon",
+"AnBor Annales de l'Observatoire de Bordeaux",
+"AnNic Annales de l'Observatoire de Nice",
+"AnPar Annales de l'Observatoire de Paris",
+"AnPOb Annales de l'Observatoire de Paris. Observations",
+"AnOSt Annales de l'Observatoire de Strasbourg",
+"AnRio Annales de l'Observatoire Imperial de Rio de Janeiro",
+"AnAth Annales de l'Observatoire national d'Athènes",
+"AnOB. Annales de l'Observatoire Royal de Belgique",
+"AnOBN Annales de l'Observatoire Royal de Belgique Nouvelle serie",
+"AnBru Annales de l'Observatoire Royal de Bruxelles",
+"AnPh. Annales de Physique",
+"AnPBM Annales de Physique Biologique et Medicale",
+"AnPCS Annales de Physique Colloque Supplement",
+"AnTel Annales des Telecommunications",
+"AnGVP Annales du Bureau des Longitudes, Gauthier-Villars, Paris",
+"AFChr Annales Francaises de Chronometrie",
+"AnGeo Annales Geophysicae",
+"AnGeA Annales Geophysicae Series A Upper Atmosphere and Space Sciences",
+"AnGeB Annales Geophysicae Series B Terrestrial and Planetary Physics",
+"AnHP. Annales Henri Poincaré",
+"AnTec Annales Tectonicae",
+"AUGGM Annales UMCS, Geographia, Geologia, Mineralogia et Petrographia",
+"AUSPh Annales UMCS, Sectio AAA: PHYSICA",
+"AnApS Annals of Applied Statistics",
+"AGp.. Annals of Geophysics",
+"AnGla Annals of Glaciology",
+"AnGAG Annals of Global Analysis Geometry",
+"AnHar Annals of Harvard College Observatory",
+"AnMat Annals of Mathematics",
+"AnMAI Annals of Mathematics and Artificial Intelligence",
+"AnOR. Annals of Operations Research",
+"AnPhy Annals of Physics",
+"AnREE Annals of Research on Engineering Education",
+"AnCGH Annals of Royal Observatory, Cape of Good Hope",
+"AnSci Annals of Science",
+"AnSta Annals of Statistics",
+"AnSAO Annals of the Astrophysical Observatory of the Smithsonian Institution",
+"AnBos Annals of the Bosscha Observatory Lembang (Java) Indonesia",
+"AnCap Annals of the Cape Observatory",
+"AnDea Annals of the Dearborn Observatory",
+"AnDud Annals of the Dudley Observatory",
+"AnISM Annals of the Institute of Statistical Mathematics",
+"AIQSY Annals of the IQSY",
+"AnIPS Annals of the Israel Physical Society",
+"AnLow Annals of the Lowell Observatory",
+"NYASA Annals of the New York Academy of Sciences",
+"AnLL. Annals of the Observatory of Lucien Libert",
+"AnLun Annals of the Observatory of Lund",
+"AnLuS Annals of the Observatory of Lund Supplement",
+"AnOLL Annals of the Private Observatory of Lucien Libert",
+"AnEdi Annals of the Royal Observatory, Edinburgh",
+"AnSPC Annals of the Solar Physics Observatory Cambridge England",
+"AnTok Annals of the Tokyo Astronomical Observatory",
+"AnUCP Annals of the University of Craiova Physics AUC",
+"AnRev Ann Rev",
+"AnBSJ Annual Bulletin of the Societe Jersiaise",
+"YalAR Annual Report of the Astronomer of the Winchester Observatory of Yale College",
+"ARKod Annual Report of the Kodaikanal Observatory",
+"MMAAR Annual Report of the Maria Mitchell Association",
+"ARAOJ Annual Report of the National Astronomical Observatory of Japan",
+"AnRSI Annual Report of the Smithsonian Institution",
+"WinAR Annual Report of the Windsor Observatory, New South Wales",
+"ARAC. Annual Review of Analytical Chemistry",
+"ARCMP Annual Review of Condensed Matter Physics",
+"AREPS Annual Review of Earth and Planetary Sciences",
+"AnRE. Annual Review of Energy",
+"AnRFM Annual Review of Fluid Mechanics",
+"ARIST Annual Review of Information Science and Technology",
+"ARMS. Annual Review of Marine Science",
+"AnRMS Annual Review of Materials Science",
+"ARNPS Annual Review of Nuclear and Particle Science",
+"ARPC. Annual Review of Physical Chemistry",
+"ARCP. Annual Reviews of Computational Physics",
+"AnMN. Antarctic Meteorite Newsletter",
+"AMR.. Antarctic Meteorite Research",
+"Antk. Antarktika",
+"Anten Antenny",
+"AnCan Anticancer Research",
+"IORA. Anuario publicado pelo Imperial Observatorio do Rio de Janeiro",
+"IORAS Anuario publicado pelo Imperial Observatorio do Rio de Janeiro Suplemento",
+"ApAN. Apatity Akademiia Nauk SSSR",
+"ApKF. Apatity Kol skii Filial AN SSSR",
+"Apei. Apeiron",
+"ApMat Aplikace Matematiky, Applied Mathematics",
+"AppAn Applicable Analysis",
+"ApMa. Applications of Mathematics",
+"ApAc. Applied Acoustics",
+"ApAI. Applied Artificial Intelligence",
+"ApCM. Applied Composite Materials",
+"ACESJ Applied Computational Electromagnetics Society Journal",
+"ApEn. Applied Energy",
+"ApEnM Applied Environmental Microbiology",
+"ApGeo Applied Geophysics",
+"ApMF. Applied Mathematical Finance",
+"AMat. Applied Mathematics",
+"ApMM. Applied Mathematics and Mechanics",
+"ApMaC Applied Mathematics Computation",
+"ApMaL Applied Mathematics Letters",
+"ApMaM Applied Mathematics Mechanics English Edition",
+"ApMaO Applied Mathematics Optimization",
+"AMM.. Applied Mechanics and Materials",
+"ApMRv Applied Mechanics Reviews",
+"ApMic Applied Microbiology",
+"ApMT. Applied Microgravity Technology",
+"ApNan Applied Nanoscience",
+"ApNM. Applied Numerical Mathematics",
+"ApOpt Applied Optics",
+"ApPhy Applied Physics",
+"ApPhA Applied Physics A: Materials Science &amp",
+"ApPhB Applied Physics B: Lasers and Optics",
+"ApPPL Applied Physics B Photophysics Laser Chemistry",
+"ApPhC Applied Physics Communications",
+"APExp Applied Physics Express",
+"ApPhL Applied Physics Letters",
+"ApPhR Applied Physics Research",
+"ApScR Applied Scientific Research",
+"ApSRA Applied Scientific Research Section A",
+"ApSRB Applied Scientific Research Section B",
+"ApSpe Applied Spectroscopy",
+"ApSRv Applied Spectroscopy Reviews",
+"ApSup Applied Superconductivity",
+"ApSS. Applied Surface Science",
+"ApWS. Applied Water Science",
+"APS.. APS Meeting Abstracts",
+"ACMFE Aquatic Conservation: Marine and Freshwater Ecosystems",
+"AJSE. Arabian Journal of Science Engineering",
+"Arch. Archaeoastronomy",
+"ArchS Archaeoastronomy Supplement",
+"Archa Archaeometry",
+"ASBTV Archenhold-Sternwarte Berlin-Treptow, Vortrage Schr.",
+"ArApM Archive Applied Mechanics",
+"AHES. Archive for History of Exact Sciences",
+"ArRMA Archive for Rational Mechanics and Analysis",
+"ArElU Archiv Elektronik und Uebertragungstechnik",
+"AAM.. Archive of Applied Mechanics",
+"ArApM Archive of Applied Mechanics",
+"ArBB. Archive of Biochemistry and Biophysics",
+"ArAco Archives Acoustics",
+"ArS.. Archives des Sciences",
+"ArSPN Archives des Sciences Physiques et Naturelles",
+"AMGBA Archives for Meteorology Geophysics and Bioclimatology Series A Meteorology and Atmopsheric Physics",
+"AMGBB Archives for Meteorology Geophysics and Bioclimatology Series B Theoretical and Applied Climatology",
+"AIPBB Archives Internationales de Physiologie de Biochimie et de Biophysique",
+"ArNSc Archives Neerlandaises des Sciences Exactes et Naturelles",
+"ArMaN Archiv for Mathematik og Naturvidenskab",
+"AMGBK Archiv Meteorologie Geophysik und Bioklimatologie Serie B Klimatologie und Umweltmeteorologie Strahlungsforschung",
+"AMGBS Archiv Meteorologie Geophysik und Bioklimatologie Serie Meteorologie und Geophysik",
+"ArMeS Archiv of Mechanics, Archiwum Mechaniki Stosowanej",
+"ArCom Archivum Combustionis",
+"ArAku Archiwum Akustyki",
+"ArAuT Archiwum Automatyki i Telemechaniki",
+"ArBuM Archiwum Budowy Maszyn",
+"ArEle Archiwum Elektrotechniki",
+"ArMeS Archiwum Mechaniki Stosowanej",
+"ArPSp Archiwum Procesow Spalania",
+"ArTSp Archiwum Termodynamiki i Spalania",
+"AAAR. Arctic, Antarctic and Alpine Research",
+"ArA.. Arkiv for Astronomi",
+"ArM.. Arkiv for Matematik",
+"ArMAF Arkiv for Matematik, Astronomi och Fysik",
+"ArmOL Armagh Observatory Leaflet",
+"ArJPh Armenian Journal of Physics",
+"ArtSa Artificial Satellites",
+"astro ArXiv Astrophysics e-prints",
+"cs... ArXiv Computer Science e-prints",
+"arXiv ArXiv e-prints",
+"gr.qc ArXiv General Relativity and Quantum Cosmology eprints",
+"hepex ArXiv High Energy Physics - Experiment e-prints",
+"hepla ArXiv High Energy Physics - Lattice e-prints",
+"hepph ArXiv High Energy Physics - Phenomenology e-prints",
+"hepth ArXiv High Energy Physics - Theory e-prints",
+"mathp ArXiv Mathematical Physics e-prints",
+"math. ArXiv Mathematics e-prints",
+"nlin. ArXiv Nonlinear Sciences e-prints",
+"nucle ArXiv Nuclear Experiment e-prints",
+"nuclt ArXiv Nuclear Theory e-prints",
+"physicArXiv Physics e-prints",
+"ASHRA ASHRAE Journal",
+"AsJPh Asian Journal of Physics",
+"Aslib Aslib Proceedings: new information perspectives",
+"ATJEM ASME Transactions Journal Engineering Materials and Technology",
+"ATJDS ASME Transactions Journal of Dynamic Systems and Measurement Control B",
+"ATJEl ASME Transactions Journal of Electronic Packaging",
+"ATJEG ASME Transactions Journal of Engineering Gas Turbines and Power",
+"ATJEP ASME Transactions Journal of Engineering Power",
+"ATJFE ASME Transactions Journal of Fluids Engineering",
+"ATJHT ASME Transactions Journal of Heat Transfer",
+"ATJLT ASME Transactions Journal of Lubrication Technology",
+"ATJSE ASME Transactions Journal of Solar Energy and Engineering",
+"ATJTr ASME Transactions Journal of Tribology",
+"ATJTu ASME Transactions Journal of Turbomachinery",
+"ATJVA ASME Transactions Journal of Vibration Acoustics",
+"ATJAM ASME Transactions Series E Journal of Applied Mechanics",
+"ATJEP ASME Transactions Series Journal of Engineering Power",
+"AsAut Assembly Automation",
+"ATMAB Association Technique Maritime et Aeronautique Bulletin",
+"ATMAS Association Technique Maritime et Aeronautique Session Paris France ONERA TP",
+"AVSVB Associazione Veneta Osservatori di Stelle Variabili Bulletin",
+"Aster Aster",
+"StNws ASTM Standardization News",
+"AsBio Astrobiology",
+"AISAO Astrofizicheskie Issledovaniia Izvestiya Spetsial'noj Astrofizicheskoj Observatorii",
+"AISof Astrofizicheskie Issledovaniya Sofia",
+"Afz.. Astrofizika",
+"AAfz. Astrometriia i Astrofizika",
+"AsAc. Astronautica Acta",
+"AsAcS Astronautica Acta Supplement",
+"AsAer Astronautics Aeronautics",
+"Asnau Astronautik",
+"AUBas Astron. Inst. Univ. Basel",
+"Anews ASTRON Newsletter",
+"AsUAI Astronomia. La rivista dell' Unione Astrofili Italiani",
+"Astnm Astronomia UAI",
+"USNOM Astronomical and Meteorological Observations made at the U.S. Naval Observatory",
+"ACiCh Astronomical Circular",
+"ACMan Astronomical Contributions from the University of Manchester",
+"TamCo Astronomical Contributions from the University of South Florida Tampa",
+"adass Astronomical Data Analysis Software and Systems",
+"ADCBu Astronomical Data Center Bulletin",
+"AstHe Astronomical Herald",
+"AstLt Astronomical Letters",
+"ANote Astronomical Notes University of Gothenburg Sweden Section of Astronomy",
+"USNOA Astronomical Observations made at the U.S. Naval Observatory",
+"UCLAP Astronomical Papers University of California Los Angeles",
+"AReg. Astronomical Register",
+"ASSA. Astronomical Society of South Africa, Cape Centre",
+"AVest Astronomicheskii Vestnik",
+"AVISS Astronomicheskii Vestnik Issledovaniia Solnechnoi Sistemy",
+"AZh.. Astronomicheskii Zhurnal",
+"ATsir Astronomicheskij Tsirkulyar",
+"KazOB Astronomicheskoj Observatorii Kazan Byulleten",
+"AsSch Astronomie in der Schule",
+"AAAN. Astronomische Abhandlungen als Erganzungshefte zu den Astronomische Nachrichten",
+"AAHam Astronomische Abhandlungen der Hamburger Sternwarte",
+"ABMun Astronomische Beobachtungen angestellt auf der K. Sternwarte zu Bogenhausen bei Muenchen",
+"ABSBe Astronomische Beobachtungen auf der Koniglichen Sternwarte zu Berlin",
+"ABKie Astronomische Beobachtungen auf der Sternwarte der Koeniglichen Christian-Albrechts-Universitaet zu Kiel",
+"MiZur Astronomische Mitteilungen der Eidgenössischen Sternwarte Zurich",
+"MiBre Astronomische Mitteilungen der Koeniglichen Universitaets-Sternwarte zu Breslau",
+"MiGoe Astronomische Mitteilungen der Universitaets-Sternwarte zu Goettingen",
+"AN... Astronomische Nachrichten",
+"ANS.. Astronomische Nachrichten Supplement",
+"MitSZ Astronomischen Mitteilungen Eidgen. Sternwarte Zurich",
+"AJB.. Astronomischer Jahresbericht",
+"MiARI Astronomisches Rechen-Institut Heidelberg Mitteilungen Serie A",
+"MiARB Astronomisches Rechen-Institut Heidelberg Mitteilungen Serie B",
+"ATi.. Astronomisk Tidsskrift",
+"Ast.. Astronomy",
+"Astro Astronomy",
+"AstAp Astronomy and Astro-Physics (formerly The Sidereal Messenger)",
+"ADIL. Astronomy Data Image Library",
+"AEdRv Astronomy Education Review",
+"AExpr Astronomy Express",
+"AstL. Astronomy Letters",
+"AsNow Astronomy Now",
+"AstQ. Astronomy Quarterly",
+"ARep. Astronomy Reports",
+"AASPP Astrononomy and Astrophysics Series",
+"APh.. Astroparticle Physics",
+"AstBu Astrophysical Bulletin",
+"ApInv Astrophysical Investigations",
+"ApL.. Astrophysical Letters",
+"ApNr. Astrophysica Norvegica",
+"Ap... Astrophysics",
+"ASPRv Astrophysics and Space Physics Reviews",
+"ApSSP Astrophysics and Space Science Proceedings",
+"ASTRA Astrophysics and Space Sciences Transactions",
+"ApSSS Astrophysics and Space Science Supplement",
+"MKAtl Astrophysics monographs University of Chicago Press",
+"ArBei Astrophysics Reports Publications of the Beijing Astronomical Observatory",
+"ApT.. Astrophysics Today",
+"AstPo Astropolitics",
+"AsAna Asymptotic Analysis",
+"BLabR AT&amp",
+"AJSEd Atlas Journal of Science Education",
+"AtlVS Atlas Poiskovykh Kart Peremennykh Zvezd",
+"Atmos Atmosphere",
+"AtO.. Atmosphere Ocean",
+"AtOpt Atmosphere Optics",
+"ACP.. Atmospheric Chemistry &amp",
+"ACPD. Atmospheric Chemistry &amp",
+"AtmEn Atmospheric Environment",
+"AMT.. Atmospheric Measurement Techniques",
+"AMTD. Atmospheric Measurement Techniques Discussions",
+"AtmRe Atmospheric Research",
+"AtSc. Atmospheric Science",
+"AtScL Atmospheric Science Letters",
+"AtmTe Atmospheric Technology",
+"atnfp ATNF Proposal",
+"Atom. Atom",
+"AD... Atomic Data",
+"ADNDT Atomic Data and Nuclear Data Tables",
+"AtERv Atomic Energy Review",
+"AMOP. Atomic Molecular and Optical Physics",
+"AtPhy Atomic Physics",
+"AtST. Atomisation Spray Technology",
+"AtKe. Atomkernenergie",
+"AtEn. Atomnaia Energiia",
+"AVET. Atomno Vodorodnaia Energetika i Tekhnologiia",
+"ATR.. ATR Australian Telecommunication Research",
+"AALST Atti Accad. Ligure Sci. Lett.",
+"AAPon Atti Accad. Pontaniana",
+"AAST. Atti Accad. Sco. Torino I",
+"ATTTJ AT T Technical Journal",
+"AurPh Auroral physics",
+"AuJAR Australian Journal of Agricultural Research",
+"AuJA. Australian Journal of Astronomy",
+"AuJCE Australian Journal of Chemical Education",
+"AJCh. Australian Journal of Chemistry",
+"AuJES Australian Journal of Earth Sciences",
+"AuJPh Australian Journal of Physics",
+"AuJPA Australian Journal of Physics Astrophysical Supplement",
+"AuSRA Australian Journal of Scientific Research A Physical Sciences",
+"AJSR. Australian Journal of Soil Research",
+"AuMSJ Australian Mathematical Society Journal Series B -- Applied Mathematics",
+"AuMM. Australian Meteorological Magazine",
+"Autom Automatica",
+"ACTAp Automatic Control Theory Applications",
+"AuRob Autonomous Robots",
+"AvSeM Aviation Space and Environmental Medicine",
+"AvWST Aviation Week Space Technology",
+"AvKos Aviatsiia i Kosmonavtika",
+"AvTek Aviatsionnaia Tekhnika",
+"AvTel Avtomatika i Telemekhanika",
+"AvPE. Avtomatizatsiia Proektirovaniia Elektronike",
+"Avtme Avtometriia",
+"BBUSS Babes Bolyai Universitas Studia Series Mathematica",
+"BBUSM Babes Bolyai Universitas Studia Series Physica",
+"BaPhL Balkan Physics Letters",
+"BaltA Baltic Astronomy",
+"BamKV Bamberg Kleine Veroeffentlichungen der Remeis-Sternwarte",
+"BAVRu BAV Rundbrief",
+"BAVSR BAV Rundbrief - Mitteilungsblatt der Berliner Arbeits-gemeinschaft fuer Veraenderliche Sterne",
+"BAWMN Bayerische Akademie Wissenschaften mathematisch naturwissenschaftliche Klasse Sitzungsberichte",
+"BayAn Bayesian Analysis",
+"BBCEn BBC Engineering",
+"BRMIC Behavior Research Methods Instruments and Computers",
+"BIT.. Behaviour &amp",
+"BUAAJ Beijing University Aeronautics and Astronautics Journal",
+"BePl. Beitraege Plasmaphysik",
+"BeiGe Beitraege zur Geophysik",
+"BeiMP Beitraege zur Mineralogie und Petrographie",
+"BROGS Belgian Royal Observatory Communications Series Geophysics Series",
+"BKAD. Beobachtungen der Kaiserlichen Universitaets-Sternwarte Dorpat",
+"BKUJ. Beobachtungen der Kaiserlichen Universitaets-Sternwarte Jurjew",
+"BESBe Beobachtungs-Ergebnisse der Koniglichen Sternwarte zu Berlin",
+"ANZi. Beobachtungs-Zirkular der Astronomischen Nachrichten",
+"BBGPC Berichte der Bunsen-Gesellschaft Physical Chemistry Chemical Physics Berichte",
+"BADPG Berlin East Germany Akademie Verlag GmbH Ergebnisse Plasmaphysik und Gaselektronik",
+"BAVMM Berlin East Germany Akademie Verlag GmbH Shriftenreihe des Zentralinstituts Mathematik und Mechanik",
+"BAVSM Berliner Arbeitsgemeinschaft fuer Veraenderliche Sterne - Mitteilungen",
+"BGBGM Berlin Gebrueder Borntraeger Geoexploration Monographs Series",
+"Bern. Bernoulli",
+"BeElM Beskontaktnye Elektricheskie Mashiny",
+"BeSN. Be Star Newsletter",
+"BGIBI BGI Bulletin d'Information",
+"AstBa Biblioteca Astrei Basarabene",
+"BEPM. Bielefeld Encounters in Physics and Mathematics",
+"BiLuf Bildmessung und Luftbildwessen",
+"BBRC. Biochemical and Biophysical Research Communications",
+"BioJ. Biochemical Journal",
+"BCB.. Biochemistry and Cell Biology",
+"AcBB. Biochimica et Biophysica Acta",
+"BioFa Biofabrication",
+"BGeo. Biogeosciences",
+"BGD.. Biogeosciences Discussions",
+"BMNAS Biographical Memoirs National Academy of Sciences",
+"BMFRS Biographical Memoirs of Fellows of the Royal Society",
+"BiBi. Bioinspiration and Biomimetics",
+"BMP.. Biological and Medical Physics",
+"BPS.. Biological Physics Series",
+"BRCPS Biological Reviews of the Cambridge Philosophical Society",
+"BioMa Biomedical Materials",
+"BioMi Biomedical Microdevices",
+"Biome Biometrika",
+"Bion. Bionika",
+"BioCh Biophysical Chemistry",
+"BpJ.. Biophysical Journal",
+"BpBeS Biophysics and Bioengineering Series",
+"BioSM Biophysics of Structure and Mechanism",
+"Bioph Biophysics USSR",
+"Biopk Biophysik",
+"Biorh Biorheology",
+"BioSc BioScience",
+"BiotL Biotechnology Letters",
+"BOTor Biuletyn Obserwatoium Astronomicznego Uniwersytetu M. Kopernika w Toruniu",
+"BITad Biulletini of the Astronomical Institute Akademiia Nauk Tadzhikskoi",
+"BIAst Bjull. Inst. Astrofizikii",
+"BlazD BLAZAR Data",
+"BAAA. Boletin de la Asociacion Argentina de Astronomia La Plata Argentina",
+"BAOM. Boletin de la Astronomico Observatorio de Madrid",
+"BIMAF Boletin del Instituto de Matematica Astronomica y Fisica Universidad Nacional de Cordoba Argentina",
+"BITon Boletin del Instituto de Tonantzintla",
+"BOTT. Boletin de los Observatorios Tonantzintla y Tacubaya",
+"BMOE. Boletin mensual del Observatorio del Ebro",
+"BlDok Bolgarska Akademiia Nauk Doklady",
+"BSVit Bolletino della Societa dei Variabilisti Italiani",
+"BoSAI Bollettino della Societa Astronomica Italiana",
+"BGSA. Bollettino Geod. Scienzi Affini",
+"BonD. Bonner Durchmusterung",
+"BoLMe Boundary-Layer Meteorology",
+"Brain Brain",
+"BVVSA Bratislava Veda Vydavatelstvo Slovenskej Akademie Vied",
+"BFWSG Braunschweig Friedr Vieweg und Sohn GmbH",
+"BTUM. Braunschweig Technische Universitaet Mitteilungen",
+"BrJPh Brazilian Journal of Physics",
+"BrWK. Brennstoff Waerme Kraft",
+"BJAP. British Journal of Applied Physics",
+"BJET. British Journal of Educational Technology",
+"BJMSP British Journal of Mathematical and Statistical Psychology",
+"BJP.. British Journal of Psychology",
+"BTE.. British Telecommunications Engineering",
+"BIRM. Brussels Institute Royal Meteorologique de Belgique",
+"BuAkK Budapest Akademiai Kiado",
+"BlgAJ Bulgarian Astronomical Journal",
+"BlGJ. Bulgarian Geophysical Journal",
+"BlJMH Bulgarian Journal of Meteorology and Hydrology",
+"BlJPh Bulgarian Journal of Physics",
+"BlJPS Bulgarian Journal of Physics Supplement",
+"BlGeo Bulgarska Akademiia Naukite Geofizichni Institut Izvestiia",
+"BlTek Bulgarska Akademiia Naukite Institut Tekhnicheska Kibernetika Izvestiia",
+"BlMat Bulgarska Akademiia Naukite Matematicheski Institut Izvestiia",
+"BlSpi Bulgarska Akademiia Naukite Spisanie",
+"BlTse Bulgarska Akademiia Naukite Tsentralna Laboratoriia Geodeziia Izvestiia",
+"BlGSp Bulgarsko Geofizichno Spisanie",
+"BAFOE Bulletin Association Fran. Obs. Etoiles Variables",
+"BuAst Bulletin Astronomique",
+"BABel Bulletin Astronomique de Belgrade",
+"BuAsR Bulletin Astronomique, Revue Generale des Travaux Astronomiques",
+"BuAsI Bulletin Astronomique, Serie I",
+"BuChr Bulletin Chronometrique (Besancon)",
+"BCSAB Bulletin Cl. Science Academy Royal de Belgique",
+"BCrAO Bulletin Crimean Astrophysical Observatory",
+"BAPSS Bulletin de l'Academie Polonaise des Sciences Series des Sciences Mathematiques Astronomiques et Physiques",
+"BARB. Bulletin de l'Academie Royale de Belgique",
+"BSAF. Bulletin de la Societe Astronomique de France",
+"BSAFR Bulletin de la Societe Astronomique de France et Revue Mensuelle d'Astronomie, de Meteorologie et de Physique du Globe",
+"BSAL. Bulletin de la Societe Astronomique de Liege",
+"BSBA. Bulletin de la Societe Belge d'Astronomie",
+"BSRSL Bulletin de la Societe Royale des Sciences de Liege",
+"AFOEV Bulletin de l'Association Francaise d'Observateurs d'Etoiles Variables",
+"BMai. Bulletin de la Station Astrophotographique de Mainterne",
+"BOBeo Bulletin de l'Observatoire Astronomique de Belgrade",
+"BuLyo Bulletin de l'Observatoire de Lyon",
+"BBSAG Bulletin der Bedeckungsveraenderlichen-Beobachter der Schweizerischen Astronomischen Gesellschaft",
+"BIEBe Bulletin d'Information d'Etoiles Be",
+"BIM.. Bulletin d'Information des Marees Terrestres",
+"BIBGI Bulletin d'Information du Bureau Gravimetrique International",
+"BICDS Bulletin d'Information du Centre de Donnees Stellaires",
+"BCFHT Bulletin d'information du telescope Canada-France-Hawaii",
+"BGeod Bulletin Geodesique",
+"BGNS. Bulletin Geodesique, Nouvelle Series",
+"BuBIH Bulletin Horaire du Bureau International de l'Heure",
+"BOPul Bulletin (Izvestiya) de l'Observatoire Central a Poulkovo",
+"BuMat Bulletin Mathematique",
+"BKoAS Bulletin of Korean Astronomical Society",
+"BMBio Bulletin of Mathematical Biology",
+"BMBp. Bulletin of Mathematical Biophysics",
+"BPAS. Bulletin of Pure and Applied Science (Physics)",
+"BAAPG Bulletin of the American Association of Petroleum Geologists",
+"BAVSO Bulletin of the American Association of Variable Stars Observers",
+"BAAS. Bulletin of the American Astronomical Society",
+"BAMaS Bulletin of the American Mathematical Society",
+"BAMS. Bulletin of the American Meteorological Society",
+"BAPS. Bulletin of the American Physical Society",
+"BAICz Bulletin of the Astronomical Institutes of Czechoslovakia",
+"BAN.. Bulletin of the Astronomical Institutes of the Netherlands",
+"BANS. Bulletin of the Astronomical Institutes of the Netherlands Supplement Series",
+"BAORB Bulletin of the Astronomical Observatoire Royale de Belgique",
+"IllOB Bulletin of the Astronomical Observatory of the University of Illinois",
+"BASBr Bulletin of the Astronomical Society of Brazil",
+"BASI. Bulletin of the Astronomical Society of India",
+"BCAIC Bulletin of the Central Astronomical Institute of Czechoslovakia",
+"BuGSA Bulletin of the Geological Society of America",
+"BIMIA Bulletin of the Institute of Mathematics and Its Applications",
+"BuIPS Bulletin of the Israel Physical Society",
+"BKobO Bulletin of the Kobe Marine Observatory Kobe Japan",
+"BLPI. Bulletin of the Lebedev Physics Institute",
+"BuLMS Bulletin of the London Mathematical Society",
+"BRASP Bulletin of the Russian Academy of Science, Phys.",
+"BSAst Bulletin of the Section of Astronomy",
+"BSAE. Bulletin of the Soviet Antarctic Expedition",
+"BuONC Bulletin of the Special Astrophysical Observatory, Northern Caucasus",
+"BSAO. Bulletin of the Special Astrophysics Observatory",
+"BTasO Bulletin of the Tashkent Observatory",
+"BTok. Bulletin of the Tokyo Astronomical Observatory",
+"BToIT Bulletin of the Tokyo Institute of Technology",
+"BUBes Bulletin of the University of Besancon Observatory",
+"BYam. Bulletin of the Yamagata University Yamagata Japan",
+"YerOB Bulletin of the Yerkes Observatory of the University of Chicago",
+"BVol. Bulletin of Volcanology",
+"BCNRS Bulletin Signaletique - Centre National de la Recherche Scientifique",
+"BSAO. Bull. Special Astrophys. Obs.",
+"BIHCD Bureau Internationale Heure, Paris, Circulaire",
+"BDus. Byulleten' Instituta Astrofiziki Dushanbe Akademiya Nauk Tadzhikskoj SSR",
+"BITA. Byulleten' Instituta Teoreticheskoj Astronomii (Leningrad)",
+"BStaO Byulleten' Stalinabadskoj Astronomicheskoj Observatorii Akademiya Nauk Tadzhikskoj SSR",
+"ByuRe Byurakan Astrophysical Observatory Armenia USSR Reprints",
+"ByuPr Byurakanskaya Astrofizicheskaya Observatoriya Preprint",
+"CahPh Cahiers de Physique",
+"CAS.. Cambridge Astrophysics Series",
+"CCA.. Cambridge Contemporary Astrophysics",
+"CamRe Cambridge Observatories Reprints",
+"CMPNC Cambridge Monographs on Particle Physics, Nuclear Physics and Cosmology",
+"CMPPh Cambridge Monographs on Plasma Physics",
+"CSLPT Cambridge Studies in Low Temperature Physics",
+"CTMPC Cambridge Topics in Mineral Physics and Chemistry",
+"BCNRC Canada National Research Council Division Mechanical Engineering National Aeronautical Establishment Quarterly Bulletin",
+"CASJ. Canadian Aeronautics and Space Journal",
+"CASJQ Canadian Aeronautics and Space Journal Quarter",
+"CEEJ. Canadian Electrical Engineering Journal",
+"CaGeJ Canadian Geotechnical Journal",
+"CIPSG Canadian Information Processing Society Graphics Interface",
+"CJChE Canadian Journal of Chemical Engineering",
+"CaJCh Canadian Journal of Chemistry",
+"CaJCE Canadian Journal of Civil Engineering",
+"CaJES Canadian Journal of Earth Sciences",
+"CJECE Canadian Journal of Electrical Computer Engineering",
+"CJMat Canadian Journal of Mathematics",
+"CaJPh Canadian Journal of Physics",
+"CaJPS Canadian Journal of Physics Supplement",
+"CaJRS Canadian Journal of Remote Sensing",
+"CJRA. Canadian Journal of Research Section A",
+"CJSMT Canadian Journal of Science Mathematics and Technology Education",
+"CaJSS Canadian Journal of Soil Science",
+"CaRes Cancer Research",
+"CPhD. Cape Photographic Durchmusterung",
+"CarR. Caries Research",
+"GCRV. Carnegie Institute Washington D.C. Publication",
+"CarOB Carter Observatory Wellington New Zealand Astronomical Bulletins",
+"CarRe Carter Observatory Wellington New Zealand Reprints",
+"CasRe Case Western Reserve University Warner and Swasey Observatory Cleveland Ohio Reprints",
+"CASI. CASI Transactions",
+"CSVS. Catalogue of suspected variable stars. Acad. of Sciences USSR Shternberg.",
+"CatL. Catalysis Letters",
+"CarRv Catalysis Reviews",
+"Catt. CATTECH",
+"CCDA. CCD Astronomy",
+"CEGB. CEGB Research",
+"CeMec Celestial Mechanics",
+"CeMDA Celestial Mechanics and Dynamical Astronomy",
+"Cell. Cell",
+"Cellu Cellulose",
+"Cent. Centaurus",
+"CfAPr Center for Astrophysics Cambridge Mass Preprint Series",
+"CBET. Central Bureau Electronic Telegrams",
+"CEAB. Central European Astrophysical Bulletin",
+"CEJE. Central European Journal of Engineering",
+"CEJG. Central European Journal of Geosciences",
+"CEJPh Central European Journal of Physics",
+"CPH.. Centre de Physique des Houches",
+"CCpFS Ceskoslovensky Casopis pro Fyziku Sekce",
+"CFDAA CFD Advances Applications",
+"CKH.. Chagyo Kenkyu Hokoku (Tea Research Journal)",
+"ChNew Chandra News",
+"Chaos Chaos",
+"CSF.. Chaos Solitons and Fractals",
+"ChCom Chemical Communications",
+"ChEdu Chemical Educator",
+"ChEnC Chemical Engineering Communications",
+"ChEnN Chemical Engineering News",
+"CERDA Chemical Engineering Research &amp",
+"ChEnS Chemical Engineering Science",
+"ChGeo Chemical Geology",
+"CP... Chemical Physics",
+"CPL.. Chemical Physics Letters",
+"CPSS. Chemical Physics of Solid Surfaces",
+"CPSSH Chemical Physics of Solid Surfaces and Heterogeneous Catalysis",
+"CPR.. Chemical Physics Reports",
+"ChSRv Chemical Society Reviews",
+"ChEG. Chemie der Erde / Geochemistry",
+"CEJ.. Chemistry A European Journal",
+"CPCar Chemistry and Physics of Carbon",
+"CPLip Chemistry and Physics of Lipids",
+"ChUDA Chile Universidad Departamento de Astronomia Publicaciones",
+"ChOE. China Ocean Engineering",
+"ChRST China Rept Sci Technol JPRS CST",
+"ChA.. Chinese Astronomy",
+"ChIEJ Chinese Institute of Engineers Journal",
+"ChJA. Chinese Journal of Aeronautics",
+"ChJAA Chinese Journal of Astronomy and Astrophysics",
+"ChJAS Chinese Journal of Astronomy and Astrophysics Supplement",
+"ChJCP Chinese Journal of Chemical Physics",
+"ChJG. Chinese Journal of Geophysics",
+"ChJIR Chinese Journal of Infrared Research",
+"ChJL. Chinese Journal of Lasers",
+"ChJLB Chinese Journal of Lasers B",
+"CJLTP Chinese Journal of Low Temperature Physics",
+"ChJME Chinese Journal of Mechanical Engineering",
+"ChJNP Chinese Journal of Nuclear Physics",
+"ChJOL Chinese Journal of Oceanology and Limnology",
+"ChJPh Chinese Journal of Physics",
+"ChJPR Chinese Journal of Polar Research",
+"ChJS. Chinese Journal of Semiconductors",
+"ChJSS Chinese Journal of Space Science",
+"ChOpL Chinese Optics Letters",
+"ChPhy Chinese Physics",
+"ChPhB Chinese Physics B",
+"ChPhC Chinese Physics C",
+"ChPhL Chinese Physics Letters",
+"ChSBu Chinese Science Bulletin",
+"ChSAJ Chinese Society of Astronautics Journal",
+"ChSMJ Chinese Society of Mechanical Engineers Journal",
+"ChSST Chinese Space Science Technology",
+"CMDRG Chislennye Metody Dinamike Razrezhennykh Gazov",
+"CHOCS CHOCS",
+"CITM. Chubu Institute Technology Memoirs",
+"CIDA. CIDA",
+"CTE.. Ciencias de la Tierra y del Espacio",
+"CiInf Circ. Inf.",
+"CiSSV Circolare Interna della Sezione Stelle Variabili dell'Unione Astrofili Italiani",
+"CSSP. Circuits Systems and Signal Processing",
+"CirW. Circuit World",
+"CAFOE Circulaire de l'Association Francaise d'Observateurs d'Etoiles Variables",
+"CiBAA Circular of the British Astronomical Association",
+"CiUO. Circular of the Union Observatory Johannesburg",
+"CiPoJ Circumpolar Journal",
+"CQGra Classical and Quantum Gravity",
+"CQGrS Classical and Quantum Gravity Supplement",
+"CRMMP Classical Reviews in Mathematics and Mathematical Physics",
+"CTPhy Classical Theoretical Physics",
+"CCM.. Clays and Clay Minerals",
+"ClDy. Climate Dynamics",
+"CliPa Climate of the Past",
+"CliPD Climate of the Past Discussions",
+"ClCh. Climatic Change",
+"COIR. Clinical Oral Implants Research",
+"CPPM. Clinical Physics and Physiological Measurement",
+"CNRAe CNR Aeritalia S",
+"CODAB CODATA Bulletin",
+"Coel. Coelum Periodico Bimestrale per la Divulgazione dell'Astronomia",
+"AeSc. Collection of Papers on Aerospace Science",
+"ColJ. Colloid Journal",
+"ColSu Colloids and Surfaces",
+"CPC.. Combinatorics, Probability and Computing",
+"CoFl. Combustion and Flame",
+"CST.. Combustion Science and Technology",
+"CTM.. Combustion Theory Modelling",
+"CNSMP Comet News Service, McDonnell Planetarium",
+"CPMCM Commentationes Physico-Mathematicae et Chemico-Medicae",
+"ComMP Comments in Modern Physics",
+"ComAp Comments on Astrophysics",
+"CoASP Comments on Astrophysics and Space Physics",
+"CoAMP Comments on Atomic and Molecular Physics",
+"CoCMP Comments on Condensed Matter Physics",
+"CoNPP Comments on Nuclear and Particle Physics",
+"CoPPC Comments on Plasma Physics and Controlled Fusion",
+"ComSp Commercial Space",
+"CoKon Commmunications of the Konkoly Observatory Hungary",
+"CAPJ. Communication Astronomy with the Public Journal",
+"ComBr Communication Broadcasting",
+"CoSSC Communication in Statistics - Simulation and Computation",
+"CoSTM Communication in Statistics - Theory and Methods",
+"Commu Communications",
+"CoORB Communications de l'Observatoire Royal de Belgique",
+"MonAP Communications du Departement d'Astrophysique de la Faculte des Sciences de Mons Mons Astrophysical Papers",
+"CoDDO Communications from the David Dunlap Observatory",
+"CoMtW Communications from the Mount Wilson Solar Observatory to the National Academy of Sciences",
+"CoRad Communications from the Radcliffe Observatory Pretoria South Africa",
+"CoROE Communications from the Royal Observatory Edinburgh",
+"CoOxf Communications from the University Observatory Oxford",
+"CoStA Communications from the University Observatory St Andrews Scotland",
+"CEST. Communications Gillies Inc Electronic Systems in Transportation",
+"CoAlg Communications in Algebra",
+"CANM. Communications in Applied Numerical Methods",
+"CoAst Communications in Asteroseismology",
+"CCoPh Communications in Computational Physics",
+"CMaPh Communications in Mathematical Physics",
+"CNSNS Communications in Nonlinear Science and Numerical Simulations",
+"CNME. Communications in Numerical Methods in Engineering",
+"CoPDE Communications in Partial Differential Equations",
+"CPAM. Communications in Pure Applied Mathematics",
+"CoTPh Communications in Theoretical Physics",
+"CoAnk Communications of the Department of Astronomy of Ankara University",
+"CoLPL Communications of the Lunar and Planetary Laboratory",
+"CoLon Communications of the University of London Observatory",
+"CPhy. Communications on Physics",
+"CRLJ. Communications Research Laboratory Journal",
+"CRLRv Communications Research Laboratory Review",
+"ComSo Communications Society",
+"Compe COMPEL: The International Journal for Computation and Mathematics in Electrical and Electronic Engineering",
+"CoVar Complex Variables",
+"Compo Composites",
+"CmpEn Composites Engineering",
+"CmpMa Composites Manufacturing",
+"ComST Composites Science Technology",
+"CmpSt Composite Structures",
+"CoMat Compositio Mathematica",
+"CRSPH Compte Rendu des Seances de la Societe de Physique et d'Histoire Naturelle de Genere",
+"CR... Comptes Rendus Academie des Sciences (serie non specifiee)",
+"CRABS Comptes Rendus de l'Academie Bulgare des Sciences",
+"CRASE Comptes Rendus de l'Académie des Sciences - Series IIA - Earth and Planetary Science",
+"CRGeo Comptes Rendus Geoscience",
+"CRMat Comptes Rendus Mathematique",
+"CRMec Comptes Rendus Mecanique",
+"CRPhy Comptes Rendus Physique",
+"CAMP. Computational and Applied Mathematical Physics",
+"ComMS Computational Materials Science",
+"CMMPh Computational Mathematics and Mathematical Physics",
+"CompM Computational Mechanics",
+"COA.. Computational Optimization and Applications",
+"CSMA. Computational Structural Mechanics and Applications",
+"Compr Computer",
+"CAD.. Computer-Aided Design",
+"CGIP. Computer Graphics Image Processing",
+"CMAME Computer Methods in Applied Mechanics and Engineering",
+"CoPhC Computer Physics Communications",
+"CoPhR Computer Physics Reports",
+"CBR.. Computers and Biomedical Research",
+"CEE.. Computers and Electrical Engineering",
+"CF... Computers and Fluids",
+"CG... Computers and Geosciences",
+"CMwA. Computers and Mathematics with Applications",
+"CoStr Computers and Structures",
+"CSEd. Computer Science Education",
+"ComPh Computers in Physics",
+"CVIU. Computer Vision and Image Understanding",
+"CVGIP Computer Vision Graphics and Image Processing",
+"Compu Computing",
+"CSE.. Computing in Science and Engineering",
+"ComSE Computing Systems in Engineering",
+"COMTR COMSAT Technical Review",
+"CoCoi Comunicacoes do Observatonio Astronomico da Universidade de Coimbra",
+"CoMRA Concepts in Magnetic Resonances A",
+"CoMRB Concepts in Magnetic Resonances B",
+"CMPhy Condensed Matter Physics",
+"CGDAM Conformal Geometry and Dynamics of the American Mathematical Society",
+"CDT.. Connaissance des Temps",
+"ConSc Connection Science",
+"CoFra Consiglio Nazionale delle Ricerche Italia. Laboratorio di Astrofisica Frascati Roma Contributi",
+"ConCP Contemporary Concepts in Physics",
+"ConFP Contemporary Fundamental Physics",
+"ConPh Contemporary Physics",
+"CSR.. Continental Shelf Research",
+"CMT.. Continuum Mechanics and Thermodynamics",
+"CoIAP Contributions de l'Institut d'Astrophysique de Paris Serie A",
+"CoIAB Contributions de l'Institut d'Astrophysique de Paris Serie B",
+"CoAsi Contributions dell'Osservatorio Astrofisica dell'Universita di Padova in Asiago",
+"CoMil Contributions dell'Osservatorio Astrononia di Milano-Merate",
+"CoArm Contributions from the Armagh Observatory",
+"CoThe Contributions from the Astronomical Department of the University of Thessaloniki",
+"CoBos Contributions from the Bosscha Observervatory",
+"CoCam Contributions from the Cambridge Observatory England",
+"CoTol Contributions from the Cerro Tololo Inter-American Observatory",
+"CoTok Contributions from the Department of Astronomy University of Tokyo",
+"CoDAO Contributions from the Dominion Astrophysical Observatory in Victoria",
+"CoDun Contributions from the Dunsink Observatory Dublin Ireland",
+"CoKyo Contributions from the Institute of Astrophysics and Kwasan Observatory Kyoto",
+"CoKit Contributions from the Kitt Peak National Observatory",
+"CoKwa Contributions from the Kwasan and Hida Observatories University of Kyoto",
+"CoIoa Contributions from the Laboratory of Astronomy - University of Ioannina Greece",
+"CoMcD Contributions from the McDonald Observatory University of Texas Fort Davis",
+"CMWCI Contributions from the Mount Wilson Observatory / Carnegie Institution of Washington",
+"CoPri Contributions from the Princeton University Observatory",
+"CoRut Contributions from the Rutherford Observatory of Columbia University New York",
+"CoWas Contributions from the Washburn Observatory of the University of Wisconsin",
+"CoAth Contributions from the Wroclaw Astronomical Observatory",
+"CoLic Contributions of Lick Observatory",
+"CLic2 Contributions of Lick Observatory, Series II",
+"CoPer Contributions of Perkins Observatory",
+"CoSka Contributions of the Astronomical Observatory Skalnate Pleso",
+"CoSkL Contributions of the Astronomical Observatory Skalnate Pleso Letters",
+"CoSkS Contributions of the Astronomical Observatory Skalnate Pleso Supplement",
+"CoLou Contributions of the Louisiana State University Observatory Baton Rouge Louisiana",
+"CoNMx Contributions of the Observatory of New Mexico State University Las Cruces New Mexico",
+"CoBrn Contributions of the Public Observatory and Planetarium in Brno",
+"CSASG Contributions of the Slovak Academy Sciences Geophysical Institute",
+"CoWat Contributions of the University of Waterloo Observatory",
+"CoVVO Contributions of the Van Vleck Observatory",
+"ConAP Contributions to Atmospheric Physics/Beitraege zur Physik Atmosphaere",
+"CoGG. Contributions to Geophysics and Geodesy",
+"CoMP. Contributions to Mineralogy and Petrology",
+"CoPP. Contributions to Plasma Physics",
+"CoUCL Contributions Universite Catholique de Louvain",
+"CoSte Contributions University of Arizona Steward Observatory Tucson Arizona",
+"CoRHO Contributions University of Florida Rosemary Hill Observatory Gainesville",
+"CoCom Control and Computers",
+"CopRe Copenhagen University Observatory Reprints",
+"CorRe Coral Reefs",
+"CorD. Cordoba Durchmusterung",
+"CAGHS Correspondance Astronomique, Geographique, Hydrographique et statistique",
+"CosEl Cosmic Electrodynamics",
+"CosRe Cosmic Research",
+"CosSe Cosmic Search",
+"CTP.. Course of Theoretical Physics",
+"CRB.. C.R. Acad. Sci. Ser. B1",
+"CraRe Cracow Observatory Reprints",
+"CRSSM Critical Reviews in Solid State &amp",
+"Cryo. Cryogenics",
+"CryRp Crystallography Reports",
+"CSSE. Cultural Studies of Science Education",
+"CuCo. Culture and Cosmos",
+"CAP.. Current Applied Physics",
+"CCPCE Current Contents Physical Chemical and Earth Sciences",
+"CEyeR Current Eye Research",
+"CNan. Current Nanoscience",
+"COSSM Current Opinion in Solid State and Materials Science",
+"CSci. Current Science",
+"CySys Cybernetics and Systems",
+"CzJPh Czechoslovak Journal of Physics",
+"CzJPB Czechoslovak Journal of Physics B",
+"CzJPS Czechoslovak Journal of Physics Supplement",
+"CzMJ. Czechoslovak Mathematical Journal",
+"DTr.. Dalton Transactions",
+"DMKD. Data Mining and Knowledge Discovery",
+"DatSJ Data Science Journal",
+"DDORe David Dunlap Observatory Richmond Hill Reprints",
+"DeaCo Dearborn Observatory Contributions",
+"DSR.. Deep Sea Research Part II: Topical Studies in Oceanography",
+"DSRI. Deep Sea Research Part I: Oceanographic Research",
+"DSNPR Deep Space Network Progress Report",
+"Defek Defektoskopiia",
+"DefEl Defense Electronics",
+"DMJ.. Defense Management Journal",
+"DeScE Defense Science Electronics",
+"DSJ.. Defense Science Journal",
+"DSRMC Defense Systems Review Military Communications",
+"DSSN. Delta Scuti Star Newsletter",
+"Sterb Der Sternenbote Monatsschrift fuer Oesterreichs Amateur-astronomen",
+"DGKBA Deutsche Geodaetische Kommission Bayer. Akad. Wiss.",
+"DGKBB Deutsche Geodaetische Kommission Bayer. Akad. Wiss. B",
+"DGKGN Deutsche Geodaetische Kommission Gravity Network West Germany DSGN Data Adjustment",
+"DeHyZ Deutsche Hydrographische Zeitschrift",
+"DPhyG Deutsche Physikalische Gesellschaft",
+"DSEG. Developments in Solid Earth Geophysics",
+"DFVLR DFVLR",
+"DRM.. Diamond and Related Materials",
+"Stern Die Sterne",
+"Welt. Die Weltall",
+"DnU.. Differentsial nye Uravneniia",
+"DSP.. Digital Signal Processing",
+"Dimen Dimensions",
+"DiSis Dinamicheskie Sistemy",
+"DPM.. Dinamika i Prochnost Mashin",
+"DiRaG Dinamika razrezhennykh gazov",
+"DIO.. DIO",
+"DCMP. Directions in Condensed Matter Physics",
+"DISA. DISA Information",
+"Disc. Discover",
+"DImTe Display Imaging Technology",
+"Displ Displays",
+"DSE.. Distributed Systems Engineering",
+"DLGRM DLGR Magnetofluiddyn",
+"Dlib. D-Lib Magazine",
+"DLRNa DLR Nachrichten",
+"DOCi. Documentation des Observateurs Circulaire",
+"DOIAP Documentation des Observateurs Institut d'Astrophysique de Paris",
+"DoANT Doklady Akademiia Nauk TadzhSSR",
+"DokAN Doklady Akad Nauk Minerologia USSR",
+"DoBan Doklady Bolgarskoi Akademiia Nauk",
+"DokES Doklady Earth Sciences",
+"DokPC Doklady Physical Chemistry",
+"DAOAR Dominion Astrophysical Observatory Annual Report",
+"DorPo Dornier Post",
+"DSO.. Double Star Observer",
+"DSSC. Double Star Section Circulars",
+"DudOR Dudley Observatory Reports",
+"PODE. Dun Echt Observatory Publications",
+"DunOP Dunsink Observatory Publications",
+"DunRe Dunsink Observatory Reprints",
+"DurOO Durham Observatory Observations",
+"IzDus Dushanbe Izdatel Donish",
+"DyeRe Dyer Observatory Reprints",
+"DySys Dynamical Systems: An International Journal",
+"DynCo Dynamics and Control",
+"DSSys Dynamics and Stability of Systems",
+"DyAtO Dynamics of Atmospheres and Oceans",
+"EESC. Earth and Environmental Science Conference Series",
+"EaEvS Earth and Evolution Sciences",
+"EExSc Earth and Extraterrestrial Sciences",
+"EaInt Earth Interactions",
+"EOAST Earth-Oriented Applications and Space Technology",
+"EEEV. Earthquake Engineering and Engineering Vibration",
+"EaSci Earthquake Science",
+"ESRv. Earth Science Reviews",
+"ESPL. Earth Surface Processes and Landforms",
+"ESD.. Earth System Dynamics",
+"ESDD. Earth System Dynamics Discussion",
+"ESSD. Earth System Science Data",
+"ESSDD Earth System Science Data Discussions",
+"EERST East European Rept Sci. Technol. JPRS ESA",
+"EERSA East Europe Rept Sci Affairs JPRS",
+"EBCi. Eclipsing Binaries Circulars",
+"EcGH. Eclogae geologae Helvetii",
+"Ecogr Ecography",
+"EcGou Ecole de Goutelas",
+"Earth eEarth",
+"EartD eEarth Discussions",
+"ETATF Eesti NSV Teaduste Akadeemia Toimetised Fuusika Matemaatika",
+"IzmP. Ege University Izmir Publications of the Department of Astronomy",
+"EJSM. e-Journal of Soft Materials",
+"Elast Elastic",
+"ECLRv Electrical Communication Laboratories Review",
+"JElEn Electrical Engineering of Japan",
+"EMPS. Electric Machines and Power Systems",
+"Elecm Electromagnetics",
+"EJSEd Electronic Journal of Science Education",
+"EJSta Electronic Journal of Statistics",
+"EJTP. Electronic Journal of Theoretical Physics",
+"EML.. Electronic Materials Letters",
+"ElPro Electronic Progress",
+"JElCo Electronics Communications of Japan",
+"ElL.. Electronics Letters",
+"ElP.. Electronics Power",
+"EOSD. Electro Optical Systems Design",
+"ElLC. Electrotechnical Laboratory Circulars",
+"ElLR. Electrotechnical Laboratory Researches",
+"ElW.. Electrowaerme International",
+"ElBah Elektrische Bahnen",
+"Elem. Elektromekhanika",
+"Elek. Elektronika",
+"ElTA. Elektronnaia Tekhnika Avtomatike",
+"ElMod Elektronnoe Modelirovanie",
+"ETRE. Elektrosviaz Telecommunications Radio Engineering Telecommunications",
+"EVest Elektrotehniski Vestnik",
+"OED.. El Observador de Estrellas Dobles",
+"ElUn. El Universo",
+"EMCT. EMC Technology",
+"EBBT. Emerging Biochemical and Biophysical Techniques",
+"EAA.. Encyclopedia of Astronomy and Astrophysics",
+"Endvr Endeavour",
+"Energ Energetika",
+"EnAt. Energia es Atomtechnika",
+"EnUK. Energy",
+"EnC.. Energy Conversion",
+"ECM.. Energy Conversion Management",
+"EnS.. Energy Sources",
+"EnTR. Energy Technology Review",
+"EnUK. Energy UK",
+"EngAn Engineering Analysis",
+"EnSci Engineering and Science",
+"EngCo Engineering Computations",
+"EnFM. Engineering Fracture Mechanics",
+"EnOp. Engineering Optimization",
+"CEnTp Engineering Thermophysics China",
+"Entro Entropie",
+"Entrp Entropy",
+"EnAPC Environmental Analytical and Physical Chemistry Series",
+"EES.. Environmental Earth Sciences",
+"EnEng Environmental Engineering",
+"EFM.. Environmental Fluid Mechanics",
+"EnGeo Environmental Geology",
+"EnMan Environmental Management",
+"EnP.. Environmental Pollution Series B Chemical and Physical",
+"ER... Environmental Research",
+"ERL.. Environmental Research Letters",
+"EnST. Environmental Science Technology",
+"EnTox Environmental Toxicology",
+"ETWQ. Environmental Toxicology and Water Quality",
+"Env.. Environmentrics",
+"EOSTr EOS Transactions",
+"EL... EPL (Europhysics Letters)",
+"EPRIJ EPRI Journal",
+"AnErg Ergaenzungshefte zu den Astronomischen Nachrichten",
+"ErNW. Ergebnisse der exakten Naturwissenschaften",
+"ETDS. Ergodic Theory and Dynamical Systems",
+"Ergo. Ergonomics",
+"ESABu ESA Bulletin",
+"ESAHR ESA History Study Reports",
+"EIUEN ESA IUE Newsletter",
+"ESAJ. ESA Journal",
+"ESASM ESA Scientific &amp",
+"ESAST ESA Scientific Technical Review",
+"ESATM ESA Training Manual",
+"EssPh Essays in Physics",
+"ECSS. Estuarine Coastal and Shelf Science",
+"EUCAS EUCASS Proceedings Series",
+"EurSS Eurasian Soil Science",
+"EJASP EURASIP Journal on Applied Signal Processing",
+"EBioJ European Biophysics Journal",
+"EJAM. European Journal of Applied Mathematics",
+"EJBio European Journal of Biochemistry",
+"EJC.. European Journal of Combinatorics",
+"EJEE. European Journal of Engineering Education",
+"EJMF. European Journal of Mechanics B Fluids",
+"EJMS. European Journal of Mechanics Solids",
+"EJPh. European Journal of Physics",
+"EPJA. European Physical Journal A",
+"EPJAP European Physical Journal Applied Physics",
+"EPJAS European Physical Journal A Supplement",
+"EPJB. European Physical Journal B",
+"EPJC. European Physical Journal C",
+"EPJCS European Physical Journal C Supplement",
+"EPJD. European Physical Journal D",
+"EPJE. European Physical Journal E",
+"EPJH. European Physical Journal H",
+"EPJP. European Physical Journal Plus",
+"EPJST European Physical Journal Special Topics",
+"EuRv. European Review",
+"ESN.. European Science Notes",
+"ESOAR European Southern Observatory Annual Reports",
+"ESOB. European Southern Observatory ESO Bulletin",
+"ESOSP European Southern Observatory Scientific Preprints",
+"ESOSR European Southern Observatory Scientific Report",
+"ETTRT European Transactions Telecommunications Related Technologies",
+"ERST. Europe Report Science Technology",
+"EL... Europhysics Letters",
+"ENews Europhysics News",
+"EXOSA EXOSAT Express",
+"ExA.. Experimental Astronomy",
+"EEyeR Experimental Eye Research",
+"ExHT. Experimental Heat Transfer",
+"ExM.. Experimental Mechanics",
+"ExMPS Experimental Methods in the Physical Sciences",
+"ExT.. Experimental Techniques",
+"ExTFS Experimental Thermal Fluid Science",
+"ExFl. Experiments in Fluids",
+"ExG.. Exploration Geophysics",
+"Extr. Extraction",
+"PMtv. Facultad de Humanidades y Ciencias Universidad de la Republica Montevideo",
+"FaDi. Faraday Discussions",
+"FaTr. Faraday Transactions",
+"FFEMS Fatigue and Fracture of Engineering Materials and Structures",
+"FerNo Fermilab Note",
+"Fer.. Ferroelectrics",
+"FerLS Ferroelectrics Letters Section",
+"FBS.. Few-Body Systems",
+"FiIO. Fiber and Integrated Optics",
+"Filom Filomat",
+"FeMik Finommechanika Mikrotechnika",
+"FiBr. First Break",
+"FizEl Fizicheskaia Elektronika",
+"FiMek Fizicheskaia Mekhanika",
+"Fiz.. Fizika",
+"FizA. Fizika A",
+"FizAS Fizika Aerodispersnykh Sistem",
+"FizB. Fizika B",
+"FizGV Fizika Goreniia i Vzryva",
+"FizKO Fizika i Khimiia Obrabotki Materialov",
+"FizTV Fizika i Tekhnika Vysokikh Davlenii",
+"FizMM Fizika Metallov i Metallovedenie",
+"FizMS Fizika Mnogochastichnykh Sistem",
+"FizNT Fizika Nizkikh Temperatur",
+"FizPl Fizika Plazmy",
+"FizSz Fizika Sz.",
+"FizTT Fizika Tverdogo Tela",
+"FizZS Fizika Zhidkogo Sostoianiia",
+"FizAt Fiziki Atmosfery",
+"FizKM Fiziko Khimicheskaia Mekhanika Materialov",
+"FizCh Fizyki i Chemii Seria Fizyka",
+"FliIn Flight International",
+"FNL.. Fluctuation and Noise Letters",
+"FRFI. Flug Revue Flugwelt International",
+"FlDy. Fluid Dynamics",
+"FlDyR Fluid Dynamics Research",
+"FlDyT Fluid Dynamics Transactions",
+"Fluid Fluidika",
+"FMAG. Fluid Mechanics of Astrophysics and Geophysics",
+"FlMSR Fluid Mechanics Soviet Research",
+"FluQ. Fluids Quarterly",
+"FBP.. Food and Bioproducts Processing. Part C, Transactions of the Institution of Chemical Engineers",
+"ForPh Fortschritte der Physik",
+"FoGeo Fotointerpretacja w Geografii",
+"FoPh. Foundations of Physics",
+"FoPhL Foundations of Physics Letters",
+"Fract Fractals",
+"Freq. Frequenz",
+"FrES. Frontiers of Earth Science",
+"FrMS. Frontiers of Materials Science",
+"FrME. Frontiers of Mechanical Engineering",
+"FrPhy Frontiers of Physics",
+"FrPhC Frontiers of Physics in China",
+"IzFru Frunze Izdatel Ilim",
+"FSTJ. Fujitsu Scientific Technical Journal",
+"FST.. Fullerene Science and Technology",
+"FAAp. Functional Analysis and Its Applications",
+"FML.. Functional Materials Letters",
+"FACM. Functiones et Approximatio Commentarii Mathematici",
+"FInfo Fundamenta Informaticae",
+"FANP. Fundamental and Applied Nuclear Physics Series",
+"OOPS. Fundamental nye Osnovy Opticheskoi Pamiati i Sredy",
+"FCPh. Fundamentals of Cosmic Physics",
+"FTP.. Fundamental Theories of Physics",
+"Futur Future Spring",
+"GCNew Galactic Center Newsletter",
+"galxp GALEX Proposal",
+"GalEl Galilean Electrodynamics",
+"GEB.. Games and Economic Behavior",
+"GGMit Gauss-Gesellschaft e.V. Göttingen, Mitteilungen",
+"GVPOO Gauthier-Villars Paris Observatory Observations",
+"GazA. Gazette Astronomique",
+"GazAM Gazette Astronomique Memoires",
+"GazT. Gazodinamika i Teploobmen",
+"GCNR. GCN Report",
+"GECJR GEC Journal Research",
+"Gelio Geliotekhnika",
+"Gemin GEMINI Newsletter Royal Greenwich Observatory",
+"GHA.. General History of Astronomy",
+"GPB.. General Physiology and Biophysics",
+"GReGr General Relativity and Gravitation",
+"Gen.. Genetica",
+"GeoIn Geocarto International",
+"GeocJ Geochemical Journal",
+"Geoch Geochemistry",
+"GGG.. Geochemistry, Geophysics, Geosystems",
+"GeocI Geochemistry International",
+"GeCoA Geochimica et Cosmochimica Acta",
+"GeCAS Geochimica et Cosmochimica Acta Supplement",
+"GeCar Geodesy and Cartography",
+"GeAer Geodeziia i Aerofotos",
+"GeKar Geodeziia i Kartografiia",
+"GKA.. Geodeziia i Kartografiia Aehrofotosemka, L'vov",
+"GeKaA Geodeziia Kartografiia i Aerofotos",
+"GeoK. Geodezja i Kartografia",
+"GeoAc Geodinamica Acta",
+"GeofI Geofisica Internacional",
+"GeoPA Geofisica Pura e Applicata",
+"GeoSb Geofizicheskii Sbornik",
+"GeoZh Geofizicheskii Zhurnal",
+"GeoAA Geografiska Annaler, Series A: Physical Geography",
+"GeoAB Geografiska Annaler, Series B: Human Geography",
+"GeIss Geoinformation Issues",
+"Geokh Geokhimiia",
+"GCarp Geologica Carpathica",
+"GeolJ Geological Journal",
+"GeoM. Geological Magazine",
+"GeoSJ Geological Society Journal",
+"GSAMB Geological Society of America Bulletin",
+"GSAMm Geological Society of America Memoir",
+"GSASP Geological Society of America Special Papers",
+"GSLSP Geological Society of London Special Publications",
+"Geolo Geologija",
+"GeoRu Geologische Rundschau",
+"Geolg Geologos",
+"Geo.. Geology",
+"GeoOD Geology of Ore Deposits",
+"GeoIs Geomagnitnye Issledovaniia",
+"GML.. Geo-Marine Letters",
+"GeoD. Geometriae Dedicata",
+"GeomJ Geomicrobiology Journal",
+"Geomo Geomorphology",
+"Geoph Geophysica",
+"GeGe. Geophysica et Geodaetica",
+"GApFD Geophysical and Astrophysical Fluid Dynamics",
+"GDS.. Geophysical Developments Series",
+"GeoJ. Geophysical Journal",
+"GeoJI Geophysical Journal International",
+"GeopP Geophysical Prospecting",
+"GeopR Geophysical References",
+"GeoRL Geophysical Research Letters",
+"GeoSu Geophysical Surveys",
+"GeoNr Geophysica Norvegica",
+"Geop. Geophysics",
+"GAM.. Geophysics and Astrophysics Monographs",
+"GeoOM Georgetown Observatory Monogram",
+"GeoRe Georgetown Observatory Reprints",
+"GMD.. Geoscientific Model Development",
+"GMDD. Geoscientific Model Development Discussions",
+"GEOCE GEOS Circular on Eclipsing Binaries",
+"GEOCR GEOS Circular on RR Lyr Type Variables",
+"GEOCA GEOS Circular on Small-Amplitude Variables",
+"GEOSN GEOS Note Circulaire",
+"Geote Geotectonics",
+"TrGRC Geothermal Resources Council Transactions",
+"Geoth Geothermics",
+"Geot. Geotimes",
+"Gerb. Gerbertvs, International Academic Publication on History of Medieval Science",
+"GBzG. Gerlands Beitraege zur Geophysik",
+"GUL.. Geschichte und Lichtwechsel der Veraenderlichen Sterne (Potsdam)",
+"GATAN Gesellschaft Aerosolforschung Tagung ueber Aerosole Naturwissenschaft Medizin und Technik Messtechnik und technische Anwendung",
+"GMMWJ Gesellschaft angewandte Mathematik und Mechanik Jahrestagung Goettingen West Germany Zeitschrift Flugwissenschaften",
+"GaMuM Gesellschaft Angewandte Mathematik und Mechanik Workshop Paris France",
+"GMuD. Gesellschaft Mathematik und Datenverarbeitung mbH Multigrid Methods Special Topics Applications",
+"GVMK. Gibridnye Vychislitel nye Mashiny i Kompleksy",
+"Gidro Gidromekhanika",
+"GiGi. Gidroprivod i Gidropnevmoavtomatika",
+"GiSan Gigiena i Sanitariia",
+"GTPZ. Gigiena Truda i Professional nye Zabolevaniia",
+"GAst. Giornale di Astronomia",
+"GlMaJ Glasgow Mathematical Journal",
+"GPC.. Global and Planetary Change",
+"GBioC Global Biogeochemical Cycles",
+"GLORe Goethe Link Observatory Reprints",
+"GPSW. GPS World",
+"GMIP. Graphical Models and Image Processing",
+"GrCo. Gravitation and Cosmology",
+"GrCoS Gravitation and Cosmology Supplement",
+"GrTOn Gravitatsiia i Teoriia Otnositel nosti",
+"GCN.. GRB Coordinates Network",
+"GGMM. Greenhouse Gas Measurement &amp",
+"GriO. Griffith Observer",
+"GrAeH Grumman Aerospace Horizons",
+"Grund Grundwasser",
+"GICi. Gruppo Italiano RV Tauri Circolare",
+"HalRe Hale Observatories Reprints",
+"HadJ. Hadronic Journal",
+"HadJS Hadronic Journal Supplement",
+"BSD.. Hamburger Sternwarte Bergedorf",
+"HamS. Hamburger Sternwarte Sonderdrucke",
+"LS... Hamburger Sternw. Warner &amp",
+"HAAG. Handbook of Astronomy Astrophysics and Geophysics",
+"HBP.. Handbook of Biological Physics",
+"HGE.. Handbook of Geophysical Exploration",
+"HPlPh Handbook of Plasma Physics",
+"HPCRE Handbook on the Physics and Chemistry of Rare Earths",
+"HDA.. Handbuch der Astrophysik",
+"HDP.. Handbuch der Physik",
+"HarZi Harthaer Beobachtungs-Zirkular",
+"HarAC Harvard College Observatory Announcement Card",
+"HarAR Harvard College Observatory Annual Report",
+"BHarO Harvard College Observatory Bulletin",
+"HarCi Harvard College Observatory Circular",
+"HarPa Harvard College Observatory Papers",
+"HarRe Harvard College Observatory Reprints",
+"HarMi Harvard Observatory Mimeograms",
+"HarMo Harvard Observatory Monographs",
+"HeaPh Health Physics",
+"HMT.. Heat and Mass Transfer",
+"HTrEn Heat Transfer Engineering",
+"HTJR. Heat Transfer Japanese Research",
+"HTSR. Heat Transfer Soviet Research",
+"Heavn Heavens",
+"HWM.. Helgoländer Wissenschaftliche Meeresuntersuchungen",
+"HMR.. Helgoland Marine Research",
+"AcHCh Helvetica Chimica Acta",
+"AcHPh Helvetica Physica Acta",
+"AcHPS Helvetica Physica Acta Supplementum",
+"HelOB Helwan Institute of Astronomy and Geophysics Bulletins",
+"HemD. Hemel en Dampkring",
+"HECh. High Energy Chemistry",
+"HEDP. High Energy Density Physics",
+"HEPNP High Energy Physics and Nuclear Physics",
+"HiA.. Highlights of Astronomy",
+"HPP.. High Performance Polymers",
+"HPR.. High Pressure Research",
+"HiTec High Technology",
+"HTHP. High Temperatures and High Pressures",
+"HTemS High Temperature Science",
+"HARSB Histoire de l'Academie Royale des Sciences et des Belles-Lettres de Berlin",
+"HSPBS Historical Studies in the Physical and Biological Sciences",
+"HGeo. History of Geophysics",
+"HGSS. History of Geo- and Space Sciences",
+"HisSc History of Science",
+"HUFEB Hokkaido University Faculty Engineering Bulletin",
+"HUFEM Hokkaido University Faculty Engineering Memoirs",
+"Holz. Holzforschung",
+"HBB.. Horizons in Biochemistry and Biophysics",
+"HWP.. Horizons in World Physics",
+"HCHy. Hovering Craft and Hydrofoil",
+"HGT.. Human Gene Therapy",
+"HvaOB Hvar Observatory Bulletin",
+"HvOBS Hvar Observatory Bulletin Supplement",
+"HyBio Hydrobiologia",
+"HydJ. Hydrogeology Journal",
+"HyPr. Hydrological Processes",
+"HESS. Hydrology and Earth System Sciences",
+"HESSD Hydrology and Earth System Sciences Discussions",
+"HyInt Hyperfine Interactions",
+"IadEn Iadernaia Energiia",
+"IAGBu IAGA Bulletin",
+"IaIaF Iakutsk Iakutskii Filial SO AN SSSR",
+"BSEEA Iasi Institutul Politehnic Buletinul Sectia Electrotehnica Electronica Automatizari",
+"BSMMT Iasi Institutul Politehnic Buletinul Sectia Matematica Mecanica Teoretica Fizica",
+"BSMT. Iasi Institutul Politehnic Buletinul Sectia Mecanica Tehnica",
+"IAUCB IAU Commission on Close Binary Stars",
+"IAUDS IAU Commission on Double Stars",
+"IAUIn IAU Commission on Instruments",
+"IAUGA IAU General Assembly",
+"IAUIB IAU Information Bulletin",
+"IAUSS IAU Special Session",
+"WFINw IAU Working Group on Wide-Field Imaging, Newsletter",
+"IBMJ. IBM Journal of Research and Development",
+"ICAOB ICAO Bulletin",
+"Icar. Icarus",
+"IAESM IEEE Aerospace Electronic Systems Magazine",
+"IAWPL IEEE Antennas and Wireless Propagation Letters",
+"IAPM. IEEE Antennas Propagation Magazine",
+"IASSP IEEE ASSP Magazine",
+"ICiSM IEEE Circuits Systems Magazine",
+"IComM IEEE Communications Magazine",
+"ICSEn IEEE Computational Science and Engineering",
+"ICGA. IEEE Computer Graphics Applications",
+"ICSM. IEEE Computer Systems Magazine",
+"IDTC. IEEE Design Test Computers",
+"IEDL. IEEE Electron Device Letters",
+"IExp. IEEE Expert",
+"IGRSL IEEE Geoscience and Remote Sensing Letters",
+"IISys IEEE Intelligent Systems",
+"IJOE. IEEE Journal of Oceanic Engineering",
+"IJQE. IEEE Journal of Quantum Electronics",
+"IJRA. IEEE Journal of Robotics Automation",
+"ISTSP IEEE Journal of Selected Topics in Signal Processing",
+"IJSSC IEEE Journal of Solid-State Circuits",
+"IJSAC IEEE Journal on Selected Areas in Communications",
+"ILCSM IEEE LCS Magazine",
+"ILTS. IEEE LTS",
+"IMGWL IEEE Microwave and Guided Wave Letters",
+"IMMag IEEE Microwave Magazine",
+"IEEEN IEEE Network",
+"IPTL. IEEE Photonics Technology Letters",
+"IEEEP IEEE Proceedings",
+"ISPL. IEEE Signal Processing Letters",
+"ISPM. IEEE Signal Processing Magazine",
+"IEEES IEEE Spectrum",
+"ISysJ IEEE Systems Journal",
+"ITASS IEEE Transactions on Acoustics Speech and Signal Processing",
+"ITAES IEEE Transactions on Aerospace Electronic Systems",
+"ITAP. IEEE Transactions on Antennas and Propagation",
+"ITAS. IEEE Transactions on Applied Superconductivity",
+"ITAC. IEEE Transactions on Automatic Control",
+"ITBE. IEEE Transactions on Biomedical Engineering",
+"ITB.. IEEE Transactions on Broadcasting",
+"ITCS. IEEE Transactions on Circuits Systems",
+"ITCom IEEE Transactions on Communications",
+"ITCHM IEEE Transactions on Components Hybrids and Manufacturing Technology",
+"ITCAD IEEE Transactions on Computer Aided Design",
+"ITCmp IEEE Transactions on Computers",
+"ITDEI IEEE Transactions on Dielectrics and Electrical Insulation",
+"ITEdu IEEE Transactions on Education",
+"ITEI. IEEE Transactions on Electrical Insulation",
+"ITElC IEEE Transactions on Electromagnetic Compatibility",
+"ITED. IEEE Transactions on Electron Devices",
+"ITEnC IEEE Transactions on Energy Conversion",
+"ITEM. IEEE Transactions on Engineering Management",
+"ITGRS IEEE Transactions on Geoscience and Remote Sensing",
+"ITGE. IEEE Transactions on Geoscience Electronics",
+"ITIP. IEEE Transactions on Image Processing",
+"ITIE. IEEE Transactions on Industrial Electronics",
+"ITIEC IEEE Transactions on Industrial Electronics and Control Instrumentation",
+"ITIA. IEEE Transactions on Industry Applications",
+"ITIT. IEEE Transactions on Information Theory",
+"ITIM. IEEE Transactions on Instrumentation Measurement",
+"ITM.. IEEE Transactions on Magnetics",
+"ITMI. IEEE Transactions on Medical Imaging",
+"ITMTT IEEE Transactions on Microwave Theory Techniques",
+"ITME. IEEE Transactions on Military Electronics",
+"ITNan IEEE Transactions on Nanotechnology",
+"ITNN. IEEE Transactions on Neural Networks",
+"ITNS. IEEE Transactions on Nuclear Science",
+"ITPHP IEEE Transactions on Parts Hybrids and Packaging",
+"ITPAM IEEE Transactions on Pattern Analysis and Machine Intelligence",
+"ITPS. IEEE Transactions on Plasma Science",
+"ITPAS IEEE Transactions on Power Apparatus Systems",
+"ITPD. IEEE Transactions on Power Delivery",
+"ITPE. IEEE Transactions on Power Electronics",
+"ITR.. IEEE Transactions on Reliability",
+"ITRA. IEEE Transactions on Robotics Automation",
+"ITSTQ IEEE Transactions on Selected Topics in Quantum Electronics",
+"ITSM. IEEE Transactions on Semiconduct M",
+"ITSP. IEEE Transactions on Signal Processing",
+"ITSE. IEEE Transactions on Software Engineering",
+"ITSU. IEEE Transactions on Sonics Ultrasonics",
+"ITSMC IEEE Transactions on Systems Man and Cybernetics",
+"ITUFF IEEE Transactions on Ultrasonics Ferroelectrics and Frequency Control",
+"ITVT. IEEE Transactions on Vehicular Technology",
+"JMOA. IEE Journal of Microwaves Optics and Acoustics",
+"JSSED IEE Journal of Solid-State Electron Devices",
+"ITEIS IEEJ Transactions on Electronics, Information and Systems",
+"IJTFM IEEJ Transactions on Fundamentals and Materials",
+"IJTIA IEEJ Transactions on Industry Applications",
+"IJTPE IEEJ Transactions on Power and Energy",
+"IJTSM IEEJ Transactions on Sensors and Micromachines",
+"IPEPA IEE Proceedings B: Electric Power Applications",
+"IPGTD IEE Proceedings C: Generation Transmission Distribution",
+"IPCSV IEE Proceedings: Communications Speech and Vision",
+"IPCTA IEE Proceedings D: Control Theory Applications",
+"IPCDT IEE Proceedings E: Computers and Digital Techniques",
+"IPCRS IEE Proceedings F: Communications Radar and Signal Processing",
+"IPRSP IEE Proceedings F: Radar and Signal Processing",
+"IPMAP IEE Proceedings H: Microwaves Antennas and Propagation",
+"IPMOA IEE Proceedings H: Microwaves Optics and Antennas",
+"IPOpt IEE Proceedings J: Optoelectronics",
+"IPPSM IEE Proceedings: Physical Science Measurement and Instrumentation Management and Education Reviews",
+"IPSSE IEE Proceedings: Solid-State Electron Devices",
+"IEERv IEE Reviews",
+"IEIEE IEICE Electronics Express",
+"ESSFR IEICE ESS Fundamentals Review",
+"IEITC IEICE Transactions on Communications",
+"IEITE IEICE Transactions on Electronics",
+"IEITF IEICE Transactions on Fundamentals of Electronics Communications and Computer Sciences",
+"IEITI IEICE Transactions on Information and Systems",
+"ITN.. IERS Technical Note",
+"IESJ. IES Journal",
+"IHWN. IHW Newsletter",
+"JApMa IMA Journal of Applied Mathematics",
+"IJNA. IMA Journal of Numerical Analysis",
+"IVMA. IMA Volumes in Mathematics and its Applications",
+"IMEPA IME Proceedings. Part A: Journal of Power and Energy",
+"IMEPB IME Proceedings. Part B: Journal of Engineering Manufacture",
+"IMEPC IME Proceedings. Part C: Journal of Mechanical Engineering Science",
+"IMEPD IME Proceedings. Part D: Journal of Automobile Engineering",
+"IMEPE IME Proceedings. Part E: Journal of Process Mechanical Engineering",
+"IMEPG IME Proceedings. Part G: Journal of Aerospace Engineering",
+"IMEPH IME Proceedings. Part H: Journal of Engineering in Medicine",
+"IMEPI IME Proceedings. Part I: Journal of Systems and Control Engineering",
+"IMEPK IME Proceedings. Part K: Journal of Multibody Dynamics",
+"ICSE. Impact of Computing in Science and Engineering",
+"InEPS Indian Academy of Sciences Proceedings: Earth and Planetary Sciences",
+"InMS. Indian Academy of Sciences Proceedings Mathematical Sciences",
+"InASP Indian Academy of Sciences Proceedings Section",
+"InES. Indian Academy of Sciences Proceedings: Section C Engineering Sciences",
+"IUMJ. Indiana University Mathematics Journal",
+"IIApN Indian Institute of Astrophysics Newsletter",
+"InISJ Indian Institute of Science Journal",
+"InISA Indian Institute of Science Journal of Aeronomical Society of India",
+"ITJSE Indian Institute of Technology Journal on Section Engineering Technology",
+"InJAE Indian Journal of Aerospace Engineering Division",
+"InJBB Indian Journal of Biochemistry and Biophysics",
+"InJET Indian Journal of Electronics Telecommunication Engineering Division",
+"InJME Indian Journal of Mechanical Engineering Division",
+"IJMHG Indian Journal of Meteorology Hydrology and Geophysics",
+"InJPh Indian Journal of Physics",
+"InJP. Indian Journal of Physics and Proceedings of the Indian Assocatiation for the Cultivation of Science",
+"InJPA Indian Journal of Physics Section A",
+"InJPB Indian Journal of Physics Section B",
+"IJPAM Indian Journal of Pure and Applied Mathematics",
+"IJPAP Indian Journal of Pure and Applied Physics",
+"IJRSP Indian Journal of Radio and Space Physics",
+"InJHS Indian Journal of the History of Science",
+"InJTP Indian Journal of Theoretical Physics",
+"INSAP Indian National Science Academy Proceedings Supplement",
+"IDAQP Infinite Dimensional Analysis, Quantum Probability and Related Topics",
+"IBSH. Informational Bulletin of the Southern Hemisphere",
+"IBUAA Informational Bulletin of the Ukrainian Astronomical Association",
+"InCo. Information and Computation",
+"IBVS. Information Bulletin on Variable Stars",
+"InfCo Information Control",
+"InfD. Information Display",
+"IPM.. Information Processing and Management",
+"IPL.. Information Processing Letters",
+"ISNL. Information Systems Newsletter",
+"IRA.. Infrared Astronomy",
+"InfPh Infrared Physics",
+"InPhT Infrared Physics and Technology",
+"Ingeg Ingegneria",
+"IngAr Ingenieur Archiv",
+"InCh. Inorganic Chemistry",
+"IAL1K Institut d'Astronomie de Lausanne",
+"IMA.. Institute for Mathematics and Its Applications",
+"InFuJ Institute Fuel Journal",
+"JIECE Institute of Electronics Communication Engineers of Japan Transactions Section E English",
+"IPASA Institute of Physics Academia Sinica Annual Report",
+"ISASS Institute of Space and Astronautical Science Report",
+"ITABO Institute of Theoretical Astrophysics, Blindern-Oslo",
+"OslR. Institute of Theoretical Astrophysics Blindern Oslo Reports",
+"IEAEE Institution Engineers Australia Electrical Engineering Transactions",
+"IEEP. Institution of Electrical Engineers Proceedings",
+"IEREJ Institution of Electronic Radio Engineers Journal",
+"IETE. Institution of Electronics Telecommunication Engineers",
+"IAFET Instituto de Astronomia y Fisica del Espacio Buenos Aires",
+"MerRe Instituto Venezolano de Astronomia Merida Venezuela",
+"IRMBP Institut Royal Meteorologique de Belgique Publications Serie",
+"ITAB. Institut Teoreticheskoi Astronomii Byulleten",
+"TrITA Institut Teoreticheskoi Astronomii Trudy",
+"IET.. Instruments and Experimental Techniques",
+"InLoP Instytut Lotnictwa Prace",
+"InMPP Instytut Maszyn Przeplywowych Prace",
+"IntaC Inta Conie",
+"ITSF. Integral Transforms and Special Functions",
+"ICAE. Integrated Computer-Aided Engineering",
+"InFer Integrated Ferroelectrics",
+"Inter Interavia",
+"IntSM Interavia Space Markets",
+"ISRv. Interdisciplinary Science Reviews",
+"IFB.. Interfaces and Free Boundaries",
+"IPAUC INTERKOSMOS Prague Astronomicky Ustav Ceskoslovenske Akademie Ved",
+"IANT. International Advances in Nondestructive Testing",
+"IntAg International Agrophysics",
+"IAPPP International Amateur-Professional Photoelectric Photometry Communications",
+"IAM.. International Applied Mechanics",
+"IAUC. International Astronomical Union Circular",
+"ICQ.. International Comet Quarterly",
+"ICHMT International Communications in Heat and Mass Transfer",
+"IrPH. International Conference Infrared Physics Zurich Switzerland",
+"ICML. International Conference on Machine Learning",
+"IER.. Internationale Elektronische Rundschau",
+"InGeo International Geophysics Series",
+"IJCEM International Journal for Computational Methods in Engineering Science and Mechanics",
+"IJNAM International Journal for Numerical and Analytical Methods in Geomechanics",
+"IJNME International Journal for Numerical Methods in Engineering",
+"IJNMF International Journal for Numerical Methods in Fluids",
+"IJRPC International Journal for Radiation Physics and Chemistry",
+"IJACS International Journal of Adaptive Control and Signal Processing",
+"IJAdA International Journal of Adhesion Adhesives",
+"IJASS International Journal of Aeronautical and Space Sciences",
+"IJAEM International Journal of Analytical and Experimental Modal Analysis",
+"IJAEO International Journal of Applied Earth Observation and Geoinformation",
+"IJApE International Journal of Electromagnetics and Mechanics",
+"IJAIS International Journal of Applied Information Systems",
+"IJAM. International Journal of Applied Mechanics",
+"IJAsB International Journal of Astrobiology",
+"IJAA. International Journal of Astronomy and Astrophysics",
+"IJAP. International Journal of Aviation Psychology",
+"IJBC. International Journal of Bifurcation and Chaos",
+"IJBB. International Journal of Bioclimatology Biometeorology",
+"IJBm. International Journal of Biometeorology",
+"IJCli International Journal of Climatology",
+"IJCES International Journal of Computational Engineering Science",
+"IJCFD International Journal of Computational Fluid Dynamics",
+"IJCMS International Journal of Computational Materials Science and Engineering",
+"IJCA. International Journal of Computer Applications",
+"IJCAT International Journal of Computer Applications and Technology",
+"IJCMB International Journal of Computer Mathematics Section B",
+"IJCV. International Journal of Computer Vision",
+"IJC.. International Journal of Control",
+"IJDM. International Journal of Damage Mechanics",
+"IJDE. International Journal of Digital Earth",
+"IJDF. International Journal of Dynamics of Fluids",
+"IJEaS International Journal of Earth Sciences",
+"IJE.. International Journal of Electronics",
+"IJER. International Journal of Energy Research",
+"IJEFM International Journal of Engineering and Fluid Mechanics Spring",
+"IJES. International Journal of Engineering Science",
+"IJFa. International Journal of Fatigue",
+"IJFD. International Journal of Fluid Dynamics",
+"IJFr. International Journal of Fracture",
+"IJFE. International Journal of Fusion Energy",
+"IJGS. International Journal of General Systems",
+"IJGA. International Journal of Geomagnetism and Aeronomy",
+"IJGMM International Journal of Geometric Methods in Modern Physics",
+"IJGeo International Journal of Geophysics",
+"IJGNP International Journal of Green Nanotechnology Physics and Chemistry",
+"IJHFF International Journal of Heat and Fluid Flow",
+"IJHMT International Journal of Heat and Mass Transfer",
+"IJHSC International Journal of High Speed Computing",
+"IJHSE International Journal of High Speed Electronics and Systems",
+"IJHM. International Journal of Hybrid Microelectronics Fall",
+"IJHE. International Journal of Hydrogen Energy",
+"IJHy. International Journal of Hyperthermia",
+"IJIDF International Journal of Image and Data Fusion",
+"IJIG. International Journal of Image and Graphics",
+"IJIST International Journal of Imaging Systems Technology",
+"IJIE. International Journal of Impact Engineering",
+"IJIMW International Journal of Infrared and Millimeter Waves",
+"IJICS International Journal of Intelligent Control and Systems",
+"IJMSE International Journal of Mars Science and Exploration",
+"IJMSp International Journal of Mass Spectrometry",
+"IJMSI International Journal of Mass Spectrometry and Ion Processes",
+"IJMES International Journal of Mathematical Education in Science and Technology",
+"IJM.. International Journal of Mathematics",
+"IJMS. International Journal of Mechanical Sciences",
+"IJMW. International Journal of Mine Water",
+"IJMM. International Journal of Mini Microcomputers",
+"IJMoS International Journal of Modelling and Simulation",
+"IJMPA International Journal of Modern Physics A",
+"IJMPB International Journal of Modern Physics B",
+"IJMPC International Journal of Modern Physics C",
+"IJMPS International Journal of Modern Physics Conference Series",
+"IJMPD International Journal of Modern Physics D",
+"IJMPE International Journal of Modern Physics E",
+"IJMF. International Journal of Multiphase Flow",
+"IJN.. International Journal of Nanoscience",
+"IJNT. International Journal of Nanotechnology",
+"IJNS. International Journal of Neural Systems",
+"IJNLM International Journal of Non Linear Mechanics",
+"IJNOP International Journal of Nonlinear Optical Physics",
+"IJNMH International Journal of Numerical Methods for Heat &amp",
+"IJOpt International Journal of Optics",
+"IJOMS International Journal of Oral and Maxillofacial Surgery",
+"IJPRS International Journal of Photogrammetry and Remote Sensing",
+"IJPES International Journal of Physical and Engineering Sciences",
+"IJP.. International Journal of Plasticity",
+"IJPM. International Journal of Polymeric Materials",
+"IJPG. International Journal of Population Geography",
+"IJPR. International Journal of Production Research",
+"IJQC. International Journal of Quantum Chemistry",
+"IJRAI International Journal of Radiation Applications and Instrumentation D Nuclear Tracks and Radiation Measurements",
+"IJRB. International Journal of Radiation Biology",
+"IJRQS International Journal of Reliability, Quality and Safety Engineering",
+"IJRS. International Journal of Remote Sensing",
+"IJRR. International Journal of Robotics Research",
+"IJSC. International Journal of Satellite Communications",
+"IJSME International Journal of Science and Mathematics Education",
+"IJSEd International Journal of Science Education",
+"IJSE. International Journal of Solar Energy",
+"IJSS. International Journal of Solids and Structures",
+"IJSSD International Journal of Structural Stability and Dynamics",
+"IJScA International Journal of Supercomputer Applications",
+"IJSyS International Journal of Systems Science",
+"IJTP. International Journal of Theoretical Physics",
+"IJT.. International Journal of Thermophysics",
+"IJTJE International Journal of Turbo Jet Engines",
+"IMRv. International Materials Reviews",
+"IMeRv International Metals Reviews",
+"IREdu International Review of Education",
+"IRH.. International Review of Hydrobiology",
+"IRNP. International Review of Nuclear Physics",
+"IRPC. International Reviews in Physical Chemistry",
+"ISBRv International Space Business Review",
+"IUGG. International Union of Geodesy and Geophysics General Assembly",
+"IPNPR Interplanetary Network Progress Report",
+"IMPA. Interscience Monographs in Physics and Astronomy",
+"ITPA. Interscience Tracts on Physics and Astronomy",
+"InMat Inventiones Mathematicae",
+"InvPr Inverse Problems",
+"IGeo. Investigations in Geophysics",
+"InFiZ Inzhenerno Fizicheskii Zhurnal",
+"IonIs Ionosfernye Issledovaniia",
+"Iono. Ionosphere",
+"Ippa. Ipparchos",
+"IrJST Iranian Journal of Science Technology",
+"IRETE IRE Transactions on Education",
+"IrAJ. Irish Astronomical Journal",
+"IrAJS Irish Astronomical Journal Supplement",
+"ISAP. ISA Proceedings",
+"ISAT. ISA Transactions",
+"IHERv Ishikawajima Harima Engineering Review",
+"Isis. Isis. Journal of the History of Science Society",
+"IPBS. Isotopes in the Physical and Biomedical Sciences",
+"IsJT. Israel Journal of Technology",
+"IsSRT Israel Space Research and Technology Information Bulletin",
+"ISRAA ISRN Astronomy and Astrophysics",
+"ISCJS ISRO Satellite Centre Journal of Spacecraft Technology",
+"ISSIR ISSI Scientific Reports Series",
+"ISSIR ISSI Scientific Reports Series",
+"IssZK Issledovanie Zemli Fiz Kosmosa",
+"IGAFS Issledovaniia Geomagnetizmu Aeronomii i Fizike Solntsa",
+"IsMTD Issledovaniia Mekhanike i Teploobmenu Dvukhfaznykh Sred",
+"IssUP Issledovaniia Uprugosti i Plastichnosti",
+"ISKZ. Issledovaniya Solntsa i Krasnykh Zvezd",
+"IST.. Issues in Science and Technology",
+"IsJAP Istanbul University Faculty of Science Journal of Astronomy Physics",
+"IsRvC Istanbul University Faculty Science Review Serie C",
+"IINA. Istituto Italiano di Navigazione Atti",
+"IAIss Istoriko-Astronomicheskie Issledovaniya",
+"ITCJ. ITC Journal",
+"INTSA Itogi Nauki i Tekhniki Seriia Astronomiia",
+"INTSF Itogi Nauki i Tekhniki Seriia Fizika Plazmy",
+"INTSI Itogi Nauki i Tekhniki Seriia Issledovanie Kosmicheskogo Prostranstva",
+"INTMK Itogi Nauki i Tekhniki Seriia Meteorologiia i Klimatologiia",
+"INTSO Itogi Nauki i Tekhniki Seriia Okeanologiia",
+"INTSR Itogi Nauki i Tekhniki Seriia Radiotekhnika",
+"INTSS Itogi Nauki i Tekhniki Seriia Sovremennye Problemy Matematiki",
+"INTSV Itogi Nauki i Tekhniki Seriia Vozdushnyi Transport",
+"ITUTJ ITU Telecommunication Journal",
+"IUEEN IUE ESA Newsletter",
+"IUENN IUE NASA Newsletter",
+"IzTad Izvestiia Akademiia Nauk TadzhSSR",
+"IzSF. Izvestiia Akademii Nauk Seriya Fizicheskaya",
+"IzGla Izvestiia Glavnoi rossiiskoi astronomicheskoi observatorii",
+"IzVGA Izvestiia vuzov. Geodeziia Aehrofotosemka",
+"IzVF. Izvestiia Vysshaia Uchebn. Zaved., Fizika",
+"IzVUZ Izvestiia Vysshaia Uchebn. Zaved., Radiofizika",
+"IzAsh Izvestiya Akademii Nauk Turkmenskoj SSR Ashkhabad",
+"IzArm Izvestiya Akademiya Nauk Armyanskoi",
+"IzAlm Izvestiya Astrofizicheskogo Instituta Alma-Ata",
+"IzEhn Izvestiya Astronomicheskoj Engel'gardt obskoj Observatorii Kazan",
+"IzAOP Izvestiya Atmospheric and Oceanic Physics",
+"IzKie Izvestiya Glavnoj Astronomicheskoj Observatorii Kiev",
+"IzPul Izvestiya Glavnoj Astronomicheskoj Observatorii v Pulkove",
+"IzMat Izvestiya: Mathematics",
+"IzAne Izvestiya na Fizicheskiya Institut s Aneb",
+"IzKry Izvestiya Ordena Trudovogo Krasnogo Znameni Krymskoj Astrofizicheskoj Observatorii",
+"IzPSE Izvestiya Physics of the Solid Earth",
+"IzAvT Izvestiya VUZ Aviatsionnaya Tekhnika",
+"IzRad Izvestiya VUZ Radiofizika",
+"IzNic Izviestiia Nikolaevskoi glavnoi astronomicheskoi observatorii",
+"JWUDF Jahns Wöchentliche Unterhaltungen Für Dilettanten und Freunde der Astronomie, Georgraphie und Witterungskunde",
+"JRE.. Jahrbuch der Radioaktivität und Elektronik",
+"JASAC Japan Astronomical Study Association Circulars",
+"JaJAP Japanese Journal of Applied Physics",
+"JJAPL Japanese Journal of Applied Physics Letters B",
+"JJAPR Japanese Journal of Applied Physics Regular Papers Short Notes and Review Papers",
+"JJAPS Japanese Journal of Applied Physics Supplement",
+"JaJAG Japanese Journal of Astronomy and Geophysics",
+"JMMPS Japanese Magazine of Mineralogical and Petrological Sciences",
+"JaIMJ Japan Institute of Metals Journal",
+"JSASS Japan Society of Aeronautical Space Sciences",
+"JSAST Japan Society of Aeronautical Space Sciences Transactions",
+"JSAPJ Japan Society of Air Pollution Journal",
+"JSCMJ Japan Society of Composite Materials Journal",
+"JSLEJ Japan Society of Lubrication Engineers Journal",
+"JSMSJ Japan Society of Materials Science Journal",
+"JSPS. Japan Society of Promotion Science",
+"JSMAJ JASMA Japan Society of Microgravity Application Journal",
+"JMeOp Jemna Mechanika Optika",
+"JenRu Jenaer Rundschau",
+"JenRv Jena Review",
+"JBAn. Jodrell Bank Annals",
+"JBASP Jodrell Bank Ann Ser Pt",
+"JBRe. Jodrell Bank Reprints",
+"JHATD Johns Hopkins APL Technical Digest",
+"JOM.. JOM - Journal of the Minerals, Metals and Materials Society",
+"RSNSW Journal and Proceedings of the Royal Society of New South Wales",
+"JAco. Journal d'Acoustique",
+"JCP.. Journal de Chimie Physique",
+"JCPPC Journal de Chimie Physique et de Physico-Chimie Biologique",
+"JMec. Journal de Mecanique",
+"JMecA Journal de Mecanique Appliquee",
+"JMecT Journal de Mecanique Theorique et Appliquee",
+"JMTAS Journal de Mecanique Theorique et Appliquee Supplement",
+"JPhys Journal de Physique",
+"JPhyC Journal de Physique Colloque",
+"JPR.. Journal de Physique et le Radium",
+"JPhy1 Journal de Physique I",
+"JPhy2 Journal de Physique II",
+"JPhy3 Journal de Physique III",
+"JPhy4 Journal de Physique IV",
+"JPhyL Journal de Physique Lettres",
+"JPhTA Journal de Physique Theorique et Apliquee",
+"JReAt Journal de Recherches Atmospheriques",
+"JAF.. Journal des Astronomes Francais",
+"JO... Journal des Observateurs",
+"JOp.. Journal d'Optique",
+"JTP.. Journal for Technology of Plasticity",
+"JHA.. Journal for the History of Astronomy",
+"JHAS. Journal for the History of Astronomy Supplement",
+"JRAM. Journal fur die reine und angewandte Mathematik",
+"JNanU Journal Nanjing Univ",
+"JNIRE Journal NIRE",
+"JAE.. Journal of Acoustic Emission",
+"JAMDS Journal of Advanced Mechanical Design, Systems, and Manufacturing",
+"JAMES Journal of Advances in Modeling Earth Systems",
+"JAerS Journal of Aerosol Science",
+"JAerE Journal of Aerospace Engineering",
+"JAerP Journal of Aerospace Power",
+"JAfES Journal of African Earth Sciences",
+"JAER. Journal of Agricultural Engineering Research",
+"JAir. Journal of Aircraft",
+"JAlg. Journal of Algebra",
+"JAlgC Journal of Algebraic Combinatorics",
+"JAlgo Journal of Algorithms",
+"JAllC Journal of Alloys and Compounds",
+"JACS. Journal of American Ceramic Society",
+"JAAS. Journal of Analytical Atomic Spectrometry",
+"JApCr Journal of Applied Crystallography",
+"JApEl Journal of Applied Electrochemistry",
+"JAG.. Journal of Applied Geophysics",
+"JApMM Journal of Applied Mathematics and Mechanics",
+"JAM.. Journal of Applied Mechanics",
+"JAMTP Journal of Applied Mechanics and Technical Physics",
+"JApMw Journal of Applied Metalworking",
+"JApMe Journal of Applied Meteorology",
+"JApMC Journal of Applied Meteorology and Climatology",
+"JAPE. Journal of Applied Photographic Engineering",
+"JAP.. Journal of Applied Physics",
+"JAPh. Journal of Applied Physiology",
+"JARS. Journal of Applied Remote Sensing",
+"JASE. Journal of Applied Science and Engineering Section on Electrical Power and Information Systems",
+"JApSc Journal of Applied Sciences",
+"JApSp Journal of Applied Spectroscopy",
+"JApS. Journal of Applied Statistics",
+"JApT. Journal of Approximation Theory",
+"JAESc Journal of Asian Earth Sciences",
+"JAD.. Journal of Astronomical Data",
+"JAHH. Journal of Astronomical History and Heritage",
+"JAI.. Journal of Astronomical Instrumentation",
+"JAsPh Journal of Astronomy and Physics (Turkey)",
+"JASS. Journal of Astronomy and Space Sciences",
+"JApA. Journal of Astrophysics and Astronomy",
+"JApAS Journal of Astrophysics and Astronomy Supplement",
+"JAtOT Journal of Atmospheric and Oceanic Technology",
+"JASTP Journal of Atmospheric and Solar-Terrestrial Physics",
+"JATP. Journal of Atmospheric and Terrestrial Physics",
+"JAtC. Journal of Atmospheric Chemistry",
+"JAtS. Journal of Atmospheric Sciences",
+"JAMOP Journal of Atomic, Molecular and Optical Physics",
+"JAES. Journal of Audio Engineering Society",
+"JAuGG Journal of Australian Geology and Geophysics",
+"JAuR. Journal of Automated Reasoning",
+"JBall Journal of Ballistics",
+"JBBM. Journal of Biochemical and Biophysical Methods",
+"JBB.. Journal of Bioenergetics and Biomembranes",
+"JBC.. Journal of Biological Chemistry",
+"JBP.. Journal of Biological Physics",
+"JBiom Journal of Biomechanics",
+"JBO.. Journal of Biomedical Optics",
+"JBNMR Journal of Biomolecular NMR",
+"JBBC. Journal of Biophysical and Biochemical Cytology",
+"JBiop Journal of Biophysics",
+"JBiBi Journal of Biophysique et Biomecanique",
+"JBMN. Journal of Biophysique et Medecine Nucleaire",
+"JBMR. Journal of Bone and Mineral Research",
+"JBR.. Journal of Breath Research",
+"JCat. Journal of Catalysis",
+"JChEd Journal of Chemical Education",
+"JChPh Journal of Chemical Physics",
+"JChS. Journal of Chromatographic Science",
+"JCh.. Journal of Chromatography",
+"JCSC. Journal of Circuits, Systems and Computers",
+"JCli. Journal of Climate",
+"JCAM. Journal of Climate and Applied Meteorology",
+"JClim Journal of Climatology",
+"JCS.. Journal of Clinical Microbiology",
+"JClP. Journal of Clinical Pharmacology",
+"JCS.. Journal of Cluster Science",
+"JCScT Journal of College Science Teaching",
+"JCIS. Journal of Colloid and Interface Science",
+"JCoSc Journal of Colloid Science",
+"JCTA. Journal of Combinatorial Theory, Series A",
+"JCTB. Journal of Combinatorial Theory, Series B",
+"JCom. Journal of Communications",
+"CoNet Journal of Communications and Networks",
+"JComp Journal of Complexity",
+"JCoMa Journal of Composite Materials",
+"JCTR. Journal of Composites and Technology Research",
+"JCA.. Journal of Computational Acoustics",
+"JTCN. Journal of Computational and Theoretical Nanoscience",
+"JCoAM Journal of Computational and Applied Mathematics",
+"JCoB. Journal of Computational Biology",
+"JCoCh Journal of Computational Chemistry",
+"JCM.. Journal of Computational Mathematics",
+"JCoN. Journal of Computational Neuroscience",
+"JCoPh Journal of Computational Physics",
+"JCST. Journal of Computational Science and Technology",
+"JCMD. Journal of Computer-Aided Materials Design",
+"JCAMD Journal of Computer-Aided Molecular Design",
+"JCoSS Journal of Computer and System Sciences",
+"JCHyd Journal of Contaminant Hydrology",
+"JConP Journal of Contemporary Physics (Armenian Academy of Sciences)",
+"JCos. Journal of Cosmology",
+"JCAP. Journal of Cosmology and Astro-Particle Physics",
+"JCrGr Journal of Crystal Growth",
+"JDR.. Journal of Dairy Research",
+"JDE.. Journal of Differential Equations",
+"JDGeo Journal of Differential Geometry",
+"JoDI. Journal of Digital Information",
+"JDST. Journal of Dispersion Science and Technology",
+"JDisT Journal of Display Technology",
+"JDSO. Journal of Double Star Observations",
+"JDCS. Journal of Dynamical and Control Systems",
+"JDDE. Journal of Dynamics and Differential Equations",
+"JESS. Journal of Earth System Science",
+"JElas Journal of Elasticity",
+"JEEEA Journal of Electrical and Electronics Engineering Australia",
+"JEE.. Journal of Electrical Engineering",
+"JElec Journal of Electroceramics",
+"JEAA. Journal of Electromagnetic Analysis and Application",
+"JEWA. Journal of Electromagnetic Waves and Applications",
+"JECS. Journal of Electronic Circuits and Systems",
+"JEI.. Journal of Electronic Imaging",
+"JEMat Journal of Electronic Materials",
+"JEPub Journal of Electronic Publishing",
+"JECTC Journal of Electronics Cooling and Thermal Control",
+"JElM. Journal of Electronics Manufacturing",
+"JEMT. Journal of Electron Microscopy Technique",
+"JESRP Journal of Electron Spectroscopy and Related Phenomena",
+"JESEd Journal of Elementary Science Education",
+"JEner Journal of Energy",
+"JEAS. Journal of Engineering and Applied Sciences",
+"JEnMa Journal of Engineering and Mathematics",
+"JEngM Journal of Engineering and Mechanics",
+"JETh. Journal of Engineering and Thermophysics",
+"JEER. Journal of Engineering Education Research",
+"JEP.. Journal of Engineering Physics",
+"JEPT. Journal of Engineering Physics and Thermophysics",
+"JEngS Journal of Engineering Sciences",
+"JEEM. Journal of Environmental and Economics Management",
+"JECE. Journal of Environmental Conservation Engineering",
+"JEnvS Journal of Environmental Sciences",
+"JExB. Journal of Experimental Botany",
+"JENan Journal of Experimental Nanoscience",
+"JFF.. Journal of Fire Flammability",
+"JFC.. Journal of Fluid Control",
+"JFM.. Journal of Fluid Mechanics",
+"JFS.. Journal of Fluids and Structures",
+"JFST. Journal of Fluid Science and Technology",
+"JFlu. Journal of Fluorescence",
+"JFAA. Journal of Fourier Analysis and Applications",
+"JFuA. Journal of Functional Analysis",
+"JGeod Journal of Geodesy",
+"JGeo. Journal of Geodynamics",
+"JGS.. Journal of Geographical Systems",
+"JGIS. Journal of Geographic Information System",
+"JG... Journal of Geology",
+"JGG.. Journal of Geomagnetism and Geoelectricity",
+"JGGS. Journal of Geomagnetism and Geoelectricity Supplement",
+"JGP.. Journal of Geometry and Physics",
+"JGR.. Journal of Geophysical Research",
+"JGRD. Journal of Geophysical Research (Atmospheres)",
+"JGRG. Journal of Geophysical Research (Biogeosciences)",
+"JGRF. Journal of Geophysical Research (Earth Surface)",
+"JGRC. Journal of Geophysical Research (Oceans)",
+"JGRE. Journal of Geophysical Research (Planets)",
+"JGRB. Journal of Geophysical Research (Solid Earth)",
+"JGRA. Journal of Geophysical Research (Space Physics)",
+"JGRS. Journal of Geophysical Research Supplement",
+"JGE.. Journal of Geophysics and Engineering",
+"JGZG. Journal of Geophysics Zeitschrift Geophysik",
+"JGeEd Journal of Geoscience Education",
+"JGlac Journal of Glaciology",
+"JGO.. Journal of Global Optimization",
+"JGrPh Journal of Gravitational Physics",
+"JGHyd Journal of Groundwater Hydrology",
+"JGuC. Journal of Guidance Control",
+"JGCD. Journal of Guidance Control Dynamics",
+"JHeu. Journal of Heuristics",
+"JHENP Journal of High Energy and Nuclear Physics",
+"JHEP. Journal of High Energy Physics",
+"JHEPC Journal of High Energy Physics Conference Proceedings",
+"JHSN. Journal of High Speed Networks",
+"JHTS. Journal of High Temperature Society",
+"JHyd. Journal of Hydrology",
+"JHyMe Journal of Hydrometeorology",
+"JHyn. Journal of Hydronautics",
+"JIST. Journal of Imaging Science and Technology",
+"JIPM. Journal of Information Processing and Management",
+"JInfo Journal of Informetrics",
+"JIMW. Journal of Infrared and Millimeter Waves",
+"JInst Journal of Instrumentation",
+"JIntS Journal of Integer Sequences",
+"JIEq. Journal of Integral Equations",
+"JIRS. Journal of Intelligent and Robotic Systems",
+"JIMSS Journal of Intelligent Material Systems and Structures",
+"JIEx. Journal of Ion Exchange",
+"JJAEE Journal of Japan Association for Earthquake Engineering",
+"JJAHS Journal of Japanese Association of Hydrological Sciences",
+"JJSEE Journal of Japanese Society for Engineering Education",
+"JSCSE Journal of Japan Society of Civil Engineers, Ser. A1 (Structural Engineering &amp",
+"JSCAM Journal of Japan Society of Civil Engineers, Ser. A2 (Applied Mechanics (AM))",
+"JSCHE Journal of Japan Society of Civil Engineers, Ser. B1 (Hydraulic Engineering)",
+"JSCGE Journal of Japan Society of Civil Engineers, Ser. C (Geosphere Engineering)",
+"JSCAI Journal of Japan Society of Civil Engineers, Ser. D1 (Architecture of Infrastructure and Environment)",
+"JSCHS Journal of Japan Society of Civil Engineers, Ser. D2 (Historical Studies in Civil Engineering)",
+"JSCIP Journal of Japan Society of Civil Engineers, Ser. D3 (Infrastructure Planning and Management)",
+"JSCPE Journal of Japan Society of Civil Engineers, Ser. E1 (Pavement Engineering)",
+"JSCMC Journal of Japan Society of Civil Engineers, Ser. E2 (Materials and Concrete Structures)",
+"JSCTE Journal of Japan Society of Civil Engineers, Ser. F1 (Tunnel Engineering)",
+"JSCUS Journal of Japan Society of Civil Engineers, Ser. F2 (Underground Space Research)",
+"JSCCE Journal of Japan Society of Civil Engineers, Ser. F3 (Civil Engineering Informatics)",
+"JSCCM Journal of Japan Society of Civil Engineers, Ser. F4 (Construction and Management)",
+"JSCPP Journal of Japan Society of Civil Engineers, Ser. F5 (Professional Practices in Civil Engineering)",
+"JSCSP Journal of Japan Society of Civil Engineers, Ser. F6 (Safety Problem)",
+"JSCER Journal of Japan Society of Civil Engineers, Ser. G (Environmental Research)",
+"JKTR. Journal of Knot Theory and its Ramifications",
+"JKAS. Journal of Korean Astronomical Society",
+"JKASS Journal of Korean Astronomical Society Supplement",
+"JKPS. Journal of Korean Physical Society",
+"JLCMe Journal of Laboratory and Clinical Medicine",
+"JLasA Journal of Laser Applications",
+"JLCM. Journal of Less Common Metals",
+"JLVEn Journal of Light &amp",
+"JLwT. Journal of Lightwave Technology",
+"JLTP. Journal of Low Temperature Physics",
+"JLum. Journal of Luminescence",
+"JMSB. Journal of Macromolecular Science, Part B: Physics",
+"JMSC. Journal of Macromolecular Science, Part C: Reviews in Macromolecular Chemistry and Physics",
+"JMagR Journal of Magnetic Resonance",
+"JMMM. Journal of Magnetism and Magnetic Materials",
+"JMR.. Journal of Marine Research",
+"JMSA. Journal of Marine Science and Application",
+"JMS.. Journal of Marine Systems",
+"JMarA Journal of Maritime Archaeology",
+"JMES. Journal of Materials and Energy Systems",
+"JMCh. Journal of Materials Chemistry",
+"JMEP. Journal of Materials Engineering and Performance",
+"JMPMS Journal of Materials Processing and Manufacturing Science",
+"JMatR Journal of Materials Research",
+"JMatS Journal of Materials Science",
+"JMSME Journal of Materials Science and Materials Electronics",
+"JMSL. Journal of Materials Science Letters",
+"JMSMM Journal of Materials Science: Materials in Medicine",
+"JMSP. Journal of Materials Synthesis and Processing",
+"JMAA. Journal of Mathematical Analysis and Applications",
+"JMCS. Journal of Mathematical and Computational Science",
+"JMPS. Journal of Mathematical and Physical Sciences",
+"JMaCh Journal of Mathematical Chemistry",
+"JMFM. Journal of Mathematical Fluid Mechanics",
+"JMIV. Journal of Mathematical Imaging and Vision",
+"JMP.. Journal of Mathematical Physics",
+"JMPsy Journal of Mathematical Psychology",
+"JMaSc Journal of Mathematical Sciences",
+"JMSo. Journal of Mathematical Sociology",
+"JMaMe Journal of Mathematics and Mechanics",
+"JMaPh Journal of Mathematics and Physics",
+"JMecE Journal of Mechanical and Engineering Science",
+"JMBM. Journal of Mechanical Behavior and Materials",
+"JMSTL Journal of Mechanical Systems for Transportation and Logistics",
+"JMPSo Journal of Mechanics Physics of Solids",
+"JMNB. Journal of Medecine Nucleaire et Biophysique",
+"JMet. Journal of Metals",
+"JMemS Journal of Microelectromechanical Systems",
+"JMiMi Journal of Micromechanics and Microengineering",
+"JMic. Journal of Microscopy",
+"JMPeS Journal of Mineralogical and Petrological Sciences",
+"JMOp. Journal of Modern Optics",
+"JMPh. Journal of Modern Physics",
+"JMBio Journal of Molecular Biology",
+"JMoEl Journal of Molecular Electronics",
+"JMolE Journal of Molecular Evolution",
+"JMoSp Journal of Molecular Spectroscopy",
+"JMoSt Journal of Molecular Structure",
+"JMA.. Journal of Multivariate Analysis",
+"JNUNS Journal of Nanjing University (Natural Sciences)",
+"JNR.. Journal of Nanoparticle Research",
+"JNano Journal of Nanophotonics",
+"JNav. Journal of Navigation",
+"JNIS. Journal of Near Infrared Spectroscopy",
+"JNEng Journal of Neural Engineering",
+"JNeur Journal of Neurochemistry",
+"JNO.. Journal of Neuro-Oncology",
+"JNCS. Journal of Non Crystalline Solids",
+"JNE.. Journal of Nondestructive Evaluation",
+"JNET. Journal of Non Equilibrium Thermodynamics",
+"JNMP. Journal of Nonlinear Mathematical Physics",
+"JNLM. Journal of Non Linear Mechanics",
+"JNOPM Journal of Nonlinear Optical Physics and Materials",
+"JNS.. Journal of NonLinear Science",
+"JNuE. Journal of Nuclear Energy",
+"JNuM. Journal of Nuclear Materials",
+"JNT.. Journal of Number Theory",
+"JOUC. Journal of Ocean University of China",
+"JOC.. Journal of Optical Communications",
+"JON.. Journal of Optical Networking",
+"JOptT Journal of Optical Technology",
+"JOpt. Journal of Optics",
+"JOptA Journal of Optics A: Pure and Applied Optics",
+"JOptB Journal of Optics B: Quantum and Semiclassical Optics",
+"JOTA. Journal of Optimization Theory Applications",
+"JOMS. Journal of Oral and Maxillofacial Surgery",
+"JOR.. Journal of Oral Rehabilitation",
+"JPal. Journal of Paleontology",
+"JPDC. Journal of Parallel and Distributed Computing",
+"JPet. Journal of Petrology",
+"JPhPh Journal of Pharmacy and Pharmacology",
+"JPCRD Journal of Physical and Chemical Reference Data",
+"JPCC. Journal of Physical and Colloid Chemistry",
+"JPhCh Journal of Physical Chemistry",
+"JPCA. Journal of Physical Chemistry A",
+"JPCB. Journal of Physical Chemistry B",
+"JPO.. Journal of Physical Oceanography",
+"JPhSt Journal of Physical Studies",
+"JPhA. Journal of Physics A Mathematical General",
+"JPCS. Journal of Physics and Chemistry of Solids",
+"JPhB. Journal of Physics B Atomic Molecular Physics",
+"JPCM. Journal of Physics Condensed Matter",
+"JPhCS Journal of Physics Conference Series",
+"JPhC. Journal of Physics C Solid State Physics",
+"JPhD. Journal of Physics D Applied Physics",
+"JPhE. Journal of Physics E Scientific Instruments",
+"JPhF. Journal of Physics F Metal Physics",
+"JPhG. Journal of Physics G Nuclear Physics",
+"JPhGS Journal of Physics G Nuclear Physics Supplement",
+"JPE.. Journal of Physics of the Earth",
+"JPTEO Journal of Physics Teacher Education Online",
+"JPhsg Journal of Physiology",
+"JPFR. Journal of Plasma and Fusion Research",
+"JPlPh Journal of Plasma Physics",
+"JPoSc Journal of Polymer Science",
+"JPoSA Journal of Polymer Science A Polymer Chemistry",
+"JPoSB Journal of Polymer Science B Polymer Physics",
+"JPoSL Journal of Polymer Science: Polymer Letters Edition",
+"JPMat Journal of Porous Materials",
+"JPES. Journal of Power and Energy Systems",
+"JPS.. Journal of Power Sources",
+"JPAS. Journal of Practical Applications in Space",
+"JPP.. Journal of Propulsion and Power",
+"JPT.. Journal of Propulsion Technology",
+"JPrCh Journal of Protein Chemistry",
+"JPApS Journal of Pure Applied Sciences",
+"JQT.. Journal of Quality Technology",
+"JQSRT Journal of Quantitative Spectroscopy and Radiative Transfer",
+"JQS.. Journal of Quaternary Science",
+"JRNC. Journal of Radioanalytical and Nuclear Chemistry",
+"JRAC. Journal of Radioanalytical Chemistry",
+"JRP.. Journal of Radiological Protection",
+"JRSp. Journal of Raman Spectroscopy",
+"JRPC. Journal of Reinforced Plastics and Composites",
+"JRes. Journal of Research",
+"JRPhy Journal of Research in Physics",
+"JRScT Journal of Research in Science Teaching",
+"JRIST Journal of Research Institute of Science and Technology, College of Science and Technology, Nihon University",
+"JRNBS Journal of Research of the National Bureau of Standards",
+"JRNBA Journal of Research of the National Bureau of Standards A Physica and Chemsitry",
+"JRNBB Journal of Research of the National Bureau of Standards B Mathematical Sciences",
+"JRTEd Journal of Research on Technology in Education",
+"JResB Journal of Research Section B Mathematical Sciences B",
+"JRheo Journal of Rheology",
+"JRoS. Journal of Robotic Systems",
+"JRLR. Journal of Russian Laser Research",
+"JSEdT Journal of Science Education and Technology",
+"JSTEd Journal of Science Teacher Education",
+"JSCom Journal of Scientific Computing",
+"JScI. Journal of Scientific Instruments",
+"JSIPI Journal of Scientific Instruments and of Physics in Industry",
+"JSR.. Journal of Sea Research",
+"JSedR Journal of Sedimentary Research",
+"JSeis Journal of Seismology",
+"JSemi Journal of Semiconductors",
+"JSGeo Journal of Series Geophysics",
+"JShR. Journal of Ship Research",
+"JSGST Journal of Sol-Gel Science and Technology",
+"JSMME Journal of Solid Mechanics and Materials Engineering",
+"JSSCh Journal of Solid State Chemistry France",
+"JSCh. Journal of Solution Chemistry",
+"JSV.. Journal of Sound Vibration",
+"JSAES Journal of South American Earth Sciences",
+"JSLR. Journal of Soviet Laser Research",
+"JSAR. Journal of Space Astronomy Research",
+"JSpRo Journal of Spacecraft and Rockets",
+"JSpT. Journal of Spacecraft Technology",
+"JSpEn Journal of Space Engineering",
+"JSWSC Journal of Space Weather and Space Climate",
+"JSCS. Journal of Statistical Computation and Simulation",
+"JSMTE Journal of Statistical Mechanics: Theory and Experiment",
+"JSP.. Journal of Statistical Physics",
+"JStA. Journal of Strain Analysis and Engineering Design",
+"JSG.. Journal of Structural Geology",
+"JSM.. Journal of Structural Mechanics",
+"JSup. Journal of Superconductivity",
+"JSymC Journal of Symbolic Computation",
+"JSDD. Journal of System Design and Dynamics",
+"JTePh Journal of Technical Physics",
+"JTech Journal of Technology",
+"JTeEv Journal of Testing Evaluation",
+"JASJa Journal of the Acoustical Society of Japan",
+"JAVSO Journal of the American Association of Variable Star Observers (JAAVSO)",
+"JAChS Journal of the American Chemical Society",
+"JAMS. Journal of the American Mathematical Society",
+"JASIS Journal of the American Society for Information Science and Technology",
+"JASCE Journal of the American Society of Civil Engineers",
+"JAWRA Journal of the American Water Resources Association",
+"JALPO Journal of the Association of Lunar and Planetary Observers, the Strolling Astronomer",
+"JAnSc Journal of the Astronautical Sciences",
+"JASEg Journal of the Astronomical Society of Egypt",
+"JASSA Journal of the Astronomical Society of Southern Africa",
+"JASV. Journal of the Astronomical Society of Victoria Melbourne",
+"JASWA Journal of the Astronomical Society of Western Australia",
+"JBAA. Journal of the British Astronomical Association",
+"JBAS. Journal of the British Astronomical Society",
+"JBIS. Journal of the British Interplanetary Society",
+"JCSS. Journal of the Chinese Silicate Society",
+"JElS. Journal of the Electrochemical Society",
+"FrInJ Journal of The Franklin Institute",
+"JGSJ. Journal of the Geodetic Society of Japan",
+"JIISB Journal of the Indian Institute of Science Section B Physical and Chemical Series",
+"JIEEJ Journal of The Institute of Electrical Engineers of Japan",
+"JIMIA Journal of the Institute of Mathematics and Its Applications",
+"JIPNT Journal of the Institute of Positioning, Navigation and Timing of Japan",
+"JIETE Journal of the Institution of Electronics and Telecommunication Engineers",
+"JJSMS Journal of the Japan Society for Marine Surveys and Technology",
+"JLMS. Journal of the London Mathematical Society",
+"JORS. Journal of the Operational Research Society",
+"JOSA. Journal of the Optical Society of America (1917-1983)",
+"JOSAA Journal of the Optical Society of America A",
+"JOSAB Journal of the Optical Society of America B Optical Physics",
+"JTAM. Journal of Theoretical and Applied Mechanics",
+"JTBio Journal of Theoretical Biology",
+"JPSJ. Journal of the Physical Society of Japan",
+"JPSJS Journal of the Physical Society of Japan Supplement",
+"JTAC. Journal of Thermal Analysis and Calorimetry",
+"JThSc Journal of Thermal Science",
+"JJTST Journal of Thermal Science and Technology",
+"JTST. Journal of Thermal Spray Technology",
+"JThSt Journal of Thermal Stresses",
+"JTh.. Journal of Thermodynamics",
+"JTHT. Journal of Thermophysics and Heat Transfer",
+"JThCM Journal of Thermoplastic Composite Materials",
+"JRASA Journal of the Royal Aeronautical Society of London",
+"JRASC Journal of the Royal Astronomical Society of Canada",
+"JRASN Journal of the Royal Astronomical Society of New Zealand",
+"JRCSE Journal of the Royal College of Surgeons of Edinburgh",
+"JRSSD Journal of the Royal Statistical Society: Series D (The Statistician)",
+"JSRP. Journal of the Society for Radiological Protection",
+"JSPST Journal of The Society of Photographic Science and Technology of Japan",
+"JSARA Journal of the Southeastern Association for Research in Astronomy",
+"JSD.. Journal of the Structural Division, American Society of Civil Engineers",
+"JVSJ Journal of the Vacuum Society of Japan",
+"JWasA Journal of the Washington Academy of Sciences",
+"JTF.. Journal of Time and Frequency",
+"JTurb Journal of Turbulence",
+"JVST. Journal of Vacuum Science Technology",
+"JVSTA Journal of Vacuum Science Technology A: Vacuum Surfaces and Films",
+"JVSTB Journal of Vacuum Science Technology B: Microelectronics and Nanometer Structures",
+"JVC.. Journal of Vibration and Control",
+"JVE.. Journal of Vibration Engineering",
+"JVCIR Journal of Visual Communication and Image Representation",
+"JVGR. Journal of Volcanology and Geothermal Research",
+"JWMSE Journal of Women and Minorities in Science and Engineering",
+"JXST. Journal of X-Ray Science and Technology",
+"RpScT JPRS Report Science Technology USSR Space",
+"JSMB. JSME Bulletin",
+"JSMEJ JSME International Journal",
+"JSMEA JSME International Journal Series A",
+"JSMEB JSME International Journal Series B",
+"JSMEC JSME International Journal Series C",
+"JSMET JSME Transactions",
+"KKR.. Kagaku Kogaku Ronbunshu",
+"MmKMO Kakioka Magnetic Observatory Memoirs",
+"KEIJ. Kansei Engineering International Journal",
+"GroR. Kapteyn Astronomical Laboratory Groningen Reports",
+"KIzKU Kazan Izdatel Kazanskogo Universiteta",
+"MeeRe Kenneth Mees Observatory Reprints",
+"KernR Kernforschungsanlage Rept Res Results Solid State Nucl Phys",
+"KexT. Kexue Tongbao",
+"Khago Khagol",
+"KharI Kharkov Izdanie IRE AN USSR",
+"KTTM. Khimiia i Tekhnologiia Topliv i Masel",
+"KhPl. Khimiia Plazmy",
+"KVnT. Kibernetika i Vychislitel naia Tekhnika",
+"KiInF Kiev Institut Fiziki AN USSR",
+"KiInM Kiev Institut Matematiki AN USSR",
+"KIPME Kiev Institut Problem Modelirovaniia Energetike AN USSR",
+"KIzIM Kiev Izdanie Instituta Matematiki AN USSR",
+"KiIND Kiev Izdatel Naukova Dumka",
+"KiIzT Kiev Izdatel Tekhnika",
+"KIzVS Kiev Izdatel Vishcha Shkola",
+"KiePr Kievskij Ordena Lenina Gosudarstvennyj Universitet Shevchenko Astronomicheskaya Observatoriya - Preprint",
+"KPCB. Kinematics and Physics of Celestial Bodies",
+"KPCBS Kinematics and Physics of Celestial Bodies, Supplement",
+"KFNT. Kinematika i Fizika Nebesnykh Tel",
+"KFNTS Kinematika i Fizika Nebesnykh Tel Supplement",
+"KiCat Kinetics and Catalysis",
+"KIzS. Kishinev Izdatel Shtiintsa",
+"KPNON Kitt Peak National Observatory Newsletter",
+"KVeBB Kleine Veroeffentlichungen der Universitaetssternwarte zu Berlin Babelsberg",
+"KlBer Kleinheubacher Berichte",
+"KodOB Kodaikanal Observatory Bulletins",
+"KodRe Kodaikanal Observatory Reprints",
+"KomTs Kometnyj Tsirkulyar",
+"KomMe Komety i Meteory",
+"KNAB. Koninklijke Nederlandse Akademie van Weteschappen Proceedings Series B Physical Sciences",
+"KIMMJ Korean Institute of Metals and Materials Journal",
+"KNT.. Kosmicheskaia Nauka i Tekhnika",
+"KosIs Kosmicheskie Issledovaniia",
+"KosIU Kosmicheskie Issledovaniia Ukraine",
+"KosLu Kosmicheskie Luchi",
+"KosNT Kosmichna Nauka i Tekhnologiya",
+"Kozmo Kozmos",
+"KT... K-Theory",
+"KSVH. Kungl. Svenska Vetenskapsakademiens Handlingar",
+"KvanE Kvantovaia Elektronika Moscow",
+"Kyb.. Kybernetes",
+"KyoMe Kyoto University Faculty Engineering Memoirs",
+"KyITB Kyushu Institute Technology Bulletin",
+"KUFEM Kyushu University Faculty Engineering Memoirs",
+"KyUAM Kyushu University Research Institute Applied Mechanics Reports",
+"KyUSR Kyushu University Research Institute Industrial Science Reports",
+"KyUTR Kyushu University Technology Reports",
+"LChip Lab on a Chip",
+"AerAs L'Aeronautique et L'Astronautique",
+"AerMS L'Aerotecnica Missili e Spazio",
+"LHBl. La Houille Blanche",
+"Meteo La Meteorologie",
+"LDD.. Land Degradation &amp",
+"LanB. Landolt Börnstein",
+"Langm Langmuir",
+"LaJ.. Lapidary Journal",
+"Rech. La Recherche",
+"ReAer La Recherche Aerospatiale",
+"ReAeB La Recherche Aerospatiale Bimonthly Bulletin ESA",
+"ReSp. La Recherche Spatiale",
+"LPB.. Laser and Particle Beams",
+"LaEO. Laser Elektro Optik",
+"LaFoc Laser Focus",
+"LasJ. Laser Journal",
+"LaPhy Laser Physics",
+"LaPhL Laser Physics Letters",
+"LaPhR Laser Physics Review",
+"Astrf L'Astrofilo Bolletino Trimestral del Gruppo Astrofili Villaggio Sereno Brescia",
+"LAstr L'Astronomie",
+"LTerm La Termotecnica",
+"LatJP Latvian Journal of Physics and Technical Sciences",
+"LatME Latviiskii Matematicheskii Ezhegodnik",
+"LawOB Laws Observatory Bulletin, University of Missouri",
+"LBLRR LBL Research Review",
+"ASPL. Leaflet of the Astronomical Society of the Pacific",
+"ASPLS Leaflet of the Astronomical Society of the Pacific (Supplement)",
+"LePub Learned Publishing",
+"LERec L'Echo des Recherches",
+"Ciel. Le Ciel",
+"LNEA. Lecture Notes and Essays in Astrophysics",
+"LNSP. Lecture Notes and Supplements in Physics",
+"LNCS. Lecture Notes in Computer Science",
+"LNES. Lecture Notes in Earth Sciences, Berlin Springer Verlag",
+"LNEn. Lecture Notes in Engineering, Berlin Springer Verlag",
+"LNM.. Lecture Notes in Mathematics, Berlin Springer Verlag",
+"LNP.. Lecture Notes in Physics, Berlin Springer Verlag",
+"LNPAM Lecture Notes in Pure and Applied Mathematics",
+"LeBAN Leningrad Biblioteka Akademii Nauk SSSR",
+"LeEne Leningrad Energoizdat",
+"LeGid Leningrad Gidrometeoizdat",
+"PrAtO Leningrad Gidrometeoizdat Sovremennye Problemy Atmosfernoi Optiki",
+"LeIzE Leningrad Izdatel Energiia",
+"LeIzG Leningrad Izdatel Gidrometeoizdat",
+"LeIzK Leningrad Izdatel Khimiia",
+"LeIzU Leningrad Izdatel Leningradskogo Universiteta",
+"LeIzM Leningrad Izdatel Mashinostroenie",
+"LeIzN Leningrad Izdatel Nauka",
+"LIzNe Leningrad Izdatel Nedra",
+"IzLen Leningrad, Izdatel'stvo Nauka",
+"LeIzS Leningrad Izdatel Sudostroenie",
+"LeLen Leningrad Lenizdat",
+"LGUPM Leningradskii Gosudarstvennyi Universitet Problemy Matematicheskoi Fiziki",
+"VeLen Leningradskii Universitet Vestnik Matematika Mekhanika Astronomiia",
+"LeRad Le Radium",
+"Leo.. Leonardo",
+"LFTR. LEST Foundation, Technical Report",
+"LHMT. Letters Heat Mass Transfer",
+"LAES. Letters in Applied and Engineering Sciences",
+"LMaPh Letters in Mathematical Physics",
+"LicOB Lick Observatory Bulletin",
+"LFR.. Lietuvos Fizikos Rinkinys",
+"LDA.. Lifetime Data Analysis",
+"LLabJ Lincoln Laboratory Journal",
+"LiCr. Liquid Crystals",
+"Litho Lithos",
+"LitJP Lithuanian Journal of Physics and Technical Sciences",
+"LRR.. Living Reviews in Relativity",
+"LRSP. Living Reviews in Solar Physics",
+"LockH Lockheed Horizons",
+"LOEle L'Onde Electrique",
+"LowOB Lowell Observatory Bulletin",
+"LTP.. Low Temperature Physics",
+"LPIBu LPI Bulletin",
+"LPICo LPI Contributions",
+"LubEn Lubrication Engineering",
+"LR... Luft und Raumfahrt",
+"LuRaQ Luft und Raumfahrt Quarter",
+"LPSC. Lunar and Planetary Science Conference Proceedings",
+"LCEC. Luxembourg Commission European Communities",
+"LIVS. Lvov Izdatel Vishcha Shkola",
+"LvoTs L'vovskij Ordena Lenina Gosudarstvennyj Universitet Tsirkulyar",
+"MaDes Machine Design",
+"MLear Machine Learning",
+"MmCP. Macromolecular Chemistry and Physics",
+"MaMol Macromolecules",
+"MadOO Madras Observatory Astronomical Observations",
+"MadOb Madras Observatory Observations",
+"MagFE Magnetic Fusion Energy",
+"MRMed Magnetic Resonance in Medicine",
+"MRMPB Magnetic Resonance Materials in Physics Biology and Medicine",
+"MRRev Magnetic Resonance Review",
+"MHD.. Magnetohydrodynamics",
+"MagGi Magnitnaia Gidrodinamika",
+"MagIs Magnitosfernye Issledovaniia",
+"MTACI Magyar Tudomanyos Akademia Csillagvizsgalo Intezetenek koezlemenyei",
+"MAWMN Mainz Akademie Wissenschaften Mathematisch Naturwissenschaftliche Klasse",
+"Lapa. Majalah LAPAN",
+"MWGBI Mannheim West Germany Bibliographisches Institut AG",
+"MaTeJ ManTech Journal",
+"MGeo. Manuscr. Geod.",
+"ManGe Manuscripta Geodaetica",
+"MarRv Marconi Review",
+"MarGe Marine Geodesy",
+"MarGR Marine Geophysical Research",
+"MarPG Marine Petroleum Geology",
+"Mars. Mars",
+"Mashi Mashinostroenie",
+"MsT.. Masters Thesis",
+"MaFiz Matematicheskaia Fizika",
+"MFiNM Matematicheskaia Fizika i Nelineinaia Mekhanika",
+"MatIs Matematicheskie Issledovaniia",
+"MMFMP Matematicheskie Metody i Fiziko Mekhanicheskie Polia",
+"MISTr Matematicheskii Institut imeni Steklova Trudy",
+"MMTET Matematicheskoe Modelirovanie i Teoriia Elektricheskikh Tsepei",
+"MatVe Matematichki Vesnik",
+"Mater Materialpruefung",
+"Mate. Materials",
+"MMP.. Materials and Manufacturing Processes",
+"MCP.. Materials Chemistry and Physics",
+"MaHT. Materials at High Temperatures",
+"MatEv Materials Evaluation",
+"MatL. Materials Letters",
+"MaRBu Materials Research Bulletin",
+"MRSSP Materials Research Society Symposia Proceedings",
+"MSEng Materials Science and Engineering",
+"MSEnA Materials Science and Engineering A",
+"MSEnB Materials Science and Engineering B",
+"MSEnC Materials Science and Engineering C",
+"MSEnR Materials Science and Engineering R Reports",
+"MSTec Materials Science and Technology",
+"MSF.. Materials Science Forum",
+"MatSP Materials Science Poland",
+"MatST Materials Science Technology",
+"MatTr Materials Transactions JIM",
+"MatTe Materiaux et Techniques",
+"MComM Mathematical and Computer Modelling",
+"MEI.. Mathematical Engineering Industry",
+"MaFi. Mathematical Finance",
+"MatG. Mathematical Geology",
+"MMAS. Mathematical Methods in the Applied Sciences",
+"MatM. Mathematical Modelling",
+"MMNA. Mathematical Modelling Numerical Analysis",
+"M3AS. Mathematical Models and Methods in Applied Sciences",
+"MPAG. Mathematical Physics, Analysis and Geometry",
+"MPAM. Mathematical Physics and Applied Mathematics",
+"MaPEJ Mathematical Physics Electronic Journal",
+"MaPhS Mathematical Physics Studies",
+"MaPr. Mathematical Proceedings",
+"MPCPS Mathematical Proceedings of the Cambridge Philosophical Society",
+"MatPr Mathematical Programming",
+"MatRv Mathematical Reviews",
+"MMS.. Mathematics and Mechanics of Solids",
+"MEdRJ Mathematics Education Research Journal",
+"MaCom Mathematics of Computation",
+"Mat.. Mathematika",
+"MatAn Mathematische Annalen",
+"MatNa Mathematische Nachrichten",
+"MatZe Mathematische Zeitschrift",
+"MitAe Max Planck Institut Aeronomie Mitteilungen",
+"MPARp Max Planck Institut fur Astrophysik Report",
+"Meas. Measurements",
+"MeScT Measurement Science and Technology",
+"MeScR Measurement Science Review",
+"Mecc. Meccanica",
+"MecEn Mechanical Engineering",
+"MSSP. Mechanical Systems and Signal Processing",
+"MPDS. Mechanics and Physics of Discrete Systems",
+"MCMS. Mechanics of Composite Materials",
+"MSM.. Mechanics of Structures and Machines",
+"MTDM. Mechanics of Time-Dependent Materials",
+"MeReC Mechanics Research Communications",
+"MeTeS Mechanika Teoretyczna i Stosowana",
+"MeMaT Mechanism and Machine Theory",
+"MeUpp Meddelanden fran Astronomiska Observatorium Uppsala",
+"MeLu1 Meddelanden fran Lunds Astronomiska Observatorium Serie I",
+"MeLu2 Meddelanden fran Lunds Astronomiska Observatorium Serie II",
+"MeAar Meddelser fra Ole Romer Observatoriet Aarhus",
+"MeGen Mededelingen Universiteit te Gent Sterrenkundig Instituut",
+"MeLeu Mededelingen van het Astronomisch Instituut van de Katholieke Universiteit Leuven",
+"MedPh Medical Physics",
+"MekGS Mekhanika Giroskopicheskikh Sistem",
+"MekKM Mekhanika Kompozitnykh Materialov",
+"MekP. Mekhanika Polimerov",
+"MekTT Mekhanika Tverdogo Tela",
+"MelAR Melbourne Observatory Annual Report",
+"MelOO Melbourne Observatory Observations",
+"MmEbr Memoires de l'Observatoire de l'Ebre",
+"MmARB Memoires of the Academie Royale de Belgique",
+"MmMtS Memoires of the Mount Stromlo Observervatory",
+"MSRSL Memoires of the Societe Royale des Sciences de Liege",
+"MeSRM Memoires Scientifiques de la Revue de Metallurgie",
+"MmKyo Memoirs Faculty of Sciences University of Kyoto",
+"MmASI Memoirs of the Astronomical Society of India",
+"MmBAA Memoirs of the British Astronomical Association",
+"MmRAS Memoirs of the Royal Astronomical Society",
+"MmSAI Memorie della Societa Astronomica Italiana",
+"MSAIS Memorie della Societa Astronomica Italiana Supplementi",
+"MmSSI Memorie della Societa Degli Spettroscopisti Italiani",
+"MmSS. Memorie della Societa Degli Spettroscopisti Italiani, serie 2",
+"MmSGI Memorie della Societa Geologica Italiana",
+"MmNap Memorie del R. Osservatorio di Capodimonte in Napoli",
+"MeCom Mendeleev Communications",
+"Mercu Mercury",
+"MeAut Meres es Automatika",
+"MeRAu Mesures Regulation Automatisme",
+"Metal Metallofizika",
+"MTObM Metallovedenie i Termicheskaia Obrabotka Metallov",
+"MMTA. Metallurgical and Materials Transactions A",
+"MMTB. Metallurgical and Materials Transactions B",
+"MTA.. Metallurgical Transactions A",
+"MTB.. Metallurgical Transactions B",
+"MTPMM Metallurgical Transactions Physical Metallurgy Materials Science",
+"MetaM Metamaterials",
+"MTRMA Meteor Forschungsergebnisse Reihe B Meteorologie und Aeronomie",
+"Metit Meteorites",
+"Met.. Meteorite - The International Quarterly of Meteorites and Meteorite Science",
+"Metic Meteoritics",
+"Metik Meteoritika",
+"MetRR Meteornoe Rasprostranenie Radiovoln",
+"MetIs Meteornye Issledovaniia",
+"MeApp Meteorological Applications",
+"MetMa Meteorological Magazine",
+"MetMo Meteorological Monographs",
+"MSCTN Meteorological Satellite Center Technical Note",
+"MeSJJ Meteorological Society of Japan Journal",
+"MetZp Meteorologicke Zpravy",
+"MeGid Meteorologiia i Gidrologiia",
+"MetRu Meteorologische Rundschau",
+"MetZe Meteorologische Zeitschrift",
+"MAP.. Meteorology and Atmospheric Physics",
+"MetAP Meteorology Atmospheric Physics",
+"MetHy Meteorology Hydrology JPRS",
+"MeRR. Meteor. rasprostr. radiovoln, Kazan",
+"MVMP. Methoden und Verfahren der Mathematischen Physik",
+"MCME. Methods: A Companion to Methods in Enzymology",
+"MApAn Methods and Applications of Analysis",
+"MComP Methods in Computational Physics",
+"MGG.. Methods in Geochemistry and Geophysics",
+"MSB.. Methods in Subnuclear Physics",
+"MExP. Methods of Experimental Physics",
+"MetVy Metody Vychislenii",
+"Metro Metrologia",
+"MicEc Microbial Ecology",
+"MPFD. Microdevices: Physics and Fabrication Technologies",
+"MiEng Microelectronic Engineering",
+"MiI.. Microelectronics International",
+"MiRe. Microelectronics Reliability",
+"MicgQ Microgravity Quarterly",
+"MiST. Microgravity Science and Technology",
+"MTEng Microscale Thermophysical Engineering",
+"MiMic Microscopy and Microanalysis",
+"MiOTL Microwave and Optical Technology Letters",
+"MiJo. Microwave Journal",
+"MicWa Microwaves",
+"AcMik Mikrochimica Acta",
+"Mikro Mikroelektronika",
+"MikSb Mikroelektronika Sbornik",
+"MAIMT Milan Associazione Italiana di Meccanica Teorica ed Applicata",
+"MSMFR Milano Seminario Matematico e Fisico Rendiconti",
+"MiElC Military Electronics Countermeasures",
+"MiLa. Mind and Language",
+"MinDe Mineralium Deposita",
+"Miner Mineralogia",
+"MinM. Mineralogical Magazine",
+"MinPe Mineralogy and Petrology",
+"MinPh Mineral Physics",
+"MWE.. Mine Water and The Environment",
+"MPBu. Minor Planet Bulletin",
+"MPC.. Minor Planet Circulars",
+"MPEC. Minor Planet Electronic Circulars",
+"IzMin Minsk Izdatel BGU",
+"MiINT Minsk Izdatel Nauka i Tekhnika",
+"MisSp Missiles Spacecraft",
+"MAPSE Mission Analysis Program Solar Electric Propulsion MAPSEP",
+"MHITR Mitsubishi Heavy Industries Technical Review",
+"MitAG Mitteilungen der Astronomischen Gesellschaft Hamburg",
+"MiBon Mitteilungen der Astronomischen Institute der Universitaet Bonn",
+"MiBas Mitteilungen der Astronomisch-Meteorologischen Anstalt der Universitaet Basel Astronomische Reihe",
+"MiHar Mitteilungen der Bruno-H.-Buergel-Sternwarte Hartha DDR",
+"MiHam Mitteilungen der Hamburger Sternwarte in Bergedorf",
+"MiKon Mitteilungen der Konkoly Sternwarte Budapest-Szabadsaghegy",
+"MiPul Mitteilungen der Nikolai-Hauptsternwarte zu Pulkowo",
+"MiBud Mitteilungen der Sternwarte der Ungarischen Akademie der Wissenschaften Budapest",
+"MiInn Mitteilungen der Sternwarte Innsbruck",
+"MiMun Mitteilungen der Sternwarte Munchen",
+"MiSon Mitteilungen der Sternwarte zu Sonneberg",
+"MiGra Mitteilungen der Universitaets-Sternwarte Graz",
+"MiWie Mitteilungen der Universitaets-Sternwarte Wien",
+"MiJen Mitteilungen der Universitaets-Sternwarte zu Jena",
+"MiTue Mitteilungen des Astronomischen Instituts der Universitaet Tuebingen",
+"MiMue Mitteilungen des Astronomischen Instituts des Universitaet Munster",
+"MiPot Mitteilungen des Astrophysikalischen Observatoriums Potsdam",
+"MiGIR Mitteilungen Geod. Institut Rheinischen Friedrich-Wilhelms-Universitaets. Bonn",
+"MSMSE Modelling Simul. Mater. Sci. Eng.",
+"MAG.. Modern Approaches in Geophysics",
+"ModGe Modern Geology",
+"ModIn Modern Instrumentation",
+"MIMPE Modern Instrumentation and Measurements in Physics and Engineering",
+"ModPh Modern Physics",
+"MPLA. Modern Physics Letters A",
+"MPLB. Modern Physics Letters B",
+"MJPS. Moldavian Journal of the Physical Sciences",
+"MBB.. Molecular Biology and Biophysics",
+"MBBB. Molecular Biology Biochemistry and Biophysics",
+"MCLC. Molecular Crystals and Liquid Crystals",
+"MGM.. Molecular Genetics and Metabolism",
+"MolPh Molecular Physics",
+"MoPhR Molecular Physics Reports",
+"MoSim Molecular Simulation",
+"MCBEH Monatliche Correspondenz zur Beforderung der Erd- und Himmels-kunde",
+"WisBB Monatsber. Deutsch. Akad Wissenschaftliche Berlin",
+"MEEP. Monographs on Environment, Earth and Planets",
+"MNSSJ Monthly notes of the Astronomical Society of South Africa",
+"MNSSA Monthly Notes of the Astronomical Society of South Africa",
+"MNRAS Monthly Notices of the Royal Astronomical Society",
+"MWRv. Monthly Weather Review",
+"Moon. Moon",
+"MorGI Morskie Gidrofizicheskie Issledovaniia",
+"MAtom Moscow Atomizdat",
+"MoEBA Moscow Energoatomizdat Biblioteka Automatike",
+"MEner Moscow Energoizdat",
+"MoGid Moscow Gidrometeoizdat",
+"MoIKI Moscow Institut Kosmicheskikh Issledovanii AN SSSR",
+"MoIPM Moscow Institut Prikladnoi Matematiki AN SSSR",
+"MoIzA Moscow Izdatel Atomizdat",
+"MoIzE Moscow Izdatel Energiia",
+"MIEBA Moscow Izdatel Energiia Biblioteka Avtomatike",
+"MIEBR Moscow Izdatel Energiia Biblioteka Radioelektronike",
+"MoIzK Moscow Izdatel Khimiia",
+"MIzLI Moscow Izdatel Legkaia Industriia",
+"MIzMa Moscow Izdatel Mashinostroenie",
+"MIzMe Moscow Izdatel Metallurgiia",
+"MoIzM Moscow Izdatel Moskovskogo Universiteta",
+"MIzMU Moscow Izdatel Moskovskogo Universiteta Pt",
+"MoIzN Moscow Izdatel Nauka",
+"MINFI Moscow Izdatel Nauka AN SSR Fizicheskii Institut Trudy",
+"MINCV Moscow Izdatel Nauka AN SSSR Chteniia imeni Vernadskogo",
+"MoINA Moscow Izdatel Nauka AN SSSR Fizicheskii Institut Trudy",
+"MINGI Moscow Izdatel Nauka AN SSSR Geologicheskoi Institut Trudy",
+"MINMI Moscow Izdatel Nauka AN SSSR Matematicheskii Institut Trudy",
+"MoINI Moscow Izdatel Nauka Issledovaniia Geomagnetizmu Aeronomii i Fizike Solntsa",
+"MINTF Moscow Izdatel Nauka Teoreticheskaia Fizika",
+"MINVS Moscow Izdatel Nauka Vychislitel naia Seismologiia",
+"MIzNe Moscow Izdatel Nedra",
+"MIzRS Moscow Izdatel Radio Sviaz",
+"MIzSR Moscow Izdatel Sovetskoe Radio",
+"MISRI Moscow Izdatel Sovetskoe Radio Ionosfernye Issledovaniia",
+"MoIzS Moscow Izdatel Sviaz",
+"MISST Moscow Izdatel Sviaz Statisticheskaia Teoriia sviazi",
+"MoIzT Moscow Izdatel Transport",
+"MoIzV Moscow Izdatel VINITI",
+"MIzVS Moscow Izdatel Vysshaia Shkola",
+"MoIzZ Moscow Izdatel Znanie",
+"MIZNZ Moscow Izdatel Znanie Novoe Zhizni Nauke Tekhnike Seriia Fizika",
+"MosIZ Moscow IZMIRAN",
+"MoMTN Moscow Mezhdunarodnyi Tsentr Nauchnoi i Tekhnicheskoi Informatsii",
+"MoMGK Moscow Mezhduvedomstvennyi Geofizicheskii Komitet",
+"MUPB. Moscow University Physics Bulletin",
+"MoVIN Moscow VINITI",
+"MosVo Moscow Voenizdat",
+"MosVI Moscow Voennoe Izdatel",
+"MoVNT Moscow Vychislitel nyi Tsentr AN SSSR",
+"MoVyS Moscow Vysshaia Shkola",
+"MoLLP Moshchnye lazery i lazernaia plazma",
+"MoEIT Moskovskii Energeticheskii Institut Trudy",
+"MGUMN Moskovskii Gosudarstvennyi Universitet Institut Mekhaniki Nauchnye Trudy",
+"MGIMO Moskovskii Gosudarstvennyi Universitet Institut Mekhaniki Otchet",
+"MVSFA Moskovskii Universitet Vestnik Seriia Fizika Astronomiia",
+"MUVSK Moskovskii Universitet Vestnik Seriia Khimiia",
+"MVSMM Moskovskii Universitet Vestnik Seriia Matematika Mekhanika",
+"MGTVM Moskovskij Gosudarstvennyj Tekhnicheskij Universitet Vestnik Seriya Mashinostroenie",
+"MGTVP Moskovskij Gosudarstvennyj Tekhnicheskij Universitet Vestnik Seriya Priborostroenie",
+"MotZe Motortechnische Zeitschrift",
+"MtSOM Mount Stromlo Observatory Mimeographs",
+"MtSRe Mount Stromlo Observatory Reprints",
+"MtWAR Mount Wilson and Palomar Observatory Annual Report",
+"MtWRe Mount Wilson and Palomar Observatory Reprints",
+"MWOAR Mount Wilson Observatory Annual Report",
+"MPERp MPE Report",
+"MRSBu MRS Bulletin",
+"MUSS. Muenchen Universitaets Schriften Serie",
+"MROVG Munich R Oldenbourg Verlag GmbH",
+"NISZ. Nabliudeniia Iskusstvennykh Sputnikov Zemli",
+"NINT. Nablyud. Iskusstvennykh Nebesnykh Tel",
+"NAZ.. Nachrichtenblatt der Astronomischen Zentralstelle Heidelberg",
+"NVS.. Nachrichtenblatt der Vereinigung der Sternfreunde",
+"NacEl Nachrichten Elektronik",
+"NGFAW Nachrichtentechnische Gesellschaft Fachtagung ueber Antennen",
+"NacZe Nachrichtentechnische Zeitschrift",
+"NOGB. Nachr. Olbers-Ges. Bremen",
+"NUFEM Nagoya University Faculty Engineering Memoirs",
+"NURIA Nagoya University Research Institute of Atmospherics Proceedings",
+"NUSEM Nagoya University School Engineering Memoirs",
+"NaAIJ Nanjing Aeronautical Institute Journal",
+"NUAAJ Nanjing University Aeronautics and Astronautics Journal",
+"NanoL Nano Letters",
+"Nanos Nanoscale",
+"NRL.. Nanoscale Research Letters",
+"Nanot Nanotechnology",
+"NIUNA Napoli Istituto Universitario Navale Annali",
+"NASCL NASA Circular Letter",
+"PDSS. NASA Planetary Data System",
+"NASRP NASA Reference Publication",
+"NASSP NASA Special Publication",
+"STIA. NASA STI/Recon Technical Report A",
+"STIN. NASA STI/Recon Technical Report N",
+"NASTM NASA Technical Memo",
+"NBSSP National Bureau of Standards Special Publication",
+"NBSTN National Bureau of Standards Technical Note",
+"NaGe. National Geographic",
+"NISTJ National Institute of Standards and Technology Journal of Research",
+"PolRe National Institute Polar Research Memoirs",
+"BAth. National Observatory of Athens Greece Bulletin of the Astronomical Institute",
+"NRAON National Radio Astronomy Observatory Newsletter",
+"NRAOR National Radio Astronomy Observatory Reprints",
+"NRAOW National Radio Astronomy Observatory Workshop",
+"NUDTJ National University Defense Technology Journal",
+"NHESS Natural Hazards and Earth System Sciences",
+"NatH. Natural History",
+"NatSc Natural Science",
+"Natur Nature",
+"NatBi Nature Biotechnology",
+"NatCh Nature Chemistry",
+"NatCC Nature Climate Change",
+"NatCo Nature Communications",
+"NatGe Nature Geoscience",
+"NatMa Nature Materials",
+"NatNa Nature Nanotechnology",
+"NaPho Nature Photonics",
+"NPhS. Nature Physical Science",
+"NatPh Nature Physics",
+"NatSR Nature Scientific Reports",
+"NW... Naturwissenschaften",
+"NInfo Nauchnye Informatsii",
+"NRRv. Naval Research Reviews",
+"Navig Navigation",
+"NavAu Navigation Australia",
+"NavPa Navigation Paris",
+"NVVSR Nederlandse Vereiniging voor Weer en Sterrenkunde Werkgroep veranderlijke Sterren Reports",
+"NCNS. Network: Computation in Neural Systems",
+"NSpEc Networks and Spatial Economics",
+"AnBog Neue Annalen der Koeniglichen Sternwarte in Bogenhausen bei Muenchen",
+"NJMM. Neues Jahrbuch Mineralogie Monatshefte",
+"NeCom Neural Computation",
+"NN... Neural Networks",
+"NeuL. Neuroscience Letters",
+"NPNDS Neutron Physics and Nuclear Data in Science and Technology",
+"NewA. New Astronomy",
+"NewAR New Astronomy Reviews",
+"NJCh. New Journal of Chemistry",
+"NJPh. New Journal of Physics",
+"NewSc New Scientist",
+"ASNYN News Letter of the Astronomical Society of New York",
+"ICHIN Newsletters of the Interdivisional Commission on History of the IAGA",
+"NTN.. New Technology News",
+"NZJGG New Zealand Journal Geology and Geophysics",
+"NZJS. New Zealand Journal of Science",
+"NKG.. Nihon Kessho Gakkaishi",
+"NOHIC Nizamiah JAPAL Rangapur Observatories Hyderabad India Contributions",
+"NizRe Nizamiah Observatory Reprints",
+"NCE.. Noise Control Engineering Journal",
+"NTE.. Nondestructive Testing and Evaluation",
+"NDTI. Nondestructive Testing and Evaluation International",
+"NTCo. Nondestructive Testing Communications",
+"NPPSB Nonequilibrium Problems in the Physical Sciences and Biology",
+"NATM. Nonlinear Analysis Theory Methods Applications",
+"Nonli Nonlinearity",
+"NlOpt Nonlinear Optics",
+"NPGeo Nonlinear Processes in Geophysics",
+"NSAP. Nonlinear, Statistical and Applied Physics",
+"NTA.. Nonlinear Theory and Its Applications, IEICE",
+"NATi. Nordisk Astronomisk Tidsskrift",
+"SApMM North Holland Series Applied Mathematical Mechanics",
+"NHCWP North Hollywood Calif Western Periodicals Co",
+"NPUJ. Northwestern Polytechnical University Journal",
+"NoDef Not Defined",
+"NoPar Notes et Informations",
+"NROpt Nouvelle Revue d'Optique",
+"NROA. Nouvelle Revue d'Optique Appliquee",
+"UGC.. Nova Acta Regiae Soc. Sci. Upsaliensis Ser. V",
+"NTvA. Novaya tekhn. v astron.",
+"NoIGG Novosibirsk Institut Geologii i Geofiziki SO AN SSSR",
+"NovIG Novosibirsk Institut Gidrodinamiki SO AN SSSR Dinamika Sploshnoi Sredy",
+"NoIzN Novosibirsk Izdatel Nauka",
+"NSSDC NSSDC Publication",
+"NTTRv NTT Review",
+"NDS.. Nuclear Data Sheets",
+"NDT.. Nuclear Data Tables",
+"NuEnD Nuclear Engineering and Design",
+"NucFu Nuclear Fusion",
+"NucFS Nuclear Fusion Special Supplement",
+"NuGeo Nuclear Geophysics",
+"NucIM Nuclear Instruments and Methods",
+"NIMPR Nuclear Instruments and Methods in Physics Research",
+"NIMPA Nuclear Instruments and Methods in Physics Research A",
+"NIMPB Nuclear Instruments and Methods in Physics Research B",
+"NucPh Nuclear Physics",
+"NuPhA Nuclear Physics A",
+"NuPhB Nuclear Physics B",
+"NuPhS Nuclear Physics B Proceedings Supplements",
+"NSE.. Nuclear Science Engineering",
+"NucTe Nuclear Technology",
+"NucTF Nuclear Technology Fusion",
+"NAR.. Nucleic Acids Research",
+"NuAlg Numerical Algorithms",
+"NFAO. Numerical Functional Analysis and Optimization",
+"NumHT Numerical Heat Transfer",
+"NHTA. Numerical Heat Transfer Part A - Applications",
+"NHTB. Numerical Heat Transfer Part B - Fundamentals",
+"NuMat Numerische Mathematik",
+"NCimA Nuovo Cimento A Serie",
+"NCimB Nuovo Cimento B Serie",
+"NCimC Nuovo Cimento C Geophysics Space Physics C",
+"NCimD Nuovo Cimento D Serie",
+"NCimL Nuovo Cimento Lettere",
+"NCimR Nuovo Cimento Rivista Serie",
+"NCimS Nuovo Cimento Serie",
+"OCSC. OAA Compututer Section Circular",
+"OSUC. Observationes Astronomicas Insitutas in Specula Universitatis Caesareae Dorpatensis",
+"OVS.. Observation of Variable Stars",
+"Obser Observation pi",
+"OAORP Observations astronomiques faites a l'Observatoire royal de Paris",
+"USNOO Observations made at the U.S. Naval Observatory",
+"OOVRO Observations Owens Valley Radio Observatory",
+"Bes1K Observatoire de Besancon",
+"OBN1K Observatoire de Besancon - CNES",
+"Gen1K Observatoire de Geneve",
+"OSFOT Observatoire de la Société Astronomique de France Observations et Travaux",
+"LyoRe Observatoire de Lyon Reprints",
+"Meu1K Observatoire de Meudon",
+"Nic1K Observatoire de Nice",
+"CORB. Observatoire Royal de Belgique Communications Serie B",
+"LPlaC Observatorio Astronomico de La Plata Circular",
+"LPlaS Observatorio Astronomico de La Plata Separata Astronomica",
+"RosOB Observatorio Astronomico Municipal de Rosario Argentia Boletin",
+"RioB. Observatorio Nacional Publicacoes do Servico Astronomico Rio de Janeiro",
+"HelR. Observatory and Astrophysics Laboratory University of Helsinki Report",
+"PLPla Observatory Astronomical La Plata Series Astronomies",
+"ObVyS Obzory Vysokotemperaturnoi Sverkhprovodimosti",
+"ONRAS Occasional Notes of the Royal Astronomical Society",
+"ORROE Occasional Reports of the Royal Observatory Edinburgh",
+"OccN. Occultation Newsletter, International Occultation Timing Association (IOTA)",
+"OcDyn Ocean Dynamics",
+"OcEng Ocean Engineering",
+"OcMod Ocean Modelling",
+"OSJaJ Oceanographical Society of Japan Journal",
+"AcOC. Oceanologica Acta",
+"Ocgy. Oceanology",
+"OcPhE Ocean Physics and Engineering",
+"OcSci Ocean Science",
+"OcScD Ocean Science Discussions",
+"OSJ.. Ocean Science Journal",
+"Ocean Oceanus Summer",
+"OAP.. Odessa Astronomical Publications",
+"BOOde Odesskij Gosudarstvennyi Universitet im. I. I. Mechnikova Byulletin Astronomicheskoj Observatorii",
+"IzOde Odesskij Gosudarstvennyi Universitet im. I. I. Mechnikova Izvestiya Astronomicheskoj Observatorii",
+"OAWMN Oesterreichische Akademie Wissenschaften Mathematisch naturwissenschaftliche Klasse Sitzungsberichte Abteilung",
+"Oikos Oikos",
+"Okean Okeanologiia",
+"ONCP. Old and New Concepts of Physics",
+"OCzAS Ondrejov Czechoslovakia Czechoslovak Academy Sciences CAS Astronomical Institute Publications",
+"ONERA ONERA TP",
+"OEJV. Open European Journal on Variable Stars",
+"OJA.. Open Journal of Acoustics",
+"OJAS. Open Journal of Applied Sciences",
+"OJBp. Open Journal of Biophysics",
+"OJFD. Open Journal of Fluid Dynamics",
+"OJGeo Open Journal of Geology",
+"OJMic Open Journal of Microphysics",
+"OLear Open Learning",
+"OSID. Open Systems and Information Dynamics",
+"AcOpt Optica Acta",
+"OQE.. Optical and Quantum Electronics",
+"OptEn Optical Engineering",
+"OptFT Optical Fiber Technology",
+"OptMa Optical Materials",
+"OptPE Optical Physics and Engineering",
+"OptQE Optical Quantum Electronics",
+"OptRv Optical Review",
+"OpSCN Optical Sciences Center Newsletter",
+"OSAJI Optical Society of America Journal Optics and Image Science",
+"OptPN Optics &amp",
+"OptLE Optics and Lasers in Engineering",
+"OPJ.. Optics and Photonics Journal",
+"OptSp Optics and Spectroscopy",
+"OptCo Optics Communications",
+"OExpr Optics Express",
+"OptLT Optics Laser Technology",
+"OptL. Optics Letters",
+"OptN. Optics News",
+"Optik Optik",
+"OpAt. Optika Atmosfery",
+"OpAtO Optika Atmosfery i Okeana",
+"OpSp. Optika i Spektroskopiia",
+"OpMeP Optiko Mekhanicheskaia Promyshlennost",
+"OCAM. Optimal Control Applications and Methods",
+"OptEL Optoelectronics Letters",
+"OERv. Opto-Electronics Review",
+"OpPuT Optoelektronika i Poluprovodnikovaia Tekhnika",
+"OrGeo Organic Geochemistry",
+"OrLi. Origins of Life",
+"OLEB. Origins of Life and Evolution of the Biosphere",
+"Ori.. Orione",
+"Orion Orion: Zeitschrift für Amateur-Astronomie",
+"IGS.. Orlando FL Academic Press Inc International Geophysics Series",
+"OrNav Ortung und Navigation",
+"BuENS Osaka Prefecture University Bulletin Series Engineering Natural Sciences",
+"OsUTR Osaka University Technology Reports",
+"Osir. Osiris",
+"NapCo Osservatorio Astronomico di Capodimonte Napoli Contributi Astronomici",
+"TerCo Osservatorio Astronomico di Collurania Teramo Contributi",
+"TerMm Osservatorio Astronomico di Collurania Teramo Memorie ed Osservazioni",
+"TerNC Osservatorio Astronomico di Collurania Teramo Note e Comunicazioni",
+"PadCR Osservatorio Astronomico di Padova Comunicazioni e Rassegne",
+"RomCo Osservatorio Astronomico di Roma su Monte Mario Contributi Scientifici",
+"TriP. Osservatorio Astronomico di Trieste Pubblicazioni",
+"TreP. Osservatorio Privato Specola Ariel Treviso Italia Pubblicazione",
+"MmArc Osservazioni e memorie dell'Osservatorio astrofisico di Arcetri",
+"MmArS Osservazioni e memorie dell'Osservatorio astrofisico di Arcetri - Appendici",
+"OsCar Osteoarthritis and Cartilage",
+"OtObI Otbor i Obrabotka Informatsii",
+"OtPI. Otbor i Peredacha Informatsii",
+"OISNP Oxford Pergamon Press International Series on Natural Philosophy",
+"OISTS Oxford Pergamon Press International Tables Selected Constants",
+"OxfOO Oxford University Observatory Observations",
+"OxM.. Oxidation of Metals",
+"OzSE. Ozone: Science &amp",
+"Palb. Paleobiology",
+"PalOc Paleoceanography",
+"PMetR Papers in Meteorological Research",
+"PPh.. Papers in Physics",
+"PMG.. Papers Meteorology Geophysics",
+"PGC.. Papers on Global Change IGBP",
+"ParC. Parallel Computing",
+"Paras Parasitology",
+"ParAc Particle Accelerators",
+"PPhI. Particle Physics Insights",
+"PaReL Pattern Recognition Letters",
+"PerMS Perceptual Motor Skills",
+"PZ... Peremennye Zvezdy",
+"PZP.. Peremennye Zvezdy Prilozhenie",
+"PMHu. Periodica Mathematica Hungarica",
+"PPEE. Periodica Polytechnica Electrical Engineering",
+"PPME. Periodica Polytechnica Mechanical Engineering",
+"PPTE. Periodica Polytechnica Transportation Engineering",
+"PerCo Perkins Observatory Contributions",
+"PMO.. Perth Meridien Observations",
+"PTMJ. Phase Transitions: A Multinational Journal",
+"PhDT. Ph.D. Thesis",
+"PhiJR Philips Journal Research",
+"PhiRR Philips Research Reports",
+"PhiTR Philips Technical Review",
+"PMag. Philosophical Magazine",
+"PMagL Philosophical Magazine Letters",
+"PMagA Philosophical Magazine, Part A",
+"PMagB Philosophical Magazine, Part B",
+"PFP.. Philosophy and Foundations of Physics",
+"Phoen Phoenix Mitteilungsblatt fuer Veraenderlichenbeobachter",
+"PcPb. Photochemistry and Photobiology",
+"Pg... Photogrammetria",
+"PgE.. Photogrammetric Engineering",
+"PgERS Photogrammetric Engineering and Remote Sensing",
+"PhInt Photo Interpretation",
+"PhNan Photonics and Nanostructures",
+"PhSen Photonic Sensors",
+"PhoSp Photonics Spectra",
+"PsynR Photosynthesis Research",
+"Psyn. Photosynthetica",
+"PhyOJ Physcs Online Journal",
+"Phy.. Physica",
+"PhyA. Physica A Statistical Mechanics and its Applications",
+"PhyBC Physica B+C",
+"PhyB. Physica B Condensed Matter",
+"PhyC. Physica C Superconductivity",
+"PhyD. Physica D Nonlinear Phenomena",
+"PhyE. Physica E Low-Dimensional Systems and Nanostructures",
+"PEFPN Physica Energiae Fortis et Physica Nuclearis",
+"PhAco Physical Acoustics",
+"PhBio Physical Biology",
+"PCESR Physical Chemical and Earth Sciences Research Reports",
+"PCCP. Physical Chemistry Chemical Physics (Incorporating Faraday Transactions)",
+"PCSE. Physical Chemistry: Science and Engineering",
+"PhGeo Physical Geography",
+"PPHTS Physical Properties of High Temperature Superconductors",
+"PhyR. Physical Research",
+"PhRv. Physical Review",
+"PhRvA Physical Review A",
+"PhRvB Physical Review B",
+"PhRvC Physical Review C",
+"PhRvD Physical Review D",
+"PhRvE Physical Review E",
+"PhRvL Physical Review Letters",
+"PhRvI Physical Review Series I",
+"PhRvS Physical Review Special Topics Accelerators and Beams",
+"PRSTP Physical Review Special Topics Physics Education",
+"PhRvX Physical Review X",
+"PSD.. Physical Sciences Data",
+"PSCEC Physical Sciences Series of the Commission of European Communities",
+"PhyNr Physica Norvegica",
+"PhyS. Physica Scripta",
+"PhySB Physica Scripta B",
+"PhST. Physica Scripta Volume T",
+"PSSAR Physica Status Solidi Applied Research",
+"PSSBR Physica Status Solidi B Basic Research",
+"PSSCR Physica Status Solidi C Current Topics",
+"PSSRR Physica Status Solidi Rapid Research Letters",
+"PhySS Physica Status Solids",
+"PhyL. Physic Letters",
+"PhChH PhysicoChemical Hydrodynamics",
+"Physi Physics",
+"PCS.. Physics and Chemistry in Space",
+"PhChE Physics and Chemistry of Earth",
+"PCL.. Physics and Chemistry of Liquids",
+"PCMLD Physics and Chemistry of Materials with Low-Dimensional Structures",
+"PCMLA Physics and Chemistry of Materials with Low-Dimensional Structures Series A",
+"PCMLB Physics and Chemistry of Materials with Low-Dimensional Structures Series B",
+"PCMLC Physics and Chemistry of Materials with Low-Dimensional Structures Series C",
+"PCM.. Physics and Chemistry of Minerals",
+"PCE.. Physics and Chemistry of the Earth",
+"PCEA. Physics and Chemistry of the Earth A",
+"PCEB. Physics and Chemistry of the Earth B",
+"PCEC. Physics and Chemistry of the Earth C",
+"PCED. Physics and Chemistry of the Earth Delta",
+"PEEI. Physics and Evolution of the Earth's Interior",
+"PhApp Physics and its Applications",
+"PTPPB Physics and Technology of Particle and Photon Beams",
+"PhB.. Physics Bulletin",
+"DokPh Physics - Doklady",
+"PhyEd Physics Education",
+"PhyEs Physics Essays",
+"PCHEI Physics in Collision: High-Energy ee/ep/pp Interactions",
+"PMB.. Physics in Medicine and Biology",
+"PhP.. Physics in Perspective",
+"PhTec Physics in Technology",
+"PhyIn Physics International",
+"PhLF. Physics Laser Fusion",
+"PhL.. Physics Letters",
+"PhLA. Physics Letters A",
+"PhLB. Physics Letters B",
+"PhLC. Physics Letters Section C Physics Reports C",
+"PhyNY Physics New York",
+"PhyN. Physics Notes",
+"PAN.. Physics of Atomic Nuclei",
+"PAM.. Physics of Atoms and Molecules",
+"PhFl. Physics of Fluids",
+"PhFlB Physics of Fluids B",
+"PhLRv Physics of Life Reviews",
+"PLDS. Physics of Low-Dimensional Structures",
+"PhMet Physics of Metals",
+"PMM.. Physics of Metals and Metallography",
+"PPN.. Physics of Particles and Nuclei",
+"PPNL. Physics of Particles and Nuclei Letters",
+"PhPl. Physics of Plasmas",
+"PhQE. Physics of Quantum Electronics",
+"PSL.. Physics of Solids and Liquids",
+"PEPI. Physics of the Earth and Planetary Interiors",
+"PhSS. Physics of the Solid State",
+"PTF.. Physics of Thin Films",
+"PWP.. Physics of Wave Phenomena",
+"PhR.. Physics Reports",
+"PRI.. Physics Research International",
+"PhT.. Physics Today",
+"PhyU. Physics Uspekhi",
+"PhyW. Physics World",
+"PCTM. Physikalisch-Chemische Trenn- und Messmethoden",
+"PhyBl Physikalische Blötter",
+"PhyG. Physikalische Gesellschaft",
+"PhyGZ Physikalische Gesellschaft Zürich",
+"PhyZ. Physikalische Zeitschrift",
+"PKM.. Physik der Kondensierten Materie",
+"PhuZ. Physik in unserer Zeit",
+"PhyCP Physiological Chemistry and Physics",
+"PhyM. Physiological Measurement",
+"PhylS Physiologist Supplement",
+"PAZh. Pis ma Astronomicheskii Zhurnal",
+"PZETF Pis ma Zhurnal Eksperimental noi i Teoreticheskoi Fiziki",
+"PZhTF Pis ma Zhurnal Tekhnischeskoi Fiziki",
+"PlAst Planetary Astronomy",
+"PlR.. Planetary Report",
+"PlSci Planetary Science",
+"PSRD. Planetary Science Research Discoveries",
+"PCPhy Plant and Cell Physiology",
+"PFR.. Plasma and Fusion Research",
+"PCPP. Plasma Chemistry and Plasma Processing",
+"PlPh. Plasma Physics",
+"PPCF. Plasma Physics and Controlled Fusion",
+"PlPhR Plasma Physics Reports",
+"PlPo. Plasmas and Polymers",
+"PlST. Plasma Science and Technology",
+"PSST. Plasma Sources Science Technology",
+"PRFVT Plastiques Renforces Fibres de Verre Textile",
+"PLoSB PLoS Biology",
+"PLoSC PLoS Clinical Trials",
+"PLSCB PLoS Computational Biology",
+"PLoSG PLoS Genetics",
+"PLoSM PLoS Medicine",
+"PLoSN PLoS Neglected Tropical Diseases",
+"PLoSO PLoS ONE",
+"PLoSP PLoS Pathogens",
+"PMCPA PMC Physics A",
+"PMCPB PMC Physics B",
+"PMCPC PMC Physics C",
+"PMTF. PMTF Zhurnal Prikladnoi Mekhaniki i Tekhnicheskoi Fiziki",
+"nraop National Radio Astronomy Observatory Press Release",
+"PnGid Pnevmatika i Gidravlika",
+"noaop NOAO Proposal",
+"PolSc Polar Science",
+"PolSi Poliarnye Siianiia",
+"PSSNN Poliarnye Siianiia i Svechenie Nochnogo Neba",
+"PASAM Polish Academy of Science Arch Mech",
+"PASAS Polish Academy of Science Artificial Satellites",
+"PASIG Polish Academy of Sciences Institute of Geophysics Publications",
+"PASTA Polish Academy of Sciences Theory Aggregation Coagulation",
+"PJMPE Polish Journal of Medical Physics And Engineering",
+"PCZNN Politechnika Czestochowska Zeszyty Naukowe Nauki Techniczne Mechanika",
+"PGZNM Politechnika Gdanska Zeszyty Naukowe Mechanika",
+"PSZNM Politechnika Slaska Zeszyty Naukowe Mechanika",
+"PolAt Pollution Atmospherique",
+"CraR. Polskie Towarzyslwo Milosnikow Astronomii",
+"PolTM Poluprovodnikovaia Tekhnika i Mikroelektronika",
+"PolPP Poluprovodnikovye Pribory i ikh Primenenie",
+"Poly. Polymer",
+"PoCom Polymer Composites",
+"PolPh Polymer Physics",
+"PPTEn Polymer-Plastics Technology and Engineering",
+"PomAK Pomiary Automatyka Kontrola",
+"PATi. Popular Astronomisk Tidsskrift",
+"PA... Popular Astronomy",
+"PorMe Poroshkovaia Metallurgiia",
+"PoAn. Postepy Astronautyki",
+"PoAst Postepy Astronomii Krakow",
+"PSci. Pour la Science",
+"PDiff Powder Diffraction",
+"PUAMA Poznan Uniwersytet im Adama Mickiewicza Seria Akustyka",
+"PUAMF Poznan Uniwersytet im Adama Mickiewicza Seria Fizyka",
+"PrAst Practical Astronomy",
+"NaiRe Pradesh State Observatory Naini Tal Insia Reprints",
+"PraAc Prague Academia",
+"Prama Pramana",
+"PreR. Precambrian Research",
+"Prib. Priborostroenie",
+"PriTE Pribory i Tekhnika Eksperimenta",
+"PriMM Prikladnaia Matematika i Mekhanika",
+"PriMP Prikladnaia Matematika i Programmirovanie",
+"PriM. Prikladnaia Mekhanika",
+"PPPLR Princeton Plasma Physics Laboratory Report",
+"Prir. Priroda",
+"Priv. Private Communication",
+"PrEM. Probabilistic Engineering Mechanics",
+"PrAiA Problemy Arktiki i Antarktiki",
+"PrBio Problemy Bioniki",
+"PrDRV Problemy Difraktsii i Rasprostraneniia Voln",
+"PrFA. Problemy Fiziki Atmosfery",
+"PrFKL Problemy Iadernoi Fiziki i Kosmicheskikh Luchei",
+"PrKFi Problemy Kosmicheskoi Fiziki",
+"PrMas Problemy Mashinostroeniia",
+"PrPro Problemy Prochnosti",
+"PrSP. Problemy Sluchainogo Poiska",
+"PrTE. Problemy Tekhnicheskoi Elektrodinamiki",
+"PrTGE Problemy Teorii Gravitatsii i Elementarnykh Chastits",
+"PrTPT Problemy Teploenergetiki i Prikladnoi Teplofiziki",
+"PJA.. Proceeding of the Japan Academy",
+"PJAA. Proceeding of the Japan Academy, Series A",
+"PJAB. Proceeding of the Japan Academy, Series B",
+"PBioS Proceedings: Biological Sciences",
+"PMPES Proceedings: Mathematical, Physical and Engineering Sciences",
+"PAMS. Proceedings of the American Mathematical Society",
+"PAPhS Proceedings of the American Philosophical Society",
+"PASAu Proceedings of the Astronomical Society of Australia",
+"PCAS. Proceedings of the California Academy of Sciences",
+"PCPS. Proceedings of the Cambridge Philosophical Society",
+"PEMS. Proceedings of the Edinburgh Mathematical Society",
+"PIASE Proceedings of the Indian Academy of Science, Earth and Planetary Sciences",
+"PINSA Proceedings of the Indian National Science Academy Part A",
+"PINSB Proceedings of the Indian National Science Academy Part B",
+"PIGP. Proceedings of the Institute of General Physics, Adademy of the Sciences of Russia",
+"PILOM Proceedings of the International Latitude Observatory at Mizusawa",
+"PIRE. Proceedings of the IRE",
+"PNAS. Proceedings of the National Academy of Sciences",
+"PNAS. Proceedings of the National Academy of Sciences USA",
+"PNAS. Proceedings of the National Academy of Sciences of the USA",
+"PNSC. Proceedings of the National Science Council",
+"PNSBP Proceedings of the National Society of Black Physicists",
+"PPS.. Proceedings of the Physical Society",
+"PPSA. Proceedings of the Physical Society A",
+"PPSB. Proceedings of the Physical Society B",
+"PPSL. Proceedings of the Physical Society of London",
+"PRIAN Proceedings of the Research Institute of Atmospherics, Nagoya University",
+"PRIAA Proceedings of the Royal Irish Academy Section A",
+"PRNAS Proceedings of the Royal Netherlands Academy of Arts and Sciences",
+"PSEBM Proceedings of the Society for Experimental Biology and Medicine",
+"PrVP. Proceedings of Vibration Problems",
+"PELIS Program: electronic library &amp",
+"PrAeS Progress in Aerospace Sciences",
+"PrAA. Progress in Astronautics and Aeronautics",
+"PrA.. Progress in Astronomy",
+"PABei Progress in Astronomy",
+"PBB.. Progress in Biochemistry and Biophysics",
+"PBBC. Progress in Biophysics and Biophysical Chemistry",
+"PBMB. Progress in Biophysics and Molecular Biology",
+"PrECS Progress in Energy and Combustion Science",
+"PLTP. Progress in Low Temperature Physics",
+"PrMS. Progress in Materials Science",
+"PMatP Progress in Mathematical Physics",
+"PMRP. Progress in Medical Radiation Physics",
+"PMetP Progress in Metal Physics",
+"PNSci Progress in Natural Science",
+"PrOce Progress in Oceanography",
+"POrCo Progress in Organic Coatings",
+"PrPNP Progress in Particle and Nuclear Physics",
+"PPcPp Progress in Photochemistry and Photophysics",
+"PPGeo Progress in Physical Geography",
+"PrPh. Progress in Physics",
+"PQE.. Progress in Quantum Electronics",
+"PrSS. Progress In Surface Science",
+"PTCP. Progress in Theoretical Chemistry and Physics",
+"PTEP. Progress of Theoretical and Experimental Physics",
+"PThPh Progress of Theoretical Physics",
+"PThPS Progress of Theoretical Physics Supplement",
+"ProTe Promyshlennaia Teplotekhnika",
+"PrEx. Propellants and Explosives",
+"PrExP Propellants and Explosives Pyrotechnics",
+"PMMin Proper Motion Survey, University of Minnesota",
+"rxte pRXTE Proposal",
+"sptz pSpitzer Proposal",
+"suba pSubaru Proposal",
+"PUFir Pubblicazioni della R. Universita degli studi di Firenze",
+"PSAIL Pubblicazioni della Stazione Astronomica Internazionale di Latitudine",
+"POMil Pubblicazioni dell'Osservatorio Astronomico di Milano-Merate",
+"POPad Pubblicazioni dell'Osservatorio Astronomico di Padova",
+"POPal Pubblicazioni dell'Osservatorio Astronomico di Palermo",
+"POTor Pubblicazioni Varie Fuori Serie dell'Osservatorio Astronomico di Torino",
+"PKCat Publ. House Czech. Acad. Sci.",
+"PMad. Publicacion Facultad de Ciencias Madrid",
+"POClu Publicatiile Observatorului Astronomical Universitatii din Cluj",
+"POPar Publication de l'Observatoire de Paris Notes et Informations",
+"POStr Publication de l'Observatoire de Strasbourg",
+"PUSK. Publication der Koeniglichen Sternwarte in Kiel",
+"PULei Publicationen der K. Universitoats-Sternwarte zu Leipzig",
+"PCARS Publication of COMU Astrophysics Research Center",
+"PKAS. Publication of Korean Astronomical Society",
+"PPCAS Publication of the Pomona College Astronomical Society",
+"PIAGL Publications de l'Institut d'Astronomie et de Geophysique Georges Lemaitre",
+"POBeo Publications de l'Observatoire Astronomique de Beograd",
+"POBor Publications de l'Observatoire de l'Universite de Bordeaux",
+"POTou Publications de l'Observatoire de Toulouse",
+"PLAGL Publications du Laboratoire d'Astronomie et de Geodesie de l'Universite de Louvain",
+"PDHO. Publications of Debrecen Heliophysical Observatory",
+"POBol Publications of dell'Osservatorio Astronomie de Bologna",
+"PLawO Publications of Laws Observatory, University of Missouri",
+"PLicO Publications of Lick Observatory",
+"POMic Publications of Michigan Observatory",
+"PCat. Publications of Osservatorio Astrofisico di Catania",
+"PASK. Publications of the Academy of Science Kasakstan Sect. Astrobotanics",
+"PAllO Publications of the Allegheny Observatory of the University of Pittsburgh",
+"PAASA Publications of the Astronomical and Astrophysical Society of America",
+"PAICU Publications of the Astronomical Institute of the Charles University",
+"PAICz Publications of the Astronomical Institute of the Czechoslovak Academy of Sciences",
+"PUAms Publications of the Astronomical Institute of the University of Amsterdam",
+"PBrn. Publications of the Astronomical Institute of the University of Borneo",
+"POHel Publications of the Astronomical Observatory Helsinki",
+"PAOS. Publications of the Astronomical Observatory of Sarajevo",
+"POMin Publications of the Astronomical Observatory University of Minnesota",
+"PASA. Publications of the Astronomical Society of Australia",
+"PASJ. Publications of the Astronomical Society of Japan",
+"PASP. Publications of the Astronomical Society of the Pacific",
+"PASPS Publications of the Astronomical Society of the Pacific Supplement",
+"PASRB Publications of the Astronomical Society Rudjer Boskovic",
+"PADEU Publications of the Astronomy Department of the Eotvos Lorand University",
+"PAIB. Publications of the Astronomy Institute of Bonn",
+"PAB.. Publications of The Astrophysics Branch Ottawa",
+"PBeiO Publications of the Beijing Astronomical Observatory",
+"PBosO Publications of the Bosscha Observatory Lembang Indonesia",
+"PCinO Publications of the Cincinnati Observatory",
+"PCooO Publications of the Cook Observatory",
+"PDDO. Publications of the David Dunlap Observatory",
+"PDAUC Publications of the Department of Astronomy University of Chile",
+"PDAO. Publications of the Dominion Astrophysical Observatory Victoria",
+"PDO.. Publications of the Dominion Observatory Ottawa",
+"PDreO Publications of the Dresden Observatory",
+"PFAO. Publications of the Flower Astronomical Observatory",
+"PGLO. Publications of the Goethe Link Observatory",
+"PGooO Publications of the Goodsell Observatory, Carleton College",
+"ILOMP Publications of the International Latitude Observatory at Mizusawa",
+"PIstO Publications of the Istanbul University Observatory",
+"PGro. Publications of the Kapteyn Astronomical Laboratory Groningen",
+"PKirO Publications of the Kirkwood Observatory of Indiana University",
+"PAth. Publications of the Laborotory of Astronomy University of Athens",
+"PMcCO Publications of the Leander McCormick Observatory",
+"PManO Publications of the Manila Observatory",
+"PMunO Publications of the Munich Observatory",
+"PNAOC Publications of the National Astronomical Observatories of China",
+"PNAOJ Publications of the National Astronomical Observatory of Japan",
+"POLyo Publications of the Observatoire de Lyon",
+"PGenA Publications of the Observatoire Geneve Series A",
+"PGenB Publications of the Observatoire Geneve Series B",
+"POHP. Publications of the Observatoire Haute-Provence",
+"POANC Publications of the Observatorie Astronomie Nacional Cerro Calan",
+"POIst Publications of the Observatory Astronomie University Istambul",
+"POslO Publications of the Oslo Observatory",
+"POVRO Publications of the Owens Valley Observatory",
+"PPMtO Publications of the Purple Mountain Observatory",
+"PRCO. Publications of the Riverview College Observatory",
+"PROE. Publications of the Royal Observatory of Edinburgh",
+"PSAO. Publications of the Shaanxi Astronomical Observatory",
+"PShaO Publications of the Shaanxi Astronomy Observatory",
+"PSprO Publications of the Sproul Observatory",
+"PSSAI Publications of the Sternberg State Astronomical Institute",
+"PTarO Publications of the Tartu Astrofizica Observatory",
+"PTasO Publications of the Tashkent Astronomical Observatory",
+"PUPFA Publications of the University of Pennsylvania Flower Astronomical Observatory",
+"PUSNO Publications of the U.S. Naval Observatory Second Series",
+"PVVO. Publications of the Van Vleck Observatory",
+"PVasO Publications of the Vassar College Observatory",
+"PWasO Publications of the Washburn Observatory",
+"PYerO Publications of the Yerkes Observatory",
+"PYunO Publications of the Yunnan Observatory",
+"PWHHO Publications of West Hendon House Observatory, Sunderland",
+"PSCDS Publication Speciale du Centre de Donnees Stellaires",
+"POxf. Publications University of Oxford Department of Astrophysics",
+"PUS.. Public Understanding of Science",
+"PKUJ. Publikationen der Kaiserlichen Universitaets-Sternwarte Jurjew",
+"PAIKH Publikationen des Astrophysikalischen Instituts Koenigstuhl-Heidelberg",
+"POPot Publikationen des Astrophysikalischen Observatoriums zu Potsdam",
+"PCopO Publikationer og mindre Meddeler fra Kobenhavns Observatorium",
+"PGAOI Pulkovo Glavnaia Astronomicheskaia Observatoriia Izvestiia",
+"PApCh Pure &amp",
+"PApGe Pure and Applied Geophysics",
+"PApPh Pure and Applied Physics",
+"PApOp Pure Applied Optics",
+"QUnJ. Qinghua University Journal",
+"xmm.. XMM-Newton Press Release",
+"xmm.. XMM-Newton Proposal",
+"QREI. Quality Reliability Engineering International",
+"QuFin Quantitative Finance",
+"QuSOp Quantum and Semiclassical Optics",
+"QuEle Quantum Electronics",
+"QuIP. Quantum Information Processing",
+"QuOpt Quantum Optics",
+"QBSA. Quarterly Bulletin on Solar Activity",
+"QJMAM Quarterly Journal of Mechanics and Applied Mathematics",
+"QJRAS Quarterly Journal of the Royal Astronomical Society",
+"QJRMS Quarterly Journal of the Royal Meteorological Society",
+"QApMa Quarterly of Applied Mathematics",
+"QRBio Quarterly Reviews of Biophysics",
+"QuInt Quaternary International",
+"QuRes Quaternary Research",
+"QSRv. Quaternary Science Reviews",
+"Quest Quest",
+"RadRe Radcliffe Observatory Pretoria South Africa Reprints",
+"Rad.. Radiant, Journal of the Dutch Meteor Society",
+"REB.. Radiation and Environmental Biophysics",
+"RadEf Radiation Effects",
+"REDS. Radiation Effects and Defects in Solids",
+"RaPC. Radiation Physics and Chemistry",
+"RaRe. Radiation Research",
+"RaEE. Radio and Electronic Engineer",
+"Radel Radioehlektronika",
+"REEP. Radio Engineering and Electronic Physics",
+"RaF.. Radiofizika",
+"RaSol Radioizluchenie Solntsa",
+"RPRA. Radio Physics and Radio Astronomy",
+"RaRLJ Radio Research Laboratory, Journal",
+"RaRLR Radio Research Laboratory, Review",
+"RaSc. Radio Science",
+"RaScB Radio Science Bulletin",
+"RaScS Radio Science Supplement",
+"RaT.. Radioteknika",
+"RaEl. Radiotekhnika i Elektronika",
+"RERE. Radiotekhnika i Elektronika Radio Engineering Electronic Physics",
+"RatK. Radiotekhnika Kharkov",
+"RTRE. Radiotekhnika Tecommunications Radio Engineering Radio Engineering",
+"RaPro Raschety Prochnost",
+"RF... Raumfahrtforschung",
+"RCAEn RCA Engineer",
+"RCARv RCA Review",
+"RTI.. Real-Time Imaging",
+"RDCMP Recent Development in Condensed Matter Physics",
+"RRDAP Recent Research Development in Applied Physics",
+"RRDBC Recent Research Development in Biophysical Chemistry",
+"RRDBB Recent Research Development in Biophysics and Biochemistry",
+"RRDCP Recent Research Development in Chemical Physics",
+"RRDPC Recent Research Development in Physical Chemistry",
+"RRDP. Recent Research Development in Physics",
+"RRDPF Recent Research Development in Physics of Fluids",
+"RRDSP Recent Research Development in Statistical Physics",
+"ReAA. Recherches Aeronautiques et Aerospatiales",
+"RAOU. Recherches Astronomiques de l'Observatoire d'Utrecht",
+"RZh.. Referationyj Zhurnal",
+"RJEHM Regional Journal of Energy Heat and Mass Transfer",
+"RCD.. Regular and Chaotic Dynamics",
+"RemS. Remote Sensing",
+"RSEMS Remote Sensing Electro Magnetic Spectrum",
+"RSEnv Remote Sensing of Environment",
+"RSQ.. Remote Sensing Quarterly",
+"Renor Renormalization",
+"RISRJ Report Ionosphere Space Research Japan",
+"HarOR Report of the Committee of the Overseers of Harvard College appointed to visit the Observatory",
+"RNAOJ Report of the National Astronomical Observatory of Japan",
+"RSPUT Report Series of the Department of Physics and Science, University of Turku",
+"YalRY Reports for the year presented by the Board of Managers of the Observatory of Yale University to the President and Fellows",
+"ROLun Reports of the Lund Observatory",
+"RpMP. Reports on Mathematical Physics",
+"RPPh. Reports on Progress in Physics",
+"RTAMS Representation Theory of the American Mathematical Society",
+"BeiRe Reprints Beijing Astronomical Observatory Academia Sinica",
+"ROCi. Republic Observatory Johannesburg Circular",
+"ChPAS Republic of China National Science Council Proceedings Applied Sciences",
+"RBSEJ Research Based Science Education Journal",
+"RAA.. Research in Astronomy and Astrophysics",
+"ReNEv Research in Nondestructive Evaluation",
+"RSTEd Research in Science and Technological Education",
+"RScEd Research in Science Education",
+"RJPh. Research Journal of Physics",
+"RLEMR Research Laboratory Engineering Materials Report",
+"RLPME Research Laboratory Precision Machinery Electronics Bulletin",
+"RLOpt Research Letters in Optics",
+"RLPhy Research Letters in Physics",
+"RMA.. Research Measurement Approach",
+"RNOST Research News &amp",
+"RPFSU Research Papers Faculty of Materials Science and Technology Slovak University of Technology",
+"RRP.. Research Reports in Physics",
+"RTP.. Research Trends in Physics",
+"RNAO. Resultados del Observatorio Nacional Argentino",
+"ROCor Resultados del Observatorio Nacional Argentino en Cordoba",
+"ResPh Results in Physics",
+"RAROC Results of Astronomical Observations made at the Royal Observatory, Cape of Good Hope",
+"RMROC Results of Meridian Observations made at the Royal Observatory, Cape of Good Hope",
+"RDR.. Review of Derivatives Research",
+"RvPCJ Review of Physical Chemistry of Japan",
+"RvPT. Review of Physics in Technology",
+"RScI. Review of Scientific Instruments",
+"RvAqS Reviews in Aquatic Sciences",
+"RvMaP Reviews in Mathematical Physics",
+"RvMA. Reviews in Modern Astronomy",
+"RvGeo Reviews of Geophysics",
+"RvGSP Reviews of Geophysics and Space Physics",
+"RvGeS Reviews of Geophysics Supplement",
+"RvMin Reviews of Mineralogy",
+"RvMP. Reviews of Modern Physics",
+"RvMPS Reviews of Modern Physics Supplement",
+"RvOp. Reviews of Optics",
+"RvPP. Reviews of Plasma Physics",
+"RvRRL Reviews of the Radio Research Laboratory",
+"RvA.. Revista Astronomica Organo de la Asociacion Argengina Amigos de la Astronomia Buenos Aires",
+"RBrFi Revista Brasileira de Fisica",
+"RvCF. Revista Colombiana de Fisica",
+"IORP. Revista do observatorio : publicacao mensal do Imperial Observatorio do Rio de Janeiro",
+"RMxAA Revista Mexicana de Astronomia y Astrofisica",
+"RMxF. Revista Mexicana de Fisica",
+"RMxFE Revista Mexicana de Fisica E",
+"RMxFS Revista Mexicana de Fisica Supplement",
+"RvMad Revista Real Acad. Ciencias Exact. Fis. Nat. Madrid",
+"RTrTe Revista Transporturilor si Telecomunicatiilor",
+"AerRv Revue Aerospatiale",
+"RvAc. Revue d'Acoustique",
+"RvGPG Revue de Geographie Physique et de Geologie Dynamique",
+"RvGDG Revue de Geologie Dynamique et de Geographie Physique",
+"RvPA. Revue de Physique Appliquee",
+"RvPD. Revue du Palais de la Decouverte",
+"RvFEQ Revue Francaise de l'Electricite Quarter",
+"RFrM. Revue Francaise de Mecanique",
+"RFrMQ Revue Francaise de Mecanique Quarter",
+"RRMPA Revue Roumaine de Mathematiques Pures et Appliquees",
+"RvRP. Revue Roumaine de Physique",
+"RvRST Revue Roumaine des Sciences Techniques Serie de Mecanique Appliquee",
+"RST.. Revue Scientifique et Technique CECLES CERS",
+"RvT.. Revue Technique Thomson CSF",
+"RNISZ Rezul taty Nabliudenii Iskusstvennykh Sputnikov Zemli",
+"RWTHA Rheinisch Westfaelische Technische Hochschule Aerodynamisches Institut Abhandlungen",
+"AcRhe Rheologica Acta",
+"RA... Ricerche Astronomiche",
+"RIzZi Riga Izdatel Zinatne",
+"Rise. Rise Hvezd",
+"RRA.. River Research and Applications",
+"RIG.. Rivista Italiana di Geofisica",
+"RIGSA Rivista Italiana di Geofisica e Scienze Affini",
+"RvTS. Rivista Tecnica Selenia",
+"Robot Robotica",
+"RMRE. Rock Mechanics and Rock Engineering",
+"RMFMR Rock Mechanics Felsmechanik Mecanique des Roches",
+"Roczn Rocznik Astronomiczny Observatorjum Krakowskiego Krakow",
+"RoAJ. Romanian Astronomical Journal",
+"RoJPh Romanian Journal of Physics",
+"RoRPh Romanian Reports in Physics",
+"RoIE. Rossiiskaia Akademiia Nauk Izvestiia Energetika",
+"RoIMZ Rossiiskaia Akademiia Nauk Izvestiia Mekhanika Zhidkosti i Gaza",
+"RoISF Rossiiskaia Akademiia Nauk Izvestiia Seriia Fizicheskaia",
+"RoDok Rossijskaya Akademiya Nauk Doklady",
+"RoIMT Rossijskaya Akademiya Nauk Izvestiya Mekhanika Tverdogo Tela",
+"RoIzF Rossijskaya Akademiya Nauk Izvestiya Seriya Fizicheskaya",
+"RWPWZ Rostock Wilhelm Pieck Universitaet Wissenschaftliche Zeitschrift Mathematisch Naturwissenschaftliche Reihe",
+"PVSS. Royal Astronomical Society of New Zealand Publications of Variable Star Section",
+"VSSCi Royal Astronomical Society of New Zealand Variable Star Section Circulars",
+"VSSRe Royal Astronomical Society of New Zealand Variable Star Section Reprints",
+"VSSSC Royal Astronomical Society of New Zealand Variable Star Section Special Circulars",
+"RGOB. Royal Greenwich Observatory Bulletin",
+"RGOO. Royal Greenwich Observatory Observations",
+"ROAn. Royal Observatory Annals",
+"CapMi Royal Observatory Cape Mimeogram",
+"CoRSE Royal Society Edinburgh Communications Physical Sciences",
+"RSCT. Royal Society of Canada Transactions",
+"RSEPS Royal Society of Edinburgh Proceedings Section",
+"RSET. Royal Society of Edinburgh Transactions",
+"RSPTA Royal Society of London Philosophical Transactions Series A",
+"RSPTB Royal Society of London Philosophical Transactions Series B",
+"RSPT. Royal Society of London Philosophical Transactions Series I",
+"RSPSA Royal Society of London Proceedings Series A",
+"RSPSB Royal Society of London Proceedings Series B",
+"RSPS. Royal Society of London Proceedings Series I",
+"RoIn. Rozprawy Inzynierskie",
+"RoIET Rozprawy Inzynierskie Engineering Transactions",
+"asc.. Space Telescope ASC Instrument Science Report",
+"nicm. Space Telescope NICMOS Instrument Science Report",
+"stis. Space Telescope STIS Instrument Science Report",
+"wfc.. Space Telescope WFC Instrument Science Report",
+"wfpc. Space Telescope WFPC2 Instrument Science Report",
+"Ruimt Ruimtevaart",
+"RuCRv Russian Chemical Reviews",
+"RuGG. Russian Geology and Geophysics",
+"RJET. Russian Journal of Engineering Thermophysics",
+"RJMP. Russian Journal of Mathematical Physics",
+"RJPC. Russian Journal Physical Chemistry",
+"RJPCA Russian Journal Physical Chemistry A",
+"RJTAM Russian Journal Theoretical and Applied Mechanics",
+"RuMaS Russian Mathematical Surveys",
+"RuMet Russian Metallurgy",
+"RuPhJ Russian Physics Journal",
+"RALR. Rutherford Appleton Laboratory Report",
+"Sadha Sadhana",
+"STVF. Samoletostroenie Tekhnika Vozdushnogo Flota",
+"SAMPJ SAMPE Journal",
+"SAMPQ SAMPE Quarterly",
+"UISTS San Diego CA Univelt Inc Science Technology Series",
+"MaMeA Sankt Peterburgskii Universitet Vestnik Seriia Matematika Mekhanika Astronomiia",
+"SAOSR SAO Special Report",
+"asd.. Astrophysics Software Database",
+"ascl. Astrophysics Source Code Library",
+"SatCo Satellite Communications",
+"SBARM SBARMO Bulletin",
+"SbMat Sbornik: Mathematics",
+"SJMet Scandinavian Journal of Metallurgy",
+"SUVSR Scandinavian Union of Amateur Astronomers Variable Star Section",
+"ScReE Scholarly Research Exchange",
+"SNG.. Schweizerische Naturforschende Gesellschaft",
+"Sci.. Science",
+"SCSA. Science and Culture Series: Astrophysics",
+"SCSP. Science and Culture Series: Physics",
+"SECM. Science and Engineering of Composite Materials",
+"STAdM Science and Technology of Advanced Materials",
+"SCSMP Science China Series Mathematics Physics Astronomy Technological Sciences",
+"SciDi Science Dimension",
+"SciEd Science Education",
+"ScEdR Science Education Research",
+"SFCh. Science Foundation in China",
+"ScChA Science in China A: Mathematics",
+"ScChB Science in China B: Chemistry",
+"ScChC Science in China C: Life Sciences",
+"ScChD Science in China D: Earth Sciences",
+"ScChE Science in China E: Technological Sciences",
+"ScChF Science in China F: Information Sciences",
+"ScChG Science in China G: Physics and Astronomy",
+"SISN. Science Information Systems Newsletter",
+"SciN. Science News",
+"ScTEn Science of the Total Environment",
+"ScPr. Science Progress",
+"Scis. Sciences",
+"SciB. Scientia (Bologna)",
+"SciSn Scientia Sinica",
+"SSPMA Scientia Sinica Physica, Mechanica &amp",
+"SSSMP Scientia Sinica Series Mathematical Physical Technical Sciences",
+"SciAm Scientific American",
+"SMS.. Scientific Modeling and Simulation SMNS",
+"Scim. Scientometrics",
+"SRToh Sci. Rep. Tohoku Univ. Eighth Ser.",
+"SFSN. Scripta Faculty Science Nat. Ujep Brunensis Physica",
+"ScM.. Scripta Metallurgica",
+"ScMM. Scripta Metallurgica et Materialia",
+"SedG. Sedimentary Geology",
+"Sedim Sedimentology",
+"SeiKa Seikei-Kakou",
+"BSSA. Seismological Society America Bulletin",
+"SEGeo Seismology and Exploration Geophysics",
+"STSSP Selected Topics in Solid State Physics",
+"Semic Semiconductors",
+"SeScT Semiconductor Science Technology",
+"SeSTS Semiconductor Science Technology Supplement",
+"TrKra Seminar Kraevym Zadacham Trudy",
+"SCB.. Seminars in Cancer Biology",
+"SDia. Seminars in Dialysis",
+"GEOCS Semi-Regular Variables",
+"SenAR Sendai Astronomiaj Raportoj",
+"SenIm Sensing and Imaging",
+"SPTS. Sensor Physics and Technology Series",
+"SeRv. Sensor Review",
+"SeAc. Sensors and Actuators",
+"SeAcA Sensors and Actuators A Physical",
+"SeAcB Sensors and Actuators B Chemical",
+"SAERI Seoul Korea Atomic Energy Research Institute",
+"SanS. Separata Universidad de Chile Departamento de Astronomia Santiago",
+"SerAJ Serbian Astronomical Journal",
+"AnShO Shanghai Observatory Annals",
+"SV... Shock and Vibration",
+"SVD.. Shock Vibration Digest",
+"SVICB Shock Vibration Information Center Shock Vibration Bulletin",
+"SVICP Shock Vibration Information Center Shock Vibration Computer Programs",
+"SVICD Shock Vibration Information Center Shock Vibration Digest",
+"SVICI Shock Vibration Information Center Shock Vibration Inform Digest",
+"ShWav Shock Waves",
+"SJAM. SIAM Journal of Applied Mathematics",
+"SJCO. SIAM Journal of Control Optimization",
+"SJMA. SIAM Journal of Mathematical Analysis",
+"SJADS SIAM Journal on Applied Dynamical Systems",
+"SJNA. SIAM Journal on Numerical Analysis",
+"SIAMR SIAM Review",
+"SiMaJ Siberian Mathematical Journal",
+"SiFTZ Sibirskii Fiziko Tekhnicheskii Zhurnal",
+"JCMSI SICE Journal of Control, Measurement, and System Integration",
+"SidM. Sidereal Messenger",
+"SIDPQ SID Proceedings Quarter",
+"SiFoE Siemens Forschungs und Entwicklungsberichte",
+"SIGMA SIGMA",
+"Sig.. Signal",
+"SigPr Signal Processing",
+"Simul Simulation",
+"SiMol Single Molecules",
+"SZPA. SIRIUS. Zeitschrift fuer Populaere Astronomie",
+"Situ. Situ",
+"SkInq Skeptical Inquirer",
+"SRT.. Skin Research and Technology",
+"SkyN. Sky News",
+"SlaOb Slaboproudy Obzor",
+"SJCE. Slovak Journal of Civil Engineering",
+"SBE.. Small Business Economics",
+"SMaS. Smart Material Structures",
+"Smith Smithsonian",
+"SCoA. Smithsonian Contributions to Astrophysics",
+"SCoK. Smithsonian Contributions to Knowledge",
+"SmCES Smithsonian Contributions to the Earth Sciences",
+"SSS.. Social Studies of Science",
+"MSAIQ Societa Astronomica Italiana Memorie Quarter",
+"SFPTB Societe Francaise de Photogrammetrie et de Teledetection Bulletin",
+"SASS. Society for Astronomical Sciences Annual Symposium",
+"SEEJ. Society of Environmental Engineers Journal",
+"SIAM. Society of Industrial and Applied Mathematics",
+"SIBAN Sofia Izdatel Bolgarskoi Akademii Nauk",
+"SMat. Soft Matter",
+"SSSAJ Soil Science Society of America Journal",
+"SoCe. Solar Cells",
+"SoEn. Solar Energy",
+"SoEnM Solar Energy Materials",
+"SoPh. Solar Physics",
+"SoSyR Solar System Research",
+"STERJ Solar Terrestrial and Environmental Research Japan",
+"SolE. Solid Earth",
+"SolED Solid Earth Discussions",
+"SMArc Solid Mechanics Archives",
+"SSCom Solid State Communications",
+"SSEle Solid State Electronics",
+"SSIon Solid State Ionics",
+"SSNMR Solid State Nuclear Magnetic Resonance",
+"SSPAR Solid State Physics Advances in Research and Applications",
+"SSPAS Solid State Physics Advances in Research and Applications Supplement",
+"SSSci Solid State Sciences",
+"SSTec Solid State Technology",
+"BSolD Solnechnye Dann. Bull. Akad. Nauk SSSR",
+"SoKie Sonderdrucke der Sternwarte Kiel",
+"SoMue Sonderdrucke Universitaet Muenster Astronomisches Institut",
+"Sonne Sonne",
+"SoShe Soobshchenie Shemakhinskoj Astrofizicheskoj Observatorii",
+"SoByu Soobshcheniya Byurakanskoj Observatorii Akademiya Nauk Armyanskoj SSR Erevan",
+"SoSht Soobshcheniya Gosudarstvennogo Astronomicheskogo Instituta",
+"SoSAO Soobshcheniya Spetsial'noj Astrofizicheskoj Observatorii",
+"SMTS. Soprotivlenie Materialov i Teoriia Sooruzhenii",
+"SSHMP Sources and Studies in the History of Mathematics and Physical Sciences",
+"SHMPS Sources in the History of Mathematics and Physical Sciences",
+"SAAOC South African Astronomical Observatory Circular",
+"SAAOR South African Astronomical Observatory Republic",
+"SAJPh South African Journal of Physics",
+"SAJSc South African Journal of Science",
+"SouSt Southern Stars",
+"IBSAE Sovetskaia Antarkticheskaia Ekspeditsiia Informatsionnyi Byulleten",
+"SovAe Soviet Aeronomii",
+"SvApM Soviet Applied Mechanics",
+"SvA.. Soviet Astronomy",
+"SvAL. Soviet Astronomy Letters",
+"JETP. Soviet Journal of Experimental and Theoretical Physics",
+"JETPL Soviet Journal of Experimental and Theoretical Physics Letters",
+"SvJNP Soviet Journal of Nuclear Physics",
+"SvJOT Soviet Journal of Optical Technology",
+"SvJPP Soviet Journal of Plasma Physics",
+"SvJQE Soviet Journal of Quantum Electronics",
+"SvPAC Soviet Physics Acoustics",
+"SvPhA Soviet Physics Astronomy",
+"SvPC. Soviet Physics Crystallography",
+"SPhD. Soviet Physics Doklady",
+"SvPhJ Soviet Physics Journal",
+"SvPS. Soviet Physics Semiconductors",
+"SvPSS Soviet Physics Solid State",
+"SPTP. Soviet Physics Technical Physics",
+"SvPhU Soviet Physics Uspekhi",
+"SvRP. Soviet Radiophysics",
+"SSRvA Soviet Scientific Reviews A Physics Reviews",
+"SSRvC Soviet Scientific Reviews C Mathematical Physics Reviews",
+"SSRvD Soviet Scientific Reviews D Physicochemical Biology Reviews",
+"SSRvE Soviet Scientific Reviews E Astrophysics and Space Physics Reviews",
+"SvTRv Soviet Technology Reviews",
+"Space Space",
+"SSPRv Space and Solar Power Review",
+"SpCoB Space Communication Broadcasting",
+"SpCom Space Communications",
+"SpEd. Space Education",
+"SpFl. Spaceflight",
+"SLSci Space Life Sciences",
+"SpMar Space Markets",
+"SpMME Space Medicine Medical Engineering",
+"SpPol Space Policy",
+"SpPow Space Power",
+"SPRMD Space Power - Resources, Manufacturing and Development",
+"SpRBu Space Research Bulgaria",
+"SpReT Space Research Today",
+"SSI.. Space Science Instrumentation",
+"SSRv. Space Science Reviews",
+"SpT.. Space Technology",
+"STICA Space Technology Industrial and Commercial Applications",
+"STECF Space Telescope European Coordinating Facility Newsletter",
+"Spvw. Spaceview",
+"SpWea Space Weather",
+"SpWd. Space World",
+"SpWdU Space World U",
+"SpWdW Space World W",
+"SpWdY Space World Y",
+"Spark Spark, the AAS Education Newsletter",
+"VatAR Specola Astronomica Vaticana Annual Reports",
+"AtlSV Specola Astronomica Vaticana Atlas Stellarum Variabilium",
+"VatCo Specola Astronomica Vaticana Comunicazione",
+"VatMA Specola Astronomica Vaticana Miscellanea Astronomica",
+"VatPS Specola Astronomica Vaticana Pubblicazioni Serie Seconda",
+"VatRS Specola Astronomica Vaticana Ricerche Spettroscopiche",
+"VatRA Specola Astronomica Vaticana Richerche Astronomiche",
+"AcSpe Spectrochimica Acta",
+"AcSpA Spectrochimica Acta Part A: Molecular Spectroscopy",
+"SpecL Spectroscopy Letters",
+"SRMO. Specula Regia Monachiensi Observationes astronomicae",
+"SScT. Speculations in Science and Technology",
+"Spika Spika",
+"SpEng Sports Engineering",
+"SSSSc Springer Series in Surface Sciences",
+"STMP. Springer Tracts in Modern Physics",
+"SSCP. Springer Verlag Springer Series on Chemical Physics",
+"SSEp. Springer Verlag Springer Series on Electrophysics",
+"SSGSR Springer Verlag Springer Series on Group Geophysics Space Research",
+"SSOS. Springer Verlag Springer Series on Optical Sciences",
+"SVPCS Springer Verlag Springer Series on Physics Chemistry Space",
+"SSSSS Springer Verlag Springer Series on Solid State Sciences",
+"SSSyn Springer Verlag Springer Series on Synergetics",
+"SSWP. Springer Verlag Springer Series on Wave Phenomena",
+"SprRe Sproul Observatory Reprints",
+"SrLJP Sri Lankan Journal of Physics",
+"SANUG Srpska Akademiia Nauka i Umetnosti Glas Odeljenje Tekhnichkikh Nauka",
+"SRXPh SRX Physics",
+"StarD StarDate Magazine",
+"StSky Star Sky",
+"StMet Statistical Methodology",
+"StaSc Statistical Science",
+"StCom Statistics and Computing",
+"StReL Staub Reinhaltung Luft",
+"SMSPS Stephan Mueller Special Publication Series",
+"Sterz Sternzeit Mitteilungen der Astrnomischen Vereinigungen Aachen",
+"IEWS. Stevenage Herts England Peter Peregrinus Ltd IEE Electromagnetic Waves Series",
+"SteRe Steward Observatory Reprints",
+"TriTr STLE Tribology Transactions",
+"SAA.. Stochastic Analysis and Applications",
+"SHH.. Stochastic Hydrology and Hydraulics",
+"SSRp. Stochastics and Stochastics Reports",
+"StoAn Stockholms Observatoriums Annaler",
+"StoMe Stockholms Observatoriums Meddelande",
+"StoOR Stockholms Observatoriums Reports",
+"Strab Strabismus",
+"Strai Strain",
+"SGC.. Stratigraphy and Geological Correlation",
+"Stroj Strojarstvo",
+"StAst Strolling Astronomer",
+"StrOp Structural Optimization",
+"SASn. Studia Astronomica Sinica",
+"StBio Studia Biophysica",
+"StGG. Studia Geophysica et Geodaetica",
+"StuMa Studia Mathematica",
+"SSTor Studia Societatis Scientiarum Torunensis Sectio F Astronomia",
+"StAM. Studies in Applied Mathematics",
+"SCMP. Studies in Condensed Matter Physics",
+"SGORS Studies in Geophysical Optics and Remote Sensing",
+"StGeo Studies in Geophysics",
+"StHEP Studies in High Energy Physics",
+"StHCG Studies in High Energy Physics Cosmology and Gravitation",
+"StMaP Studies in Mathematical Physics",
+"StPTC Studies in Physical and Theoretical Chemistry",
+"SScEd Studies in Science Education",
+"StHPM Studies in the History and Philosophy of Modern Physics",
+"StHMP Studies in the History of Mathematics and the Physical Sciences",
+"Sttur Studies in turbulence",
+"SCA.. Studii si Cercetari de Astronomie Bucuresti",
+"StCeF Studii si Cercetari de Fizica",
+"StCeM Studii si Cercetari Matematice",
+"StCMA Studii si Cercetary de Mecanica Aplicata",
+"SSTA. Subsurface Sensing Technologies and Applications",
+"SunGe Sun and Geosphere",
+"Sunwo Sunworld",
+"SuScT Superconductor Science Technology",
+"SuMi. Superlattices and Microstructures",
+"JPhSu Supplement au Journal de Physique",
+"AnMuS Supplementband zu den Annalen der Munchener Sternwarte",
+"SAnAp Supplements aux Annales d'Astrophysique",
+"SuCT. Surface and Coatings Technology",
+"SurIA Surface and Interface Analysis",
+"SRL.. Surface Review and Letters",
+"SurSc Surface Science",
+"SurSL Surface Science Letter",
+"SurSR Surface Science Reports",
+"SurSS Surface Science Spectra",
+"SGeo. Surveys in Geophysics",
+"SHEP. Surveys in High Energy Physics",
+"SvPro Svarochnoe Proizvodstvo",
+"SvUNT Sverdlovsk Ural skii Nauchnyi Tsentr AN SSSR",
+"SydOP Sydney Observatory Papers",
+"SynMe Synthetic Metals",
+"SAMS. Systems Analysis Modelling Simulation",
+"SyTec Systems Technology",
+"TMPGO Tagung ueber Mathematische Probleme Geodaesie Oberwolfach West Germany Bulleting Geodesique",
+"TANEs Tartu Akademiia Nauk Estonskoi SSR",
+"TarPr Tartu Astrofizicheskoj Observatorii Preprint",
+"TarOT Tartu Astrofuusika Observatoorium Teated",
+"IzTas Tashkent Izdatel Fan",
+"IzGeo Tbilisi Georgian SSR Izdatel Metsniereba",
+"TIzSS Tbilisi Izdatel Sabchota Sakartvelo",
+"TecN. Technical News",
+"TePhL Technical Physics Letters",
+"TeLoA Technika Lotnicza i Astronautyczna",
+"TBBM. Techniques of Biochemical and Biophysical Morphology",
+"TPhy. Techniques of Physics",
+"TMKF. Technische Mitteilungen Krupp Forschungsberichte",
+"TUnGG Technische Univ Geodesy Global Geodyn",
+"ToIzL Technisch oekonomische Informationen zivilen Luftfahrt",
+"Tech. Technology",
+"TeCu. Technology and Culture",
+"TecRv Technology Review",
+"Tecto Tectonics",
+"Tectp Tectonophysics",
+"TekEl Tekhnicheskaia Elektrodinamika",
+"TJAu. Telecommunication Journal of Australia",
+"TDAPR Telecommunications and Data Acquisition Progress Report",
+"TMOPR Telecommunications and Mission Operations Progress Report",
+"TRET. Telecommunications and Radio Engineering Telecommunications",
+"TelIn Telematics Informatics",
+"Telet Telettra S",
+"Tell. Tellus",
+"TellA Tellus Series A",
+"TellB Tellus Series B Chemical and Physical Meteorology B",
+"TSDMO Tellus Series Dynamic Meteorology and Oceanography",
+"TeoEl Teoreticheskaia Elektrotekhnika",
+"TeoPM Teoreticheskaia i Prikladnaia Mekhanika",
+"TFFAP Teoriia Funktsii Funktsional nyi Analiz i ikh Prilozheniia",
+"TeoVP Teoriia Veroiatnostei i ee Primeneniia",
+"Teplo Teploenergetika",
+"Tepsg Teplofizicheskie svoistva gazov",
+"TepT. Teplofizika i Teplotekhnika",
+"TepVT Teplofizika Vysokikh Temperatur",
+"TFizG Teploobmen i Fizicheskaia Gazodinamika",
+"TNEK. Teplovye Napriazheniia Elementakh Konstruktsii",
+"TeMAE Terrestrial Magnetism and Atmospheric Electricity (Journal of Geophysical Research)",
+"TeMag Terrestrial Magnetism (Journal of Geophysical Research)",
+"Tesla TESLA Electronics",
+"TTPhy Teubner Texte zur Physik",
+"TexMi Textures and Microstructures",
+"Ana.. The Analyst",
+"Agrph The Astrograph",
+"Astr. The Astronomer",
+"ATel. The Astronomer's Telegram",
+"AJ... The Astronomical Journal",
+"AJS.. The Astronomical Journal Supplement",
+"AstRv The Astronomical Review",
+"ApJ.. The Astrophysical Journal",
+"ApJL. The Astrophysical Journal Letters",
+"ApJS. The Astrophysical Journal Supplement Series",
+"BJHS. The British Journal for the History of Science",
+"BJPS. The British Journal for the Philosophy of Science",
+"BuSSA The Bulletin of the Seismological Society of America",
+"ComRv The Communication Review",
+"CompJ The Computer Journal",
+"TCD.. The Cryosphere Discussions",
+"EMBO. The EMBO Journal",
+"JAS.. The Journal of Agricultural Science",
+"JChTh The Journal of Chemical Thermodynamics",
+"JFin. The Journal of Finance",
+"MatMo The Mathematical Monthly",
+"Msngr The Messenger",
+"Neuro The Neuroscientist",
+"INGN. The Newsletter of the Isaac Newton Group of Telescopes",
+"Obs.. The Observatory",
+"OAcJ. The Open Acoustics Journal",
+"OAeEJ The Open Aerospace Engineering Journal",
+"OAPJ. The Open Applied Physics Journal",
+"OAJ.. The Open Astronomy Journal",
+"OASJ. The Open Atmospheric Science Journal",
+"OCPJ. The Open Chemical Physics Journal",
+"OCMPJ The Open Condensed Matter Physics Journal",
+"OGC.. The Open Geology Journal",
+"OHJ.. The Open Hydrology Journal",
+"OMEJ. The Open Mechanical Engineering Journal",
+"OMJ.. The Open Mechanics Journal",
+"OMnJ. The Open Mineralogy Journal",
+"OMPJ. The Open Mineral Processing Journal",
+"ONJ.. The Open Nanoscience Journal",
+"ONPPJ The Open Nuclear &amp",
+"ONMJ. The Open Numerical Methods Journal",
+"OOcJ. The Open Oceanagraphy Journalurnal",
+"OOEJ. The Open Ocean Engineering Journal",
+"OOJ.. The Open Optics Journal",
+"OPalJ The Open Paleontology Journal",
+"OPCJ. The Open Physical Chemistry Journal",
+"OPPJ. The Open Plasma Physics Journal",
+"ORSJ. The Open Remote Sensing Journal",
+"OREJ. The Open Renewable Energy Journal",
+"OSPJ. The Open Signal Processing Journal",
+"OSpeJ The Open Spectroscopy Journal",
+"OSuJ. The Open Superconductors Journal",
+"OSSJ. The Open Surface Science Journal",
+"AcTC. Theoretica Chimica Acta",
+"ThApC Theoretical and Applied Climatology",
+"ThAFM Theoretical and Applied Fracture Mechanics",
+"TAM.. Theoretical and Applied Mechanics",
+"ThCFD Theoretical and Computational Fluid Dynamics",
+"TMP.. Theoretical and Mathematical Physics",
+"ThAst Theoretical Astrophysics",
+"TPAG. Theory and Practice of Applied Geophysics",
+"PhTea The Physics Teacher",
+"PlJ.. The Plant Journal",
+"QJMat The Quarterly Journal of Mathematics",
+"QJPAM The Quarterly Journal of Pure and Applied Mathematics",
+"RamJ. The Ramaujan Journal",
+"RvES. The Review of Economic Studies",
+"ThEng Thermal Engineering",
+"TSE.. Thermal Science and Engineering",
+"SJCLI The Scandinavian Journal of Clinical and Laboratory Investigation",
+"SciMo The Scientific Monthly",
+"TSF.. Thin Solid Films",
+"TETB. Thyssen Edelstahl Technische Berichte",
+"TrTIM Tiflis Izdatel Metsniereba Akademiia Nauk Gruzinskoi SSR Institut Geofiziki Trudy",
+"TrGru Tiflis Izdatel Metsniereba Akademiia Nauk Gruzinskoi SSR Matematicheskii Institut Trudy",
+"IzTif Tiflis Izdatel Tbilisskogo Universiteta",
+"CorTi Tirada Aparte Universidad Nacional de Cordoba Argentina Observatorio Astronomico",
+"TiEng Tissue Engineering",
+"TNKS. Tochnost i Nadezhnost Kiberneticheskikh Sistem",
+"TSRSG Tohoku University Science Reports Series Geophysics",
+"TokAB Tokyo Astronomical Bulletin",
+"TokRe Tokyo Astronomical Observatory Reprints",
+"TUFER Tokyo Denki University Faculty of Engineering Research Reports",
+"TAEMm Tokyo Metropolitan College Aeronautical Engineering Memoirs",
+"TUFEJ Tokyo University Faculty of Engineering Journal Series",
+"TUISR Tokyo University Institute Industrial Science Report",
+"TUASB Tokyo University Institute of Space and Aeronautical Science Bulletin",
+"TUASR Tokyo University Institute of Space and Aeronautical Science Report",
+"TIOA. Tomsk Institut Optiki Atmosfery CO AN SSSR",
+"TApPh Topics in Applied Physics",
+"TAASS Topics in Astrophysics, Astrononmy, and Space Science",
+"ToCat Topics in Catalysis",
+"TCPh. Topics in Current Physics",
+"TPhCh Topics in Physical Chemistry",
+"ToASC Torino Accademia delle Scienze Classe di Scienze Fisiche Matematiche e Naturali Atti",
+"TosRv Toshiba Review",
+"TouCE Toulouse Cepadues Editions",
+"TrSpT Transactions of Space Technology Japan",
+"TAGU. Transactions of the American Geophysical Union",
+"TAMS. Transactions of the American Mathematical Society",
+"TAPS. Transactions of the American Philosophical Society",
+"TOYal Transactions of the Astronomical Observatory of Yale University",
+"TCaPS Transactions of the Cambridge Philosophical Society",
+"TIMC. Transactions of the Institute of Measurement and Control",
+"TISCI Transactions of the Institute of Systems, Control and Information Engineers",
+"IAUTA Transactions of the International Astronomical Union, Series A",
+"IAUTB Transactions of the International Astronomical Union, Series B",
+"TIUCS Transactions of the International Union for Cooperation in Solar Research",
+"TJSAI Transactions of the Japanese Society for Artificial Intelligence",
+"TATJ. Transactions of the Japanese Society for Artificial Intelligence, Aerospace Technology Japan",
+"TJSIE Transactions of The Japanese Society of Irrigation, Drainage and Rural Engineering",
+"TRACE Transactions of the Japan Society of Refrigerating and Air Conditioning Engineers",
+"TLHSQ Transactions of the Literary and Historical Society of Quebec",
+"TrOS. Transactions of the Optical Society",
+"TSICE Transactions of the Society of Instrument and Control Engineers",
+"TPM.. Transport in Porous Media",
+"TTSP. Transport Theory and Statistical Physics",
+"TvOC. Transvaal Observatory Circular",
+"TSSLW Travaux de la Societe des Sciences et des Letters de Wroclaw",
+"TOMar Travaux de l'Observatoire de Marseille",
+"TraGe Travaux Geophysiques",
+"TrGeo Treatise on Geochemistry",
+"TTP.. Trends in Theoretical Physics",
+"TriL. Tribology Letters",
+"TrLit Trudy Akademiia Nauk Litovskoi",
+"TrSSR Trudy Akademiia Nauk SSSR Fizicheskii Institut",
+"TrAlm Trudy Astrofizicheskogo Instituta Alma-Ata",
+"TrRig Trudy Astrofiz. Lab. Riga",
+"TrLen Trudy Astronomicheskoj Observatorii Leningrad",
+"TrPul Trudy Glavnoj Astronomicheskoj Observatorii v Pulkovo",
+"TrSht Trudy Gosudarstvennogo Astronomicheskogo Instituta",
+"TrDus Trudy Instituta Astrofiziki Dushanbe",
+"TrSta Trudy Instituta Astrofiziki Stalinabad",
+"TrKaz Trudy Kazanskaia Gorodkoj Astronomicheskoj Observatorii",
+"TrMMO Trudy Moskovskoe Matematicheskoe Obshchestvo",
+"TrPet Trudy Seminar imeni G Petrovskogo",
+"TrTas Trudy Tashkentskoj Astronomicheskoj Observatorii",
+"TrTsA TsAGI Trudy",
+"ZaTsA TsAGI Uchenye Zapiski",
+"TrTsI TsIAM Trudy",
+"TsHUJ Tsing Hua University Journal",
+"TITas Tsirkulyar Astronomicheskogo Instituta Akademiya Nauk Uzbekskoj SSR",
+"TsLvo Tsirkulyar Astronomicheskoj Observatorii Lvov",
+"TsShe Tsirkulyar Shemakhinskoj Astrofizicheskoj Observatorii",
+"TsSta Tsirkulyar Stalinabadskoj Astronomicheskoj Observatorii",
+"TsTas Tsirkulyar Tashkentskoj Astronomicheskoj Observatorii",
+"TsVse Tsirkulyar Vses. astron.-geod. o-va",
+"TsPul Tsirkulyary Glavnoj Astronomicheskoj Observatorii i Pulkove",
+"TUAID Tuebingen Universitaet Astronomisches Institut Diplomarbeit",
+"TJJPT Tuijin Jishu Journal of Propulsion Technology",
+"TurTe Turbulentnye techeniia",
+"TJPh. Turkish Journal of Physics",
+"UkJPO Ukrainian Journal of Physical Optics",
+"UkFiZ Ukrainskii Fizicheskii Zhurnal",
+"UkMaZ Ukrainskii Matematicheskii Zhurnal",
+"Ultmi Ultramicroscopy",
+"UltIm Ultrasonic Imaging",
+"Ultra Ultrasonics",
+"Umsch Umschau",
+"USOC. Unified System Orbit Computation USOC",
+"UMIB. Unione Matematica Italiana Bollettino",
+"UNPSA United Nations Programme on Space Applications",
+"UniCl Universe Classroom",
+"UNAer Universita di Napoli Aeritalia S",
+"UCAFR Universitas Comeniana Acta Facultatis Rerum Naturalium Physica",
+"UMt1K Universite de Montpellier",
+"UECBu University Electro Communications Bulletin",
+"UnECR University Electro Communications Reports",
+"StARe University Observatory St. Andrews Scotland Reprints",
+"HawRe University of Hawaii Reprints",
+"ADUrb University of Illinois Astronomy Department Urbana Illinois",
+"MicRe University of Michigan Observatory Reprints",
+"XXFD. University of Minnesota 1969 (XXFD)",
+"LP... University of Minnesota Minneapolis",
+"OklRe University of Oklahoma Observatory Reprints",
+"MAUTx University of Texas Monographs in Astronomy",
+"PAUTx University of Texas Publications in Astronomy",
+"Unpub Unpublished",
+"UAPET Updates in Applied Physics and Electrical Technology",
+"UppAn Uppsala Astronomical Observatory Annals",
+"UppOR Uppsala Astronomical Observatory Reports",
+"USM.. Upravliaiushchie Sistemy i Mashiny",
+"UrBar Urania (Bracelona)",
+"Urani Urania (Krakow)",
+"UrMad Urania (Madrid)",
+"UGSJR U S Geological Survey Journal Research",
+"USNOC U.S. Naval Observatory Circulars",
+"USNOR U.S. Naval Observatory Reports",
+"UsFiN Uspekhi Fizicheskikh Nauk",
+"UMAM. Uspekhi Mekhaniki Advances Mechanics",
+"RpCCA USSR Report Cybernetics Computers Automation Technology JPRS UCC",
+"RpESc USSR Report Earth Sciences JPRS UES",
+"RpSpR USSR Report Space",
+"RpBAM USSR Report Space Biology Aerospace Medicine JPRS USB",
+"RpEEE USSR Rept Electron Elec Eng JPRS UEE",
+"RpEn. USSR Rept Energy JPRS UEN",
+"RpEE. USSR Rept Eng Equipment JPRS UEQ",
+"RLSBB USSR Rept Life Sci Biomed Behavioral Sci JPRS",
+"RMTME USSR Rept Machine Tools Metalworking Equipment JPRS UMM",
+"RpMSM USSR Rept Mater Sci Met JPRS",
+"RpPhM USSR Rept Phys Math JPRS UPM",
+"RSBAM USSR Rept Space Biol Aerospace Med Jun JPRS",
+"RpSBA USSR Rept Space Biol Aerospace Med Sep",
+"RpTr. USSR Rept Transportation JPRS UTR",
+"UtMat Utilitas Mathematica",
+"UtrOv Utrechtse Sterrekundige Overdrukken",
+"Vacuu Vacuum",
+"VVORe Van Vleck Observatory Reprints",
+"VSOLB Variable Star Observers League in Japan - Bulletin",
+"Vasio Vasiona",
+"VatOP Vatican Observatory Publications",
+"VDIF. VDI Forschungsheft",
+"VDIZ. VDI Z",
+"VDIZF VDI Zeitschriften Fortschritt Berichte Reihe Stroemungstechnik",
+"VSD.. Vehicle System Dynamics",
+"VKAWA Verhandelingen der Koninklijke Akademie van Wetenschappen te Amsterdam",
+"Verme Vermessungstechnik",
+"VeWFS Veroeffentlichung der Wilhelm Foerster Sterwarte",
+"ViHei Veroeffentlichungen der Badischen Landes-Sternwarte zu Heidelberg",
+"VeHei Veroeffentlichungen der Badischen Sternwarte zu Heidelberg",
+"VeGG. Veroeffentlichungen der Geod. Geophys",
+"VeKar Veroeffentlichungen der Grossherzoglichen Sternwarte zu Karlsruhe",
+"VeBam Veroeffentlichungen der Remeis-Sternwarte zu Bamberg",
+"VeBab Veroeffentlichungen der Sternwarte Babelsberg",
+"VeMun Veroeffentlichungen der Sternwarte Munchen",
+"VeSon Veroeffentlichungen der Sternwarte Sonneberg",
+"VeKie Veroeffentlichungen der Universitaets-Sternwarte Kiel",
+"VeKoe Veroeffentlichungen der Universitaets-Sternwarte Koenigsberg Pr.",
+"VeBB. Veroeffentlichungen der Universitaetssternwarte zu Berlin-Babelsberg",
+"VeGoe Veroeffentlichungen der Universitaets-Sternwarte zu Goettingen",
+"VeJen Veroeffentlichungen der Universitaets-Sternwarte zu Jena",
+"VeLei Veroeffentlichungen der Universitaetssternwarte zu Leipzig",
+"VeBoc Veroeffentlichungen des Astronomischen Instituts der Ruhr-Universitaet Bochum",
+"VeARI Veroeffentlichungen des Astronomischen Rechen-Instituts Heidelberg",
+"VeABD Veroeffentlichungen des Astronomischen Rechen-Instituts zu Berlin-Dahlem",
+"VeBon Veroeffentlichungen des Astronomisches Institute der Universitaet Bonn",
+"VeFra Veroeffentlichungen des Astronomisches Institute der Universitaet Frankfurt",
+"VeBKI Veroeffentlichungen des Bayerische Kommission Int. Erdmessung",
+"VeKAB Veroeffentlichungen des Koeniglichen Astronomischen Rechen-Instituts zu Berlin",
+"VeZPE Veroffentlichungen des Zentralinstituts Physik der Erde",
+"VMKAN Verslagen en Mededeelingen der Kon. Academie van Wetenschappen, Afd. Natuurkunde",
+"VeLdn Verslag van den staat der Sterrewacht te Leiden",
+"Vert. Vertica",
+"Vertf Vertiflite",
+"Vesmi Vesmir",
+"VKha. Vestnik Khar'kovskogo Universiteta",
+"VeKha Vestnik Khar'kov Universitet",
+"VKie. Vestnik Kievskogo Universiteta Seriya Astronomii",
+"VeLGU Vestnik LGU",
+"VeMos Vestnik Moskovskogo Universiteta Seriya 3 Fizika Astronomiya",
+"VISBD Vibration Inst Shock Vibration Digest",
+"VIAEA Vienna International Atomic Energy Agency",
+"VAG.. Vierteljahresschrift der Astronomischen Gesellschaft",
+"VMed. Vierteljahrschrift für Gerichtliche Medizin und Öffentliches Sanitätswesen",
+"VNG.. Vierteljahrsschrift der Naturforschenden Gesellschaft in Zürich",
+"VilCo Villanova University Observatory Contributions",
+"VilOB Vilnius Astronomijos Observatorijos Biuletenis",
+"IzVil Vilnius Izdatel Mokslas",
+"VJS.. Virginia Journal of Science",
+"VisKi Visnik Kiiv. Univ., Fiz.-Mat. Nauki, Astron",
+"ViGeo Vissha Geodeziia",
+"VA... Vistas in Astronomy",
+"VTJ.. Vitro Technical Journal",
+"yCat. VizieR Online Data Catalog",
+"yCatp VizieR Online Data Catalog",
+"VADVS VKI Advanced Design of Ventilation Systems",
+"VICFD VKI An Introduction to Computational Fluid Dynamics",
+"VIMT. VKI An Introduction to Modeling Turbulence",
+"VAFC. VKI Axial Flow Compressors",
+"VBLT. VKI Boundary Layers in Turbomachines",
+"VCCPP VKI Combined Cycles for Power Plants",
+"VCFD. VKI Computational Fluid Dynamics",
+"VCFDI VKI Computational Fluid Dynamics for Industrial Flows",
+"VCGFV VKI Computer Graphics Flow Visualization and Computational Fluid Dynamics",
+"VGTET VKI Gas Turbine Engine Transient Behaviour",
+"VIHE. VKI Industrial Heat Exchangers",
+"VKILV VKI Laser Velocimetry",
+"VKIMT VKI Measurement and Techniques",
+"VMTA. VKI Measurement Techniques in Aerodynamics",
+"VMHT. VKI Methodology Hypersonic Testing",
+"VMATP VKI Modeling and Applications of Transport Phenomena in Porous Media",
+"VADMT VKI New Approaches in the Description and Modeling of Turbulence",
+"VNGG. VKI Numerical Grid Generation",
+"VNMFT VKI Numerical Methods for Flows in Turbomachinery",
+"VPIDV VKI Particle Image Displacement Velocimetry",
+"VKIRT VKI Radial Turbines",
+"VKISP VKI Spacecraft Propulsion",
+"VTSF. VKI Turbulent Shear Flows",
+"VVRD. VKI Vibration Rotor Dynamics",
+"VLSID VLSI Design",
+"VAC.. Voies Aviation Civile Fall Winter",
+"VANTS Voprosy Atomnoi Nauki i Tekhniki Seriia Fizika Plazmy i Problemy Upravliaemykh Termoiadernykh Reaktsii",
+"VopDP Voprosy Dinamiki i Prochnosti",
+"VETT. Voprosy Elektroniki Tverdogo Tela",
+"VopGA Voprosy Gidrodinamiki Atmosfery",
+"VopK. Voprosy Kibernetiki",
+"VMOIP Voprosy Metrologicheskogo Obespecheniia Izmereniia Parametrov Tekhnologicheskikh Lazerov",
+"VoTAS Voprosy Teorii Atomnykh Stolknovenii",
+"VopTP Voprosy Teorii Plazmy",
+"VTSAU Voprosy Teorii Sistem Avtomaticheskogo Upravleniia",
+"VossZ Vossische Zeitung",
+"IzYak Vsesoiuznaia Konferentsiia Kosmicheskim Lucham Yakutsk USSR Akademiia Nauk SSSR Izvestiia Seriia Fizicheskaia",
+"IzYer Vsesoiuznaia Konferentsiia Kosmicheskim Lucham Yerevan Armenian SSR Aademiia Nauk SSSR Izvestiia Seriia Fizicheskaia",
+"RaUkr Vsesoiuznyi Simpozium Difraktsii i Rasprostraneniiu Voln Lvov Ukrainian SSR Radiofizika",
+"VnPM. Vychislitel naia i Prikladnaia Matematika",
+"VnMP. Vychislitel nye Metody i Programmirovanie",
+"VyGeo Vyssha Geodeziia",
+"WarRe Warsaw University Reprints",
+"WasOA Washburn Observatory Astrophysics",
+"GMS.. Washington DC American Geophysical Union Geophysical Monograph Series",
+"WRR.. Water Resources Research",
+"WavEl Wave Electronics",
+"WaMot Wave Motion",
+"WRCM. Waves in Random and Complex Media",
+"WRM.. Waves in Random Media",
+"Wear. Wear",
+"WearB Wear B",
+"Wthr. Weather",
+"WtFor Weather and Forecasting",
+"WeiEn Weight Engineering",
+"WeldJ Welding Journal",
+"Werk. Werkgroepnieuws",
+"JIMO. WGN, Journal of the International Meteor Organization",
+"WilOO Williamstown Observatory Observations",
+"WiEn. Wind Energy",
+"WiEng Wind Engineering",
+"WisBT Wissenschaftliche Berichte AEG Telefunken",
+"WisZe Wissenschaftliche Zeitschrift",
+"WSAAA Workshop Series of the Asociacion Argentina de Astronomia",
+"WCRp. World Climate Report",
+"WJCMP World Journal of Condensed Matter Physics",
+"WJM.. World Journal of Mechanics",
+"WJNSE World Journal of Nano Science and Engineering",
+"WJNST World Journal of Nuclear Science and Technology",
+"WroRe Wroclaw Astronomical Observatory Reprints",
+"Wuli. Wuli",
+"YaFiz Yadernaya Fizika",
+"YalOY Yale University Observatory Reports for the Year",
+"YUFEM Yamaguchi University Faculty of Engineering Memoirs",
+"YUTR. Yamaguchi University Technology Reports",
+"YamC. Yamamoto Circular",
+"ZaDN. Zagadnienia Drgan Nieliniowych",
+"JAMP. ZAMP Journal of Applied Mathematics and Physics",
+"ZaLab Zavodskaia Laboratoriia",
+"ZaMM. Zeitschrift Angewandte Mathematik und Mechanik",
+"ZaMP. Zeitschrift Angewandte Mathematik und Physik",
+"ZFHDG Zeitschrift der Fachsektion Hydrogeologie in der Deutschen Geologischen Gesellschaft",
+"ZeIE. Zeitschrift elektrische Informations und Energietechnik",
+"ZAGeo Zeitschrift fur Angewandte Geographie",
+"ZAPhy Zeitschrift fur Angewandte Physik",
+"ZAAC. Zeitschrift fur Anorganische und Allgemeine Chemie",
+"ZA... Zeitschrift fur Astrophysik",
+"ZEVGA Zeitschrift fur Eisenbahnwesen und Verkehrstechnik Glasers Annalen",
+"ZEAPC Zeitschrift für Elektrochemie und Angewandte Physikalische Chemie",
+"ZFlu. Zeitschrift fur Flugwissenschaften",
+"ZFlWe Zeitschrift fur Flugwissenschaften und Weltraumforschung",
+"ZGm.. Zeitschrift fur Geomorphologie",
+"ZGmS. Zeitschrift fur Geomorphologie Supplement",
+"ZGeo. Zeitschrift fur Geophysik",
+"ZGlGl Zeitschrift fur Gletscherkunde und Glazialgeologie",
+"ZK... Zeitschrift fur Kristallographie",
+"ZKMP. Zeitschrift fur Kristallographie Mineralogie und Petrographie",
+"ZKS.. Zeitschrift fur Kristallographie Supplements",
+"ZMP.. Zeitschrift für Mathematik und Physik",
+"ZMetl Zeitschrift fur Metallkunde",
+"ZeMet Zeitschrift fur Meteorologie",
+"ZPhy. Zeitschrift fur Physik",
+"ZPhyA Zeitschrift fur Physik A Hadrons and Nuclei",
+"ZPC.. Zeitschrift fur Physikalische Chemie",
+"ZPCF. Zeitschrift fur Physikalische Chemie Frankfurt",
+"ZPCL. Zeitschrift fur Physikalische Chemie Leipzig",
+"ZPCNF Zeitschrift fur Physikalische Chemie Neue Folge",
+"ZPCW. Zeitschrift fur Physikalische Chemie Wiesbaden",
+"ZPhyB Zeitschrift fur Physik B Condensed Matter",
+"ZPhyC Zeitschrift fur Physik C Particles and Fields",
+"ZPhyD Zeitschrift fur Physik D Atoms Molecules Clusters",
+"ZNatA Zeitschrift Naturforschung Teil A",
+"ZNatB Zeitschrift Naturforschung Teil B",
+"ZePAN Zeitschrift Physik Atomic Nuclei",
+"ZVer. Zeitschrift Vermessungswes.",
+"ZWer. Zeitschrift Werkstofftechnik",
+"ZemVs Zemlia i Vselennaia",
+"Zenit Zenit",
+"MiTau Zentralinstitut fuer Astrophysik Mitteilungen des Karl-Schwarzschild-Observatoriums Tautenburg",
+"MitVS Zentralinstitut fuer Astrophysik Sternwarte Sonneberg Mitteilungen ueber Veraenderliche Sterne",
+"ZhPmR ZhETF Pis ma Redaktsiiu",
+"ZhETF Zhurnal Eksperimental noi i Teoreticheskoi Fiziki",
+"ZhFK. Zhurnal Fizicheskoi Khimii",
+"ZNPFK Zhurnal Nauchnoi i Prikladnoi Fotografii i Kinematografii",
+"ZhPhy Zhurnal Physik",
+"ZhPS. Zhurnal Prikladnoi Spektroskopii",
+"ZhTFi Zhurnal Tekhnicheskoi Fiziki",
+"ZVMMF Zhurnal Vychislitel noi Matematiki i Matematicheskoi Fiziki",
+"ZiZa. Ziran Zazhi",
+"Zprav Zpravodaj VZLU",
+"ZvDeb Zvaigsnota Debess",
+};
+static const int njournals = sizeof( journals ) / sizeof( journals[0] );
diff --git a/support/texlab/crates/bibutils_sys/src/bibcore.c b/support/texlab/crates/bibutils_sys/src/bibcore.c
new file mode 100644
index 0000000000..eeab581941
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/bibcore.c
@@ -0,0 +1,1079 @@
+/*
+ * bibcore.c
+ *
+ * Copyright (c) Chris Putnam 2005-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include "bibutils.h"
+
+/* internal includes */
+#include "reftypes.h"
+#include "charsets.h"
+#include "str_conv.h"
+#include "is_ws.h"
+#include "msvc_fix.h"
+
+/* illegal modes to pass in, but use internally for consistency */
+#define BIBL_INTERNALIN (BIBL_LASTIN+1)
+#define BIBL_INTERNALOUT (BIBL_LASTOUT+1)
+
+#define debug_set( p ) ( p->verbose > 1 )
+#define verbose_set( p ) ( p->verbose )
+
+static void
+report_params( FILE *fp, const char *f, param *p )
+{
+ fprintf( fp, "-------------------params start for %s\n", f );
+ fprintf( fp, "\tprogname='%s'\n\n", p->progname );
+
+ fprintf( fp, "\treadformat=%d", p->readformat );
+ switch ( p->readformat ) {
+ case BIBL_INTERNALIN: fprintf( fp, " (BIBL_INTERNALIN)\n" ); break;
+ case BIBL_MODSIN: fprintf( fp, " (BIBL_MODSIN)\n" ); break;
+ case BIBL_BIBTEXIN: fprintf( fp, " (BIBL_BIBTEXIN)\n" ); break;
+ case BIBL_RISIN: fprintf( fp, " (BIBL_RISIN)\n" ); break;
+ case BIBL_ENDNOTEIN: fprintf( fp, " (BIBL_ENDNOTEIN)\n" ); break;
+ case BIBL_COPACIN: fprintf( fp, " (BIBL_COPACIN)\n" ); break;
+ case BIBL_ISIIN: fprintf( fp, " (BIBL_ISIIN)\n" ); break;
+ case BIBL_MEDLINEIN: fprintf( fp, " (BIBL_MEDLINEIN)\n" ); break;
+ case BIBL_ENDNOTEXMLIN: fprintf( fp, " (BIBL_ENDNOTEXMLIN)\n" ); break;
+ case BIBL_BIBLATEXIN: fprintf( fp, " (BIBL_BIBLATEXIN)\n" ); break;
+ case BIBL_EBIIN: fprintf( fp, " (BIBL_EBIIN)\n" ); break;
+ case BIBL_WORDIN: fprintf( fp, " (BIBL_WORDIN)\n" ); break;
+ case BIBL_NBIBIN: fprintf( fp, " (BIBL_NBIBIN)\n" ); break;
+ default: fprintf( fp, " (Illegal value)\n" ); break;
+ }
+ fprintf( fp, "\tcharsetin=%d\n", p->charsetin );
+ fprintf( fp, "\tcharsetin_src=%d", p->charsetin_src );
+ switch ( p->charsetin_src ) {
+ case BIBL_SRC_DEFAULT: fprintf( fp, " (BIBL_SRC_DEFAULT)\n" ); break;
+ case BIBL_SRC_FILE: fprintf( fp, " (BIBL_SRC_FILE)\n" ); break;
+ case BIBL_SRC_USER: fprintf( fp, " (BIBL_SRC_USER)\n" ); break;
+ default: fprintf( fp, " (Illegal value)\n" ); break;
+ }
+ fprintf( fp, "\tutf8in=%d\n", p->utf8in );
+ fprintf( fp, "\tlatexin=%d\n", p->latexin );
+ fprintf( fp, "\txmlin=%d\n\n", p->xmlin );
+
+ fprintf( fp, "\twriteformat=%d", p->writeformat );
+ switch ( p->writeformat ) {
+ case BIBL_INTERNALOUT: fprintf( fp, " (BIBL_INTERNALOUT)\n" ); break;
+ case BIBL_ADSABSOUT: fprintf( fp, " (BIBL_ADSABSOUT)\n" ); break;
+ case BIBL_BIBTEXOUT: fprintf( fp, " (BIBL_BIBTEXOUT)\n" ); break;
+ case BIBL_ENDNOTEOUT: fprintf( fp, " (BIBL_ENDNOTEOUT)\n" ); break;
+ case BIBL_ISIOUT: fprintf( fp, " (BIBL_ISIOUT)\n" ); break;
+ case BIBL_MODSOUT: fprintf( fp, " (BIBL_MODSOUT)\n" ); break;
+ case BIBL_NBIBOUT: fprintf( fp, " (BIBL_NBIBOUT)\n" ); break;
+ case BIBL_RISOUT: fprintf( fp, " (BIBL_RISOUT)\n" ); break;
+ case BIBL_WORD2007OUT: fprintf( fp, " (BIBL_WORD2007OUT)\n" ); break;
+ default: fprintf( fp, " (Illegal value)\n"); break;
+ }
+ fprintf( fp, "\tcharsetout=%d\n", p->charsetout );
+ fprintf( fp, "\tcharsetout_src=%d", p->charsetout_src );
+ switch ( p->charsetout_src ) {
+ case BIBL_SRC_DEFAULT: fprintf( fp, " (BIBL_SRC_DEFAULT)\n" ); break;
+ case BIBL_SRC_FILE: fprintf( fp, " (BIBL_SRC_FILE)\n" ); break;
+ case BIBL_SRC_USER: fprintf( fp, " (BIBL_SRC_USER)\n" ); break;
+ default: fprintf( fp, " (Illegal value)\n" ); break;
+ }
+ fprintf( fp, "\tutf8out=%d\n", p->utf8out );
+ fprintf( fp, "\tutf8bom=%d\n", p->utf8bom );
+ fprintf( fp, "\tlatexout=%d\n", p->latexout );
+ fprintf( fp, "\txmlout=%d\n", p->xmlout );
+ fprintf( fp, "-------------------params end for %s\n", f );
+
+ fflush( fp );
+}
+
+/* bibl_duplicateparams()
+ *
+ * Returns status of BIBL_OK or BIBL_ERR_MEMERR
+ */
+static int
+bibl_duplicateparams( param *np, param *op )
+{
+ int status;
+ slist_init( &(np->asis) );
+ slist_init( &(np->corps) );
+ status = slist_copy( &(np->asis), &(op->asis ) );
+ if ( status!=SLIST_OK ) return BIBL_ERR_MEMERR;
+ status = slist_copy( &(np->corps), &(op->corps ) );
+ if ( status!=SLIST_OK ) return BIBL_ERR_MEMERR;
+
+ if ( !op->progname ) np->progname = NULL;
+ else {
+ np->progname = strdup( op->progname );
+ if ( !np->progname ) return BIBL_ERR_MEMERR;
+ }
+
+ np->readformat = op->readformat;
+ np->writeformat = op->writeformat;
+
+ np->charsetin = op->charsetin;
+ np->charsetin_src = op->charsetin_src;
+ np->utf8in = op->utf8in;
+ np->latexin = op->latexin;
+ np->xmlin = op->xmlin;
+
+ np->charsetout = op->charsetout;
+ np->charsetout_src = op->charsetout_src;
+ np->utf8out = op->utf8out;
+ np->utf8bom = op->utf8bom;
+ np->latexout = op->latexout;
+ np->xmlout = op->xmlout;
+ np->nosplittitle = op->nosplittitle;
+
+ np->verbose = op->verbose;
+ np->format_opts = op->format_opts;
+ np->addcount = op->addcount;
+ np->output_raw = op->output_raw;
+ np->singlerefperfile = op->singlerefperfile;
+
+ np->readf = op->readf;
+ np->processf = op->processf;
+ np->cleanf = op->cleanf;
+ np->typef = op->typef;
+ np->convertf = op->convertf;
+ np->headerf = op->headerf;
+ np->footerf = op->footerf;
+ np->assemblef = op->assemblef;
+ np->writef = op->writef;
+ np->all = op->all;
+ np->nall = op->nall;
+
+ return BIBL_OK;
+}
+
+/* bibl_setreadparams()
+ *
+ * Returns status of BIBL_OK or BIBL_ERR_MEMERR
+ */
+static int
+bibl_setreadparams( param *np, param *op )
+{
+ int status;
+ status = bibl_duplicateparams( np, op );
+ if ( status == BIBL_OK ) {
+ np->utf8out = 1;
+ np->charsetout = BIBL_CHARSET_UNICODE;
+ np->charsetout_src = BIBL_SRC_DEFAULT;
+ np->xmlout = BIBL_XMLOUT_FALSE;
+ np->latexout = 0;
+ np->writeformat = BIBL_INTERNALOUT;
+ }
+ return status;
+}
+
+/* bibl_setwriteparams()
+ *
+ * Returns status of BIBL_OK or BIBL_ERR_MEMERR
+ */
+static int
+bibl_setwriteparams( param *np, param *op )
+{
+ int status;
+ status = bibl_duplicateparams( np, op );
+ if ( status == BIBL_OK ) {
+ np->xmlin = 0;
+ np->latexin = 0;
+ np->utf8in = 1;
+ np->charsetin = BIBL_CHARSET_UNICODE;
+ np->charsetin_src = BIBL_SRC_DEFAULT;
+ np->readformat = BIBL_INTERNALIN;
+ }
+ return status;
+}
+
+void
+bibl_freeparams( param *p )
+{
+ if ( p ) {
+ slist_free( &(p->asis) );
+ slist_free( &(p->corps) );
+ if ( p->progname ) free( p->progname );
+ }
+}
+
+int
+bibl_readasis( param *p, char *f )
+{
+ int status;
+
+ if ( !p ) return BIBL_ERR_BADINPUT;
+ if ( !f ) return BIBL_ERR_BADINPUT;
+
+ status = slist_fill( &(p->asis), f, 1 );
+
+ if ( status == SLIST_ERR_CANTOPEN ) return BIBL_ERR_CANTOPEN;
+ else if ( status == SLIST_ERR_MEMERR ) return BIBL_ERR_MEMERR;
+ return BIBL_OK;
+}
+
+int
+bibl_readcorps( param *p, char *f )
+{
+ int status;
+
+ if ( !p ) return BIBL_ERR_BADINPUT;
+ if ( !f ) return BIBL_ERR_BADINPUT;
+
+ status = slist_fill( &(p->corps), f, 1 );
+
+ if ( status == SLIST_ERR_CANTOPEN ) return BIBL_ERR_CANTOPEN;
+ else if ( status == 0 ) return BIBL_ERR_MEMERR;
+ return BIBL_OK;
+}
+
+/* bibl_addtoasis()
+ *
+ * Returns BIBL_OK or BIBL_ERR_MEMERR
+ */
+int
+bibl_addtoasis( param *p, char *d )
+{
+ int status;
+
+ if ( !p ) return BIBL_ERR_BADINPUT;
+ if ( !d ) return BIBL_ERR_BADINPUT;
+
+ status = slist_addc( &(p->asis), d );
+
+ return ( status==SLIST_OK )? BIBL_OK : BIBL_ERR_MEMERR;
+}
+
+/* bibl_addtocorps()
+ *
+ * Returns BIBL_OK or BIBL_ERR_MEMERR
+ */
+int
+bibl_addtocorps( param *p, char *d )
+{
+ int status;
+
+ if ( !p ) return BIBL_ERR_BADINPUT;
+ if ( !d ) return BIBL_ERR_BADINPUT;
+
+ status = slist_addc( &(p->corps), d );
+
+ return ( status==SLIST_OK )? BIBL_OK : BIBL_ERR_MEMERR;
+}
+
+void
+bibl_reporterr( int err )
+{
+ fprintf( stderr, "Bibutils: " );
+ switch( err ) {
+ case BIBL_OK:
+ fprintf( stderr, "No error." ); break;
+ case BIBL_ERR_BADINPUT:
+ fprintf( stderr, "Bad input." ); break;
+ case BIBL_ERR_MEMERR:
+ fprintf( stderr, "Memory error." ); break;
+ case BIBL_ERR_CANTOPEN:
+ fprintf( stderr, "Can't open." ); break;
+ default:
+ fprintf( stderr, "Cannot identify error code %d.", err ); break;
+ }
+ fprintf( stderr, "\n" );
+}
+
+static int
+bibl_illegalinmode( int mode )
+{
+ if ( mode < BIBL_FIRSTIN || mode > BIBL_LASTIN ) return 1;
+ else return 0;
+}
+
+static int
+bibl_illegaloutmode( int mode )
+{
+ if ( mode < BIBL_FIRSTOUT || mode > BIBL_LASTOUT ) return 1;
+ else return 0;
+}
+
+static void
+bibl_verbose2( fields *f, char *filename, long nrefs )
+{
+ int i, n;
+ n = fields_num( f );
+ fprintf( stderr, "======== %s %ld : converted\n", filename, nrefs );
+ for ( i=0; i<n; ++i ) {
+ fprintf( stderr, "'%s'='%s' level=%d\n",
+ (char*) fields_tag( f, i, FIELDS_CHRP_NOUSE ),
+ (char*) fields_value( f, i, FIELDS_CHRP_NOUSE ),
+ fields_level( f, i ) );
+ }
+ fprintf( stderr, "\n" );
+ fflush( stderr );
+}
+
+#if 0
+static void
+bibl_verbose1( fields *f, fields *orig, char *filename, long nrefs )
+{
+ int i, n;
+ n = fields_num( orig );
+ fprintf( stderr, "======== %s %ld : processed\n", filename, nrefs );
+ for ( i=0; i<n; ++i ) {
+ fprintf( stderr, "'%s'='%s' level=%d\n",
+ (char*) fields_tag( orig, i, FIELDS_CHRP_NOUSE ),
+ (char*) fields_value( orig, i, FIELDS_CHRP_NOUSE ),
+ fields_level( orig, i ) );
+ }
+ if ( f ) bibl_verbose2( f, filename, nrefs );
+}
+#endif
+
+static void
+bibl_verbose0( bibl *bin )
+{
+ int i;
+ for ( i=0; i<bin->nrefs; ++i )
+ bibl_verbose2( bin->ref[i], "", i+1 );
+}
+
+/* extract_tag_value
+ *
+ * Extract the tag and the value for ALWAYS/DEFAULT
+ * entries like: "GENRE:BIBUTILS|Masters thesis"
+ *
+ * tag = "GENRE:BIBUTILS"
+ * value = "Masters thesis"
+ */
+static int
+extract_tag_value( str *tag, str *value, char *p )
+{
+ str_empty( tag );
+ while ( p && *p && *p!='|' ) {
+ str_addchar( tag, *p );
+ p++;
+ }
+ if ( str_memerr( tag ) ) return BIBL_ERR_MEMERR;
+
+ if ( p && *p=='|' ) p++;
+
+ str_empty( value );
+ while ( p && *p ) {
+ str_addchar( value, *p );
+ p++;
+ }
+ if ( str_memerr( tag ) ) return BIBL_ERR_MEMERR;
+
+ return BIBL_OK;
+}
+
+/* process_defaultadd()
+ *
+ * Add tag/value pairs that have "DEFAULT" processing
+ * unless a tag/value pair with the same tag has already
+ * been adding during reference processing.
+ */
+static int
+process_defaultadd( fields *f, int reftype, param *r )
+{
+ int i, n, process, level, status, ret = BIBL_OK;
+ str tag, value;
+ char *p;
+
+ strs_init( &tag, &value, NULL );
+
+ for ( i=0; i<r->all[reftype].ntags; ++i ) {
+
+ process = ((r->all[reftype]).tags[i]).processingtype;
+ if ( process!=DEFAULT ) continue;
+
+ level = ((r->all[reftype]).tags[i]).level;
+ p = ((r->all[reftype]).tags[i]).newstr;
+
+ status = extract_tag_value( &tag, &value, p );
+ if ( status!=BIBL_OK ) {
+ ret = status;
+ goto out;
+ }
+
+ n = fields_find( f, tag.data, level );
+ if ( n==FIELDS_NOTFOUND ) {
+ status = fields_add( f, tag.data, value.data, level );
+ if ( status!=FIELDS_OK ) {
+ ret = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+
+ }
+out:
+ strs_free( &tag, &value, NULL );
+
+ return ret;
+}
+
+/* process_alwaysadd()
+ *
+ * Add tag/value pair to reference from the ALWAYS
+ * processing type without exception (the difference from
+ * DEFAULT processing).
+ */
+static int
+process_alwaysadd( fields *f, int reftype, param *r )
+{
+ int i, process, level, status, ret = BIBL_OK;
+ str tag, value;
+ char *p;
+
+ strs_init( &tag, &value, NULL );
+
+ for ( i=0; i<r->all[reftype].ntags; ++i ) {
+
+ process = ((r->all[reftype]).tags[i]).processingtype;
+ if ( process!=ALWAYS ) continue;
+
+ level = ((r->all[reftype]).tags[i]).level;
+ p = ((r->all[reftype]).tags[i]).newstr;
+
+ status = extract_tag_value( &tag, &value, p );
+ if ( status!=BIBL_OK ) {
+ ret = status;
+ goto out;
+ }
+
+ status = fields_add( f, tag.data, value.data, level );
+ if ( status!=FIELDS_OK ) {
+ ret = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+
+out:
+ strs_free( &tag, &value, NULL );
+
+ return ret;
+}
+
+static int
+read_ref( FILE *fp, bibl *bin, char *filename, param *p )
+{
+ int nrefs = 0, bufpos = 0, ok, ret=BIBL_OK, fcharset;/* = CHARSET_UNKNOWN;*/
+ str reference, line;
+ char buf[256]="";
+ fields *ref;
+ str_init( &reference );
+ str_init( &line );
+ while ( p->readf( fp, buf, sizeof(buf), &bufpos, &line, &reference, &fcharset ) ) {
+ if ( reference.len==0 ) continue;
+ ref = fields_new();
+ if ( !ref ) {
+ ret = BIBL_ERR_MEMERR;
+ bibl_free( bin );
+ goto out;
+ }
+ if ( p->processf( ref, reference.data, filename, nrefs+1, p )){
+ ok = bibl_addref( bin, ref );
+ if ( !ok ) {
+ ret = BIBL_ERR_MEMERR;
+ bibl_free( bin );
+ fields_delete( ref );
+ goto out;
+ }
+ } else {
+ fields_delete( ref );
+ }
+ str_empty( &reference );
+ if ( fcharset!=CHARSET_UNKNOWN ) {
+ /* charset from file takes priority over default, but
+ * not user-specified */
+ if ( p->charsetin_src!=BIBL_SRC_USER ) {
+ p->charsetin_src = BIBL_SRC_FILE;
+ p->charsetin = fcharset;
+ if ( fcharset!=CHARSET_UNICODE ) p->utf8in = 0;
+ }
+ }
+ }
+ if ( p->charsetin==CHARSET_UNICODE ) p->utf8in = 1;
+out:
+ str_free( &line );
+ str_free( &reference );
+ return ret;
+}
+
+/* Don't manipulate latex for URL's and the like */
+static int
+bibl_notexify( char *tag )
+{
+ char *protected[] = { "DOI", "URL", "REFNUM", "FILEATTACH" };
+ int i, nprotected = sizeof( protected ) / sizeof( protected[0] );
+ for ( i=0; i<nprotected; ++i )
+ if ( !strcasecmp( tag, protected[i] ) ) return 1;
+ return 0;
+}
+
+/* bibl_fixcharsetdata()
+ *
+ * returns BIBL_OK or BIBL_ERR_MEMERR
+ */
+static int
+bibl_fixcharsetdata( fields *ref, param *p )
+{
+ str *data;
+ char *tag;
+ long i, n;
+ int ok;
+
+ n = fields_num( ref );
+
+ for ( i=0; i<n; ++i ) {
+
+ tag = fields_tag( ref, i, FIELDS_CHRP_NOUSE );
+ data = fields_value( ref, i, FIELDS_STRP_NOUSE );
+
+ if ( bibl_notexify( tag ) ) {
+ ok = str_convert( data,
+ p->charsetin, 0, p->utf8in, p->xmlin,
+ p->charsetout, 0, p->utf8out, p->xmlout );
+ } else {
+ ok = str_convert( data,
+ p->charsetin, p->latexin, p->utf8in, p->xmlin,
+ p->charsetout, p->latexout, p->utf8out, p->xmlout );
+ }
+
+ if ( !ok ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+/* bibl_fixcharsets()
+ *
+ * returns BIBL_OK or BIBL_ERR_MEMERR
+ */
+static int
+bibl_fixcharsets( bibl *b, param *p )
+{
+ int status = BIBL_OK;
+ long i;
+ for ( i=0; i<b->nrefs && status==BIBL_OK; ++i )
+ status = bibl_fixcharsetdata( b->ref[i], p );
+ return status;
+}
+
+static int
+build_refnum( fields *f, long nrefs, int *n )
+{
+ char *year, *author, *p, num[512];
+ int status, ret = BIBL_OK;
+ str refnum;
+
+ *n = -1;
+
+ str_init( &refnum );
+
+ year = fields_findv( f, LEVEL_MAIN, FIELDS_CHRP_NOUSE, "DATE:YEAR" );
+ if ( !year )
+ year = fields_findv_firstof( f, LEVEL_ANY, FIELDS_CHRP_NOUSE,
+ "DATE:YEAR", "PARTDATE:YEAR", NULL );
+
+ author = fields_findv( f, LEVEL_MAIN, FIELDS_CHRP_NOUSE, "AUTHOR" );
+ if ( !author )
+ author = fields_findv_firstof( f, LEVEL_ANY, FIELDS_CHRP_NOUSE,
+ "AUTHOR", "AUTHOR:CORP", "AUTHOR:ASIS", NULL );
+
+ if ( year && author ) {
+ p = author;
+ while ( *p && *p!='|' )
+ str_addchar( &refnum, *p++ );
+ p = year;
+ while ( *p && *p!=' ' && *p!='\t' )
+ str_addchar( &refnum, *p++ );
+ } else {
+ sprintf( num, "%ld", nrefs );
+ str_mergestrs( &refnum, "ref", num, NULL );
+ }
+ if ( str_memerr( &refnum ) ) {
+ ret = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ status = fields_add( f, "REFNUM", refnum.data, LEVEL_MAIN );
+ if ( status!=FIELDS_OK ) ret = BIBL_ERR_MEMERR;
+ else *n = fields_find( f, "REFNUM", LEVEL_MAIN );
+
+out:
+ str_free( &refnum );
+
+ return ret;
+}
+
+static int
+bibl_checkrefid( bibl *b, param *p )
+{
+ char buf[512];
+ int n, status;
+ fields *ref;
+ long i;
+
+ for ( i=0; i<b->nrefs; ++i ) {
+ ref = b->ref[i];
+ n = fields_find( ref, "REFNUM", LEVEL_MAIN );
+ if ( n==FIELDS_NOTFOUND ) {
+ status = build_refnum( ref, i+1, &n );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( p->addcount ) {
+ sprintf( buf, "_%ld", i+1 );
+ str_strcatc( &(ref->data[n]), buf );
+ if ( str_memerr( &(ref->data[n]) ) )
+ return BIBL_ERR_MEMERR;
+ }
+ }
+
+ return BIBL_OK;
+}
+
+static int
+generate_citekey( fields *f, int nref )
+{
+ int n1, n2, status, ret;
+ char *p, buf[100];
+ str citekey;
+
+ str_init( &citekey );
+
+ n1 = fields_find( f, "AUTHOR", LEVEL_MAIN );
+ if ( n1==FIELDS_NOTFOUND ) n1 = fields_find( f, "AUTHOR", LEVEL_ANY );
+ n2 = fields_find( f, "DATE:YEAR", LEVEL_MAIN );
+ if ( n2==FIELDS_NOTFOUND ) n2 = fields_find( f, "DATE:YEAR", LEVEL_ANY );
+ if ( n2==FIELDS_NOTFOUND ) n2 = fields_find( f, "PARTDATE:YEAR", LEVEL_MAIN );
+ if ( n2==FIELDS_NOTFOUND ) n2 = fields_find( f, "PARTDATE:YEAR", LEVEL_ANY );
+ if ( n1!=FIELDS_NOTFOUND && n2!=FIELDS_NOTFOUND ) {
+ p = f->data[n1].data;
+ while ( p && *p && *p!='|' ) {
+ if ( !is_ws( *p ) ) str_addchar( &citekey, *p );
+ p++;
+ }
+ p = f->data[n2].data;
+ while ( p && *p ) {
+ if ( !is_ws( *p ) ) str_addchar( &citekey, *p );
+ p++;
+ }
+ if ( str_memerr( &citekey ) ) {
+ ret = -1;
+ goto out;
+ }
+ status = fields_add( f, "REFNUM", citekey.data, 0 );
+ if ( status!=FIELDS_OK ) {
+ ret = -1;
+ goto out;
+ }
+ } else {
+ sprintf( buf, "ref%d\n", nref );
+ str_strcpyc( &citekey, buf );
+ }
+ ret = fields_find( f, "REFNUM", LEVEL_ANY );
+out:
+ str_free( &citekey );
+ return ret;
+}
+
+static int
+resolve_citekeys( bibl *b, slist *citekeys, int *dup )
+{
+ const char abc[]="abcdefghijklmnopqrstuvwxyz";
+ int nsame, ntmp, n, i, j, status = BIBL_OK;
+ str tmp;
+
+ str_init( &tmp );
+
+ for ( i=0; i<citekeys->n; ++i ) {
+ if ( dup[i]==-1 ) continue;
+ nsame = 0;
+ for ( j=i; j<citekeys->n; ++j ) {
+ if ( dup[j]!=i ) continue;
+ str_strcpy( &tmp, slist_str( citekeys, j ) );
+ if ( str_memerr( &tmp ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ ntmp = nsame;
+ while ( ntmp >= 26 ) {
+ str_addchar( &tmp, 'a' );
+ ntmp -= 26;
+ }
+ if ( ntmp<26 && ntmp>=0 )
+ str_addchar( &tmp, abc[ntmp] );
+ if ( str_memerr( &tmp ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ nsame++;
+ dup[j] = -1;
+ n = fields_find( b->ref[j], "REFNUM", LEVEL_ANY );
+ if ( n!=FIELDS_NOTFOUND ) {
+ str_strcpy(&((b->ref[j])->data[n]),&tmp);
+ if ( str_memerr( &((b->ref[j])->data[n]) ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+ }
+ }
+out:
+ str_free( &tmp );
+ return status;
+}
+
+static int
+get_citekeys( bibl *b, slist *citekeys )
+{
+ int i, n, status;
+ fields *f;
+
+ for ( i=0; i<b->nrefs; ++i ) {
+ f = b->ref[i];
+ n = fields_find( f, "REFNUM", LEVEL_ANY );
+ if ( n==FIELDS_NOTFOUND ) n = generate_citekey( f, i );
+ if ( n!=FIELDS_NOTFOUND && f->data[n].data ) {
+ status = slist_add( citekeys, &(f->data[n]) );
+ if ( status!=SLIST_OK ) return BIBL_ERR_MEMERR;
+ } else {
+ status = slist_addc( citekeys, "" );
+ if ( status!=SLIST_OK ) return BIBL_ERR_MEMERR;
+ }
+ }
+
+ return BIBL_OK;
+}
+
+static int
+dup_citekeys( bibl *b, slist *citekeys )
+{
+ int i, j, status = BIBL_OK, *dup, ndup=0;
+
+ dup = ( int * ) malloc( sizeof( int ) * citekeys->n );
+ if ( !dup ) return BIBL_ERR_MEMERR;
+
+ for ( i=0; i<citekeys->n; ++i ) dup[i] = -1;
+ for ( i=0; i<citekeys->n-1; ++i ) {
+ if ( dup[i]!=-1 ) continue;
+ for ( j=i+1; j<citekeys->n; ++j ) {
+ if ( !strcmp( slist_cstr( citekeys, i ),
+ slist_cstr( citekeys, j ) ) ) {
+ dup[i] = i;
+ dup[j] = i;
+ ndup++;
+ }
+ }
+ }
+ if ( ndup ) status = resolve_citekeys( b, citekeys, dup );
+ free( dup );
+ return status;
+}
+
+static int
+uniqueify_citekeys( bibl *b )
+{
+ slist citekeys;
+ int status;
+ slist_init( &citekeys );
+ status = get_citekeys( b, &citekeys );
+ if ( status!=BIBL_OK ) goto out;
+ status = dup_citekeys( b, &citekeys );
+out:
+ slist_free( &citekeys );
+ return status;
+}
+
+static int
+clean_ref( bibl *bin, param *p )
+{
+ if ( p->cleanf ) return p->cleanf( bin, p );
+ else return BIBL_OK;
+}
+
+static int
+convert_ref( bibl *bin, char *fname, bibl *bout, param *p )
+{
+ fields *rin, *rout;
+ int reftype = 0, ok, status;
+ long i;
+
+ for ( i=0; i<bin->nrefs; ++i ) {
+ rin = bin->ref[i];
+ rout = fields_new();
+ if ( !rout ) return BIBL_ERR_MEMERR;
+ if ( p->typef )
+ reftype = p->typef( rin, fname, i+1, p );
+ status = p->convertf( rin, rout, reftype, p );
+ if ( status!=BIBL_OK ) return status;
+ if ( p->all ) {
+ status = process_alwaysadd( rout, reftype, p );
+ if ( status!=BIBL_OK ) return status;
+ status = process_defaultadd( rout, reftype, p );
+ if ( status!=BIBL_OK ) return status;
+ }
+ ok = bibl_addref( bout, rout );
+ if ( !ok ) return BIBL_ERR_MEMERR;
+ }
+ if ( debug_set( p ) ) {
+ fflush( stdout );
+ fprintf( stderr, "-------------------start for convert_ref\n");
+ bibl_verbose0( bout );
+ fprintf( stderr, "-------------------end for convert_ref\n" );
+ fflush( stderr );
+ }
+ status = uniqueify_citekeys( bout );
+ return status;
+}
+
+int
+bibl_read( bibl *b, FILE *fp, char *filename, param *p )
+{
+ int ok, status;
+ param lp;
+ bibl bin;
+
+ if ( !b ) return BIBL_ERR_BADINPUT;
+ if ( !fp ) return BIBL_ERR_BADINPUT;
+ if ( !p ) return BIBL_ERR_BADINPUT;
+
+ if ( bibl_illegalinmode( p->readformat ) ) {
+ if ( debug_set( p ) ) {
+ fflush( stdout );
+ report_params( stderr, "bibl_read", p );
+ }
+ return BIBL_ERR_BADINPUT;
+ }
+
+ status = bibl_setreadparams( &lp, p );
+ if ( status!=BIBL_OK ) {
+ if ( debug_set( p ) ) {
+ fflush( stdout );
+ report_params( stderr, "bibl_read", p );
+ }
+ return status;
+ }
+
+ bibl_init( &bin );
+
+ status = read_ref( fp, &bin, filename, &lp );
+ if ( status!=BIBL_OK ) {
+ if ( debug_set( p ) ) {
+ fflush( stdout );
+ report_params( stderr, "bibl_read", &lp );
+ }
+ bibl_freeparams( &lp );
+ return status;
+ }
+
+ if ( debug_set( p ) ) {
+ fflush( stdout );
+ report_params( stderr, "bibl_read", &lp );
+ fprintf( stderr, "-------------------raw_input start for bibl_read\n");
+ bibl_verbose0( &bin );
+ fprintf( stderr, "-------------------raw_input end for bibl_read\n" );
+ fflush( stderr );
+ }
+
+ if ( !lp.output_raw || ( lp.output_raw & BIBL_RAW_WITHCHARCONVERT ) ) {
+ status = bibl_fixcharsets( &bin, &lp );
+ if ( status!=BIBL_OK ) return status;
+ if ( debug_set( p ) ) {
+ fprintf( stderr, "-------------------post_fixcharsets start for bibl_read\n");
+ bibl_verbose0( &bin );
+ fprintf( stderr, "-------------------post_fixcharsets end for bibl_read\n" );
+ fflush( stderr );
+ }
+ }
+ if ( !lp.output_raw ) {
+ status = clean_ref( &bin, &lp );
+ if ( status!=BIBL_OK ) return status;
+ if ( debug_set( p ) ) {
+ fprintf( stderr, "-------------------post_clean_ref start for bibl_read\n");
+ bibl_verbose0( &bin );
+ fprintf( stderr, "-------------------post_clean_ref end for bibl_read\n" );
+ fflush( stderr );
+ }
+ ok = convert_ref( &bin, filename, b, &lp );
+ if ( ok!=BIBL_OK ) return ok;
+ if ( debug_set( p ) ) {
+ fprintf( stderr, "-------------------post_convert_ref start for bibl_read\n");
+ bibl_verbose0( &bin );
+ fprintf( stderr, "-------------------post_convert_ref end for bibl_read\n" );
+ fflush( stderr );
+ }
+ } else {
+ if ( debug_set( p ) ) {
+ fprintf( stderr, "-------------------here1 start for bibl_read\n");
+ bibl_verbose0( &bin );
+ fprintf( stderr, "-------------------here1 end for bibl_read\n" );
+ fflush( stderr );
+ }
+ ok = bibl_copy( b, &bin );
+ if ( !ok ) {
+ bibl_freeparams( &lp );
+ return BIBL_ERR_MEMERR;
+ }
+ }
+ if ( !lp.output_raw || ( lp.output_raw & BIBL_RAW_WITHMAKEREFID ) )
+ bibl_checkrefid( b, &lp );
+
+ bibl_free( &bin );
+
+ bibl_freeparams( &lp );
+
+ return BIBL_OK;
+}
+
+static FILE *
+singlerefname( fields *reffields, long nref, int mode )
+{
+ char outfile[2048];
+ char suffix[5] = "xml";
+ FILE *fp;
+ long count;
+ int found;
+ if ( mode==BIBL_ADSABSOUT ) strcpy( suffix, "ads" );
+ else if ( mode==BIBL_BIBTEXOUT ) strcpy( suffix, "bib" );
+ else if ( mode==BIBL_ENDNOTEOUT ) strcpy( suffix, "end" );
+ else if ( mode==BIBL_ISIOUT ) strcpy( suffix, "isi" );
+ else if ( mode==BIBL_MODSOUT ) strcpy( suffix, "xml" );
+ else if ( mode==BIBL_RISOUT ) strcpy( suffix, "ris" );
+ else if ( mode==BIBL_WORD2007OUT ) strcpy( suffix, "xml" );
+ found = fields_find( reffields, "REFNUM", LEVEL_MAIN );
+ /* find new filename based on reference */
+ if ( found!=-1 ) {
+ sprintf( outfile,"%s.%s",reffields->data[found].data, suffix );
+ } else sprintf( outfile,"%ld.%s",nref, suffix );
+ count = 0;
+ fp = fopen( outfile, "r" );
+ while ( fp ) {
+ fclose(fp);
+ count++;
+ if ( count==60000 ) return NULL;
+ if ( found!=-1 )
+ sprintf( outfile, "%s_%ld.%s",
+ reffields->data[found].data, count, suffix );
+ else sprintf( outfile,"%ld_%ld.%s",nref, count, suffix );
+ fp = fopen( outfile, "r" );
+ }
+ return fopen( outfile, "w" );
+}
+
+static int
+bibl_writeeachfp( FILE *fp, bibl *b, param *p )
+{
+ fields out, *use = &out;
+ int status;
+ long i;
+
+ fields_init( &out );
+
+ for ( i=0; i<b->nrefs; ++i ) {
+
+ fp = singlerefname( b->ref[i], i, p->writeformat );
+ if ( !fp ) return BIBL_ERR_CANTOPEN;
+
+ if ( p->headerf ) p->headerf( fp, p );
+
+ if ( p->assemblef ) {
+ fields_free( &out );
+ status = p->assemblef( b->ref[i], &out, p, i );
+ if ( status!=BIBL_OK ) break;
+ } else {
+ use = b->ref[i];
+ }
+
+ status = p->writef( use, fp, p, i );
+
+ if ( p->footerf ) p->footerf( fp );
+ fclose( fp );
+
+ if ( status!=BIBL_OK ) return status;
+ }
+
+ return BIBL_OK;
+}
+
+static int
+bibl_writefp( FILE *fp, bibl *b, param *p )
+{
+ int status = BIBL_OK;
+ fields out, *use = &out;
+ long i;
+
+ fields_init( &out );
+
+ if ( debug_set( p ) && p->assemblef ) {
+ fprintf( stderr, "-------------------assemblef start for bibl_write\n");
+ }
+
+ if ( p->headerf ) p->headerf( fp, p );
+ for ( i=0; i<b->nrefs; ++i ) {
+
+ if ( p->assemblef ) {
+ fields_free( &out );
+ status = p->assemblef( b->ref[i], &out, p, i );
+ if ( status!=BIBL_OK ) break;
+ if ( debug_set( p ) ) bibl_verbose2( &out, "", i+1 );
+ } else {
+ use = b->ref[i];
+ }
+
+ status = p->writef( use, fp, p, i );
+ if ( status!=BIBL_OK ) break;
+
+ }
+
+ if ( debug_set( p ) && p->assemblef ) {
+ fprintf( stderr, "-------------------assemblef end for bibl_write\n");
+ }
+
+ if ( p->footerf ) p->footerf( fp );
+ return status;
+}
+
+int
+bibl_write( bibl *b, FILE *fp, param *p )
+{
+ int status;
+ param lp;
+
+ if ( !b ) return BIBL_ERR_BADINPUT;
+ if ( !p ) return BIBL_ERR_BADINPUT;
+ if ( bibl_illegaloutmode( p->writeformat ) ) return BIBL_ERR_BADINPUT;
+ if ( !fp && !p->singlerefperfile ) return BIBL_ERR_BADINPUT;
+
+ status = bibl_setwriteparams( &lp, p );
+ if ( status!=BIBL_OK ) return status;
+
+ if ( debug_set( p ) ) {
+ report_params( stderr, "bibl_write", &lp );
+ fflush( stdout );
+ }
+
+ if ( debug_set( p ) ) {
+ fprintf( stderr, "-------------------raw input start for bibl_write\n");
+ bibl_verbose0( b );
+ fprintf( stderr, "-------------------raw input end for bibl_write\n" );
+ fflush( stderr );
+ }
+
+ status = bibl_fixcharsets( b, &lp );
+ if ( status!=BIBL_OK ) goto out;
+
+ if ( debug_set( p ) ) {
+ fprintf( stderr, "-------------------post-fixcharsets start for bibl_write\n");
+ bibl_verbose0( b );
+ fprintf( stderr, "-------------------post-fixcharsets end for bibl_write\n" );
+ fflush( stderr );
+ }
+
+ if ( p->singlerefperfile ) status = bibl_writeeachfp( fp, b, &lp );
+ else status = bibl_writefp( fp, b, &lp );
+
+out:
+ bibl_freeparams( &lp );
+ return status;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/bibformats.h b/support/texlab/crates/bibutils_sys/src/bibformats.h
new file mode 100644
index 0000000000..dd8ef25afc
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/bibformats.h
@@ -0,0 +1,35 @@
+/*
+ * bibformats.h
+ *
+ * Copyright (c) Chris Putnam 2007-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef BIBFORMATS_H
+#define BIBFORMATS_H
+
+#include "bibutils.h"
+
+int adsout_initparams ( param *pm, const char *progname );
+int biblatexin_initparams( param *pm, const char *progname );
+int bibtexin_initparams ( param *pm, const char *progname );
+int bibtexout_initparams ( param *pm, const char *progname );
+int copacin_initparams ( param *pm, const char *progname );
+int ebiin_initparams ( param *pm, const char *progname );
+int endin_initparams ( param *pm, const char *progname );
+int endout_initparams ( param *pm, const char *progname );
+int endxmlin_initparams ( param *pm, const char *progname );
+int isiin_initparams ( param *pm, const char *progname );
+int isiout_initparams ( param *pm, const char *progname );
+int medin_initparams ( param *pm, const char *progname );
+int modsin_initparams ( param *pm, const char *progname );
+int modsout_initparams ( param *pm, const char *progname );
+int nbibin_initparams ( param *pm, const char *progname );
+int nbibout_initparams ( param *pm, const char *progname );
+int risin_initparams ( param *pm, const char *progname );
+int risout_initparams ( param *pm, const char *progname );
+int wordin_initparams ( param *pm, const char *progname );
+int wordout_initparams ( param *pm, const char *progname );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/bibl.c b/support/texlab/crates/bibutils_sys/src/bibl.c
new file mode 100644
index 0000000000..8862f6ea40
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/bibl.c
@@ -0,0 +1,104 @@
+/*
+ * bibl.c
+ *
+ * Copyright (c) Chris Putnam 2005-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include "bibl.h"
+
+void
+bibl_init( bibl *b )
+{
+ b->nrefs = b->maxrefs = 0L;
+ b->ref = NULL;
+}
+
+static int
+bibl_malloc( bibl * b )
+{
+ int alloc = 50;
+ b->nrefs = 0;
+ b->ref = ( fields ** ) malloc( sizeof( fields* ) * alloc );
+ if ( b->ref ) {
+ b->maxrefs = alloc;
+ return 1;
+ } else {
+ fprintf( stderr, "%s: allocation error\n", __FUNCTION__ );
+ return 0;
+ }
+}
+
+static int
+bibl_realloc( bibl * b )
+{
+ int alloc = b->maxrefs * 2;
+ fields **more;
+ more = ( fields ** ) realloc( b->ref, sizeof( fields* ) * alloc );
+ if ( more ) {
+ b->ref = more;
+ b->maxrefs = alloc;
+ return 1;
+ } else {
+ fprintf( stderr, "%s: allocation error\n", __FUNCTION__ );
+ return 0;
+ }
+}
+
+int
+bibl_addref( bibl *b, fields *ref )
+{
+ int ok = 1;
+ if ( b->maxrefs==0 ) ok = bibl_malloc( b );
+ else if ( b->nrefs >= b->maxrefs ) ok = bibl_realloc( b );
+ if ( ok ) {
+ b->ref[ b->nrefs ] = ref;
+ b->nrefs++;
+ }
+ return ok;
+}
+
+void
+bibl_free( bibl *b )
+{
+ long i;
+ for ( i=0; i<b->nrefs; ++i )
+ fields_delete( b->ref[i] );
+ if ( b->ref ) free( b->ref );
+ b->ref = NULL;
+ b->nrefs = b->maxrefs = 0;
+}
+
+/* bibl_copy()
+ *
+ * returns 1 on success, 0 on failure (memory error)
+ */
+int
+bibl_copy( bibl *bout, bibl *bin )
+{
+ fields *refin, *refout;
+ int i, j, n, status, ok, level;
+ char *tag, *value;
+ for ( i=0; i<bin->nrefs; ++i ) {
+ refin = bin->ref[i];
+ refout = fields_new();
+ if ( !refout ) return 0;
+ n = fields_num( refin );
+ for ( j=0; j<n; ++j ) {
+ tag = fields_tag( refin, j, FIELDS_CHRP );
+ value = fields_value( refin, j, FIELDS_CHRP );
+ level = fields_level( refin, j );
+ if ( tag && value ) {
+ status = fields_add_can_dup( refout, tag, value, level );
+ if ( status!=FIELDS_OK ) return 0;
+ }
+ }
+ ok = bibl_addref( bout, refout );
+ if ( !ok ) return 0;
+ }
+ return 1;
+}
+
diff --git a/support/texlab/crates/bibutils_sys/src/bibl.h b/support/texlab/crates/bibutils_sys/src/bibl.h
new file mode 100644
index 0000000000..5743129455
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/bibl.h
@@ -0,0 +1,29 @@
+/*
+ * bibl.h
+ *
+ * Copyright (c) Chris Putnam 2005-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef BIBL_H
+#define BIBL_H
+
+#include <stdio.h>
+#include "str.h"
+#include "fields.h"
+#include "reftypes.h"
+
+typedef struct {
+ long nrefs;
+ long maxrefs;
+ fields **ref;
+} bibl;
+
+extern void bibl_init( bibl *b );
+extern int bibl_addref( bibl *b, fields *ref );
+extern void bibl_free( bibl *b );
+extern int bibl_copy( bibl *bout, bibl *bin );
+
+#endif
+
diff --git a/support/texlab/crates/bibutils_sys/src/biblatexin.c b/support/texlab/crates/bibutils_sys/src/biblatexin.c
new file mode 100644
index 0000000000..cbec80ba37
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/biblatexin.c
@@ -0,0 +1,1340 @@
+/*
+ * biblatexin.c
+ *
+ * Copyright (c) Chris Putnam 2008-2019
+ * Copyright (c) Johannes Wilm 2010-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include "is_ws.h"
+#include "strsearch.h"
+#include "str.h"
+#include "utf8.h"
+#include "str_conv.h"
+#include "fields.h"
+#include "slist.h"
+#include "name.h"
+#include "reftypes.h"
+#include "bibformats.h"
+#include "generic.h"
+#include "msvc_fix.h"
+
+extern variants biblatex_all[];
+extern int biblatex_nall;
+
+static slist find = { 0, 0, 0, NULL };
+static slist replace = { 0, 0, 0, NULL };
+
+/*****************************************************
+ PUBLIC: void biblatexin_initparams()
+*****************************************************/
+
+static int biblatexin_convertf( fields *bibin, fields *info, int reftype, param *p );
+static int biblatexin_processf( fields *bibin, const char *data, const char *filename, long nref, param *p );
+static int biblatexin_cleanf( bibl *bin, param *p );
+static int biblatexin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset );
+static int biblatexin_typef( fields *bibin, const char *filename, int nrefs, param *p );
+
+int
+biblatexin_initparams( param *pm, const char *progname )
+{
+ pm->readformat = BIBL_BIBLATEXIN;
+ pm->charsetin = BIBL_CHARSET_DEFAULT;
+ pm->charsetin_src = BIBL_SRC_DEFAULT;
+ pm->latexin = 1;
+ pm->xmlin = 0;
+ pm->utf8in = 0;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->output_raw = 0;
+
+ pm->readf = biblatexin_readf;
+ pm->processf = biblatexin_processf;
+ pm->cleanf = biblatexin_cleanf;
+ pm->typef = biblatexin_typef;
+ pm->convertf = biblatexin_convertf;
+ pm->all = biblatex_all;
+ pm->nall = biblatex_nall;
+
+ slist_init( &(pm->asis) );
+ slist_init( &(pm->corps) );
+
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int biblatexin_readf()
+*****************************************************/
+
+/*
+ * readf can "read too far", so we store this information in line, thus
+ * the next new text is in line, either from having read too far or
+ * from the next chunk obtained via str_fget()
+ *
+ * return 1 on success, 0 on error/end-of-file
+ *
+ */
+static int
+readmore( FILE *fp, char *buf, int bufsize, int *bufpos, str *line )
+{
+ if ( line->len ) return 1;
+ else return str_fget( fp, buf, bufsize, bufpos, line );
+}
+
+/*
+ * readf()
+ *
+ * returns zero if cannot get reference and hit end of-file
+ * returns 1 if last reference in file, 2 if reference within file
+ */
+static int
+biblatexin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset )
+{
+ int haveref = 0;
+ const char *p;
+ while ( haveref!=2 && readmore( fp, buf, bufsize, bufpos, line ) ) {
+ if ( line->len == 0 ) continue; /* blank line */
+ p = &(line->data[0]);
+ p = skip_ws( p );
+ if ( *p == '%' ) { /* commented out line */
+ str_empty( line );
+ continue;
+ }
+ if ( *p == '@' ) haveref++;
+ if ( haveref && haveref<2 ) {
+ str_strcatc( reference, p );
+ str_addchar( reference, '\n' );
+ str_empty( line );
+ } else if ( !haveref ) str_empty( line );
+ }
+ *fcharset = CHARSET_UNKNOWN;
+ return haveref;
+}
+
+/*****************************************************
+ PUBLIC: int biblatexin_processf()
+*****************************************************/
+
+static const char *
+process_biblatextype( const char *p, str *type )
+{
+ str tmp;
+ str_init( &tmp );
+
+ if ( *p=='@' ) p++;
+ p = str_cpytodelim( &tmp, p, "{( \t\r\n", 0 );
+ p = skip_ws( p );
+ if ( *p=='{' || *p=='(' ) p++;
+ p = skip_ws( p );
+
+ if ( str_has_value( &tmp ) ) str_strcpy( type, &tmp );
+ else str_empty( type );
+
+ str_free( &tmp );
+ return p;
+}
+
+static const char *
+process_biblatexid( const char *p, str *id )
+{
+ const char *start_p = p;
+ str tmp;
+
+ str_init( &tmp );
+ p = str_cpytodelim( &tmp, p, ",", 1 );
+
+ if ( str_has_value( &tmp ) ) {
+ if ( strchr( tmp.data, '=' ) ) {
+ /* Endnote writes biblatex files w/o fields, try to
+ * distinguish via presence of an equal sign.... if
+ * it's there, assume that it's a tag/data pair instead
+ * and roll back.
+ */
+ p = start_p;
+ str_empty( id );
+ } else {
+ str_strcpy( id, &tmp );
+ }
+ } else {
+ str_empty( id );
+ }
+
+ str_free( &tmp );
+ return skip_ws( p );
+}
+
+static const char *
+biblatex_tag( const char *p, str *tag )
+{
+ p = str_cpytodelim( tag, skip_ws( p ), "= \t\r\n", 0 );
+ return skip_ws( p );
+}
+
+static const char *
+biblatex_data( const char *p, fields *bibin, slist *tokens, long nref, param *pm )
+{
+ unsigned int nbracket = 0, nquotes = 0;
+ const char *startp = p;
+ int status;
+ str tok;
+
+ str_init( &tok );
+ while ( p && *p ) {
+ if ( !nquotes && !nbracket ) {
+ if ( *p==',' || *p=='=' || *p=='}' || *p==')' )
+ goto out;
+ }
+ if ( *p=='\"' && nbracket==0 && ( p==startp || *(p-1)!='\\' ) ) {
+ nquotes = !nquotes;
+ str_addchar( &tok, *p );
+ if ( !nquotes ) {
+ status = slist_add( tokens, &tok );
+ if ( status!=SLIST_OK ) { p = NULL; goto outerr; }
+ str_empty( &tok );
+ }
+ } else if ( *p=='#' && !nquotes && !nbracket ) {
+ if ( str_has_value( &tok ) ) {
+ status = slist_add( tokens, &tok );
+ if ( status!=SLIST_OK ) { p = NULL; goto outerr; }
+ }
+ str_strcpyc( &tok, "#" );
+ status = slist_add( tokens, &tok );
+ if ( status!=SLIST_OK ) { p = NULL; goto outerr; }
+ str_empty( &tok );
+ } else if ( *p=='{' && !nquotes && ( p==startp || *(p-1)!='\\' ) ) {
+ nbracket++;
+ str_addchar( &tok, *p );
+ } else if ( *p=='}' && !nquotes && ( p==startp || *(p-1)!='\\' ) ) {
+ nbracket--;
+ str_addchar( &tok, *p );
+ if ( nbracket==0 ) {
+ status = slist_add( tokens, &tok );
+ if ( status!=SLIST_OK ) { p = NULL; goto outerr; }
+ str_empty( &tok );
+ }
+ } else if ( !is_ws( *p ) || nquotes || nbracket ) {
+ if ( !is_ws( *p ) ) str_addchar( &tok, *p );
+ else {
+ if ( tok.len!=0 && *p!='\n' && *p!='\r' )
+ str_addchar( &tok, *p );
+ else if ( tok.len!=0 && (*p=='\n' || *p=='\r')) {
+ str_addchar( &tok, ' ' );
+ while ( is_ws( *(p+1) ) ) p++;
+ }
+ }
+ } else if ( is_ws( *p ) ) {
+ if ( str_has_value( &tok ) ) {
+ status = slist_add( tokens, &tok );
+ if ( status!=SLIST_OK ) { p = NULL; goto outerr; }
+ str_empty( &tok );
+ }
+ }
+ p++;
+ }
+out:
+ if ( nbracket!=0 ) {
+ fprintf( stderr, "%s: Mismatch in number of brackets in reference %ld\n", pm->progname, nref );
+ }
+ if ( nquotes!=0 ) {
+ fprintf( stderr, "%s: Mismatch in number of quotes in reference %ld\n", pm->progname, nref );
+ }
+ if ( str_has_value( &tok ) ) {
+ status = slist_add( tokens, &tok );
+ if ( status!=SLIST_OK ) p = NULL;
+ }
+outerr:
+ str_free( &tok );
+ return p;
+}
+
+/* replace_strings()
+ *
+ * do string replacement -- only if unprotected by quotation marks or curly brackets
+ */
+static void
+replace_strings( slist *tokens, fields *bibin, long nref, param *pm )
+{
+ int i, n, ok;
+ char *q;
+ str *s;
+ i = 0;
+ while ( i < tokens->n ) {
+ s = slist_str( tokens, i );
+ if ( !strcmp( s->data, "#" ) ) {
+ } else if ( s->data[0]!='\"' && s->data[0]!='{' ) {
+ n = slist_find( &find, s );
+ if ( n!=-1 ) {
+ str_strcpy( s, slist_str( &replace, n ) );
+ } else {
+ q = s->data;
+ ok = 1;
+ while ( *q && ok ) {
+ if ( !isdigit( *q ) ) ok = 0;
+ q++;
+ }
+ if ( !ok ) {
+ fprintf( stderr, "%s: Warning: Non-numeric "
+ "BibTeX elements should be in quotations or "
+ "curly brackets in reference %ld\n", pm->progname, nref );
+ }
+ }
+ }
+ i++;
+ }
+}
+
+static int
+string_concatenate( slist *tokens, fields *bibin, long nref, param *pm )
+{
+ int i, status;
+ str *s, *t;
+ i = 0;
+ while ( i < tokens->n ) {
+ s = slist_str( tokens, i );
+ if ( !strcmp( str_cstr( s ), "#" ) ) {
+ if ( i==0 || i==tokens->n-1 ) {
+ fprintf( stderr, "%s: Warning: Stray string concatenation "
+ "('#' character) in reference %ld\n", pm->progname, nref );
+ status = slist_remove( tokens, i );
+ if ( status!=SLIST_OK ) return BIBL_ERR_MEMERR;
+ continue;
+ }
+ s = slist_str( tokens, i-1 );
+ if ( s->data[0]!='\"' && s->data[s->len-1]!='\"' )
+ fprintf( stderr, "%s: Warning: String concentation should "
+ "be used in context of quotations marks in reference %ld\n", pm->progname, nref );
+ t = slist_str( tokens, i+1 );
+ if ( t->data[0]!='\"' && t->data[t->len-1]!='\"' )
+ fprintf( stderr, "%s: Warning: String concentation should "
+ "be used in context of quotations marks in reference %ld\n", pm->progname, nref );
+ if ( ( s->data[s->len-1]=='\"' && t->data[0]=='\"') || (s->data[s->len-1]=='}' && t->data[0]=='{') ) {
+ str_trimend( s, 1 );
+ str_trimbegin( t, 1 );
+ str_strcat( s, t );
+ } else {
+ str_strcat( s, t );
+ }
+ status = slist_remove( tokens, i );
+ if ( status!=SLIST_OK ) return BIBL_ERR_MEMERR;
+ status = slist_remove( tokens, i );
+ if ( status!=SLIST_OK ) return BIBL_ERR_MEMERR;
+ } else i++;
+ }
+ return BIBL_OK;
+}
+
+static const char *
+process_biblatexline( const char *p, str *tag, str *data, uchar stripquotes, long nref, param *pm )
+{
+ int i, status;
+ slist tokens;
+ str *s;
+
+ str_empty( data );
+
+ p = biblatex_tag( p, tag );
+ if ( str_is_empty( tag ) ) {
+ /* ...skip this line */
+ while ( *p && *p!='\n' && *p!='\r' ) p++;
+ while ( *p=='\n' || *p=='\r' ) p++;
+ return p;
+ }
+
+ slist_init( &tokens );
+
+ if ( *p=='=' ) p = biblatex_data( p+1, NULL, &tokens, nref, pm );
+
+ replace_strings( &tokens, NULL, nref, pm );
+
+ status = string_concatenate( &tokens, NULL, nref, pm );
+ if ( status!=BIBL_OK ) {
+ p = NULL;
+ goto out;
+ }
+
+ for ( i=0; i<tokens.n; i++ ) {
+ s = slist_str( &tokens, i );
+ if ( ( stripquotes && s->data[0]=='\"' && s->data[s->len-1]=='\"' ) ||
+ ( s->data[0]=='{' && s->data[s->len-1]=='}' ) ) {
+ str_trimbegin( s, 1 );
+ str_trimend( s, 1 );
+ }
+ str_strcat( data, slist_str( &tokens, i ) );
+ }
+out:
+ slist_free( &tokens );
+ return p;
+}
+
+static int
+process_cite( fields *bibin, const char *p, const char *filename, long nref, param *pm )
+{
+ int fstatus, status = BIBL_OK;
+ str type, id, tag, data;
+
+ strs_init( &type, &id, &tag, &data, NULL );
+
+ p = process_biblatextype( p, &type );
+ p = process_biblatexid( p, &id );
+
+ if ( str_is_empty( &type ) || str_is_empty( &id ) ) goto out;
+
+ fstatus = fields_add( bibin, "INTERNAL_TYPE", str_cstr( &type ), 0 );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+
+ fstatus = fields_add( bibin, "REFNUM", str_cstr( &id ), 0 );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+
+ while ( *p ) {
+ p = process_biblatexline( p, &tag, &data, 1, nref, pm );
+ if ( !p ) { status = BIBL_ERR_MEMERR; goto out; }
+ /* no anonymous or empty fields allowed */
+ if ( str_has_value( &tag ) && str_has_value( &data ) ) {
+ fstatus = fields_add( bibin, str_cstr( &tag ), str_cstr( &data ), 0 );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+ }
+ strs_empty( &tag, &data, NULL );
+ }
+out:
+ strs_free( &type, &id, &tag, &data, NULL );
+ return status;
+}
+
+/* process_string()
+ *
+ * Handle lines like:
+ *
+ * '@STRING{TL = {Tetrahedron Lett.}}'
+ *
+ * p should point to just after '@STRING'
+ *
+ * In BibTeX, if a string is defined several times, the last one is kept.
+ *
+ */
+static int
+process_string( const char *p, long nref, param *pm )
+{
+ int n, status = BIBL_OK;
+ str s1, s2, *s;
+ strs_init( &s1, &s2, NULL );
+ while ( *p && *p!='{' && *p!='(' ) p++;
+ if ( *p=='{' || *p=='(' ) p++;
+ (void) process_biblatexline( skip_ws( p ), &s1, &s2, 0, nref, pm );
+ if ( str_has_value( &s2 ) ) {
+ str_findreplace( &s2, "\\ ", " " );
+ if ( str_memerr( &s2 ) ) { status = BIBL_ERR_MEMERR; goto out; }
+ } else {
+ str_strcpyc( &s2, "" );
+ }
+ if ( str_has_value( &s1 ) ) {
+ n = slist_find( &find, &s1 );
+ if ( n==-1 ) {
+ status = slist_add_ret( &find, &s1, BIBL_OK, BIBL_ERR_MEMERR );
+ if ( status!=BIBL_OK ) goto out;
+ status = slist_add_ret( &replace, &s2, BIBL_OK, BIBL_ERR_MEMERR );
+ if ( status!=BIBL_OK ) goto out;
+ } else {
+ if ( str_has_value( &s2 ) ) s = slist_set( &replace, n, &s2 );
+ else s = slist_setc( &replace, n, "" );
+ if ( s==NULL ) { status = BIBL_ERR_MEMERR; goto out; }
+ }
+ }
+out:
+ strs_free( &s1, &s2, NULL );
+ return status;
+}
+
+static int
+biblatexin_processf( fields *bibin, const char *data, const char *filename, long nref, param *p )
+{
+ if ( !strncasecmp( data, "@STRING", 7 ) ) {
+ process_string( data+7, nref, p );
+ return 0;
+ } else {
+ process_cite( bibin, data, filename, nref, p );
+ return 1;
+ }
+}
+
+/*****************************************************
+ PUBLIC: void biblatexin_cleanf()
+*****************************************************/
+
+static void
+biblatex_process_tilde( str *s )
+{
+ char *p, *q;
+ int n = 0;
+
+ p = q = s->data;
+ if ( !p ) return;
+ while ( *p ) {
+ if ( *p=='~' ) {
+ *q = ' ';
+ } else if ( *p=='\\' && *(p+1)=='~' ) {
+ n++;
+ p++;
+ *q = '~';
+ } else {
+ *q = *p;
+ }
+ p++;
+ q++;
+ }
+ *q = '\0';
+ s->len -= n;
+}
+
+static void
+biblatex_process_bracket( str *s )
+{
+ char *p, *q;
+ int n = 0;
+
+ p = q = s->data;
+ if ( !p ) return;
+ while ( *p ) {
+ if ( *p=='\\' && ( *(p+1)=='{' || *(p+1)=='}' ) ) {
+ n++;
+ p++;
+ *q = *p;
+ q++;
+ } else if ( *p=='{' || *p=='}' ) {
+ n++;
+ } else {
+ *q = *p;
+ q++;
+ }
+ p++;
+ }
+ *q = '\0';
+ s->len -= n;
+}
+
+static int
+biblatex_cleantoken( str *s )
+{
+ /* 'textcomp' annotations */
+ str_findreplace( s, "\\textit", "" );
+ str_findreplace( s, "\\textbf", "" );
+ str_findreplace( s, "\\textsl", "" );
+ str_findreplace( s, "\\textsc", "" );
+ str_findreplace( s, "\\textsf", "" );
+ str_findreplace( s, "\\texttt", "" );
+ str_findreplace( s, "\\textsubscript", "" );
+ str_findreplace( s, "\\textsuperscript", "" );
+ str_findreplace( s, "\\emph", "" );
+ str_findreplace( s, "\\url", "" );
+
+ /* Other text annotations */
+ str_findreplace( s, "\\it ", "" );
+ str_findreplace( s, "\\em ", "" );
+
+ str_findreplace( s, "\\%", "%" );
+ str_findreplace( s, "\\$", "$" );
+ while ( str_findreplace( s, " ", " " ) ) {}
+
+ /* 'textcomp' annotations that we don't want to substitute on output*/
+ str_findreplace( s, "\\textdollar", "$" );
+ str_findreplace( s, "\\textunderscore", "_" );
+
+ biblatex_process_bracket( s );
+ biblatex_process_tilde( s );
+
+ if ( !str_memerr( s ) ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+}
+
+static int
+biblatex_split( slist *tokens, str *s )
+{
+ int i, n = s->len, nbrackets = 0, status = BIBL_OK;
+ str tok, *t;
+
+ str_init( &tok );
+
+ for ( i=0; i<n; ++i ) {
+ if ( s->data[i]=='{' && ( i==0 || s->data[i-1]!='\\' ) ) {
+ nbrackets++;
+ str_addchar( &tok, '{' );
+ } else if ( s->data[i]=='}' && ( i==0 || s->data[i-1]!='\\' ) ) {
+ nbrackets--;
+ str_addchar( &tok, '}' );
+ } else if ( !is_ws( s->data[i] ) || nbrackets ) {
+ str_addchar( &tok, s->data[i] );
+ } else if ( is_ws( s->data[i] ) ) {
+ if ( str_memerr( &tok ) ) { status = BIBL_ERR_MEMERR; goto out; }
+ if ( str_has_value( &tok ) ) {
+ status = slist_add_ret( tokens, &tok, BIBL_OK, BIBL_ERR_MEMERR );
+ if ( status!=BIBL_OK ) goto out;
+ }
+ str_empty( &tok );
+ }
+ }
+ if ( str_has_value( &tok ) ) {
+ if ( str_memerr( &tok ) ) { status = BIBL_ERR_MEMERR; goto out; }
+ status = slist_add_ret( tokens, &tok, BIBL_OK, BIBL_ERR_MEMERR );
+ if ( status!=BIBL_OK ) goto out;
+ }
+
+ for ( i=0; i<tokens->n; ++i ) {
+ t = slist_str( tokens, i );
+ str_trimstartingws( t );
+ str_trimendingws( t );
+ if ( str_memerr( t ) ) { status = BIBL_ERR_MEMERR; goto out; }
+ }
+out:
+ str_free( &tok );
+ return status;
+}
+
+static int
+biblatexin_addtitleurl( fields *info, str *in )
+{
+ int fstatus, status = BIBL_OK;
+ const char *p;
+ str s;
+
+ str_init( &s );
+ /* skip past "\href{" */
+ p = str_cpytodelim( &s, in->data + 6, "}", 1 );
+ if ( str_memerr( &s ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ fstatus = fields_add( info, "URL", s.data, 0 );
+ if ( fstatus!=FIELDS_OK ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ (void) str_cpytodelim( &s, p, "", 0 );
+ if ( str_memerr( &s ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ str_swapstrings( &s, in );
+out:
+ str_free( &s );
+ return status;
+}
+
+static int
+is_name_tag( str *tag )
+{
+ if ( str_has_value( tag ) ) {
+ if ( !strcasecmp( str_cstr( tag ), "author" ) ) return 1;
+ if ( !strcasecmp( str_cstr( tag ), "editor" ) ) return 1;
+ if ( !strcasecmp( str_cstr( tag ), "editorb" ) ) return 1;
+ if ( !strcasecmp( str_cstr( tag ), "editorc" ) ) return 1;
+ if ( !strcasecmp( str_cstr( tag ), "director" ) ) return 1;
+ if ( !strcasecmp( str_cstr( tag ), "producer" ) ) return 1;
+ if ( !strcasecmp( str_cstr( tag ), "execproducer" ) ) return 1;
+ if ( !strcasecmp( str_cstr( tag ), "writer" ) ) return 1;
+ if ( !strcasecmp( str_cstr( tag ), "redactor" ) ) return 1;
+ if ( !strcasecmp( str_cstr( tag ), "annotator" ) ) return 1;
+ if ( !strcasecmp( str_cstr( tag ), "commentator" ) ) return 1;
+ if ( !strcasecmp( str_cstr( tag ), "translator" ) ) return 1;
+ if ( !strcasecmp( str_cstr( tag ), "foreword" ) ) return 1;
+ if ( !strcasecmp( str_cstr( tag ), "afterword" ) ) return 1;
+ if ( !strcasecmp( str_cstr( tag ), "introduction" ) ) return 1;
+ }
+ return 0;
+}
+
+static int
+is_url_tag( str *tag )
+{
+ if ( str_has_value( tag ) ) {
+ if ( !strcasecmp( str_cstr( tag ), "url" ) ) return 1;
+ }
+ return 0;
+}
+
+static int
+biblatexin_cleandata( str *tag, str *s, fields *info, param *p )
+{
+ slist tokens;
+ str *tok;
+ int i, status = BIBL_OK;
+ if ( str_is_empty( s ) ) return status;
+ /* protect url from undergoing any parsing */
+ if ( is_url_tag( tag ) ) return status;
+ slist_init( &tokens );
+ biblatex_split( &tokens, s );
+ for ( i=0; i<tokens.n; ++i ) {
+ if ( !strncasecmp(slist_cstr( &tokens, i ), "\\href{", 6 )) {
+ status = biblatexin_addtitleurl( info, slist_str( &tokens, i ) );
+ if ( status!=BIBL_OK ) goto out;
+ }
+ if ( p && p->latexin && !is_name_tag( tag ) ) {
+ status = biblatex_cleantoken( slist_str( &tokens, i ) );
+ if ( status!=BIBL_OK ) goto out;
+ }
+ }
+ str_empty( s );
+ for ( i=0; i<tokens.n; ++i ) {
+ tok = slist_str( &tokens, i );
+ if ( i>0 ) str_addchar( s, ' ' );
+ str_strcat( s, tok );
+ }
+out:
+ slist_free( &tokens );
+ return status;
+}
+
+static long
+biblatexin_findref( bibl *bin, char *citekey )
+{
+ int n;
+ long i;
+ for ( i=0; i<bin->nrefs; ++i ) {
+ n = fields_find( bin->ref[i], "refnum", LEVEL_ANY );
+ if ( n==FIELDS_NOTFOUND ) continue;
+ if ( !strcmp( bin->ref[i]->data[n].data, citekey ) ) return i;
+ }
+ return -1;
+}
+
+static void
+biblatexin_nocrossref( bibl *bin, long i, int n, param *p )
+{
+ int n1 = fields_find( bin->ref[i], "REFNUM", LEVEL_ANY );
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Cannot find cross-reference '%s'", bin->ref[i]->data[n].data);
+ if ( n1!=FIELDS_NOTFOUND )
+ fprintf( stderr, " for reference '%s'", bin->ref[i]->data[n1].data );
+ fprintf( stderr, "\n" );
+}
+
+static int
+biblatexin_crossref_oneref( fields *ref, fields *cross )
+{
+ int j, nl, ntype, fstatus;
+ char *type, *nt, *nd;
+ ntype = fields_find( ref, "INTERNAL_TYPE", LEVEL_ANY );
+ type = ( char * ) fields_value( ref, ntype, FIELDS_CHRP_NOUSE );
+ for ( j=0; j<cross->n; ++j ) {
+ nt = ( char * ) fields_tag( cross, j, FIELDS_CHRP_NOUSE );
+ if ( !strcasecmp( nt, "INTERNAL_TYPE" ) ) continue;
+ if ( !strcasecmp( nt, "REFNUM" ) ) continue;
+ if ( !strcasecmp( nt, "TITLE" ) ) {
+ if ( !strcasecmp( type, "Inproceedings" ) ||
+ !strcasecmp( type, "Incollection" ) )
+ nt = "booktitle";
+ }
+ nd = ( char * ) fields_value( cross, j, FIELDS_CHRP_NOUSE );
+ nl = fields_level( cross, j ) + 1;
+ fstatus = fields_add( ref, nt, nd, nl );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ return BIBL_OK;
+}
+
+static int
+biblatexin_crossref( bibl *bin, param *p )
+{
+ int n, ncross, status = BIBL_OK;
+ fields *ref, *cross;
+ long i;
+ for ( i=0; i<bin->nrefs; ++i ) {
+ ref = bin->ref[i];
+ n = fields_find( ref, "CROSSREF", LEVEL_ANY );
+ if ( n==FIELDS_NOTFOUND ) continue;
+ fields_setused( ref, n );
+ ncross = biblatexin_findref(bin, (char*)fields_value(ref,n, FIELDS_CHRP_NOUSE));
+ if ( ncross==-1 ) {
+ biblatexin_nocrossref( bin, i, n, p );
+ continue;
+ }
+ cross = bin->ref[ncross];
+ status = biblatexin_crossref_oneref( ref, cross );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return status;
+}
+
+static int
+biblatexin_cleanref( fields *bibin, param *p )
+{
+ int i, n, status;
+ str *t, *d;
+ n = fields_num( bibin );
+ for ( i=0; i<n; ++i ) {
+ t = fields_tag( bibin, i, FIELDS_STRP_NOUSE );
+ d = fields_value( bibin, i, FIELDS_STRP_NOUSE );
+ status = biblatexin_cleandata( t, d, bibin, p );
+ if ( status!=BIBL_OK ) return status;
+ if ( !strsearch( str_cstr( t ), "AUTHORS" ) ) {
+ str_findreplace( d, "\n", " " );
+ str_findreplace( d, "\r", " " );
+ }
+ else if ( !strsearch( str_cstr( t ), "ABSTRACT" ) ||
+ !strsearch( str_cstr( t ), "SUMMARY" ) ||
+ !strsearch( str_cstr( t ), "NOTE" ) ) {
+ str_findreplace( d, "\n", "" );
+ str_findreplace( d, "\r", "" );
+ }
+ }
+ return BIBL_OK;
+}
+
+static int
+biblatexin_cleanf( bibl *bin, param *p )
+{
+ int status;
+ long i;
+ for ( i=0; i<bin->nrefs; ++i ) {
+ status = biblatexin_cleanref( bin->ref[i], p );
+ if ( status!=BIBL_OK ) return status;
+ }
+ status = biblatexin_crossref( bin, p );
+ return status;
+}
+
+/*****************************************************
+ PUBLIC: void biblatexin_typef()
+*****************************************************/
+
+static int
+biblatexin_typef( fields *bibin, const char *filename, int nrefs, param *p )
+{
+ int ntypename, nrefname, is_default;
+ char *refname = "", *typename="";
+
+ ntypename = fields_find( bibin, "INTERNAL_TYPE", LEVEL_MAIN );
+ nrefname = fields_find( bibin, "REFNUM", LEVEL_MAIN );
+ if ( nrefname!=FIELDS_NOTFOUND ) refname = fields_value( bibin, nrefname, FIELDS_CHRP_NOUSE );
+ if ( ntypename!=FIELDS_NOTFOUND ) typename = fields_value( bibin, ntypename, FIELDS_CHRP_NOUSE );
+
+ return get_reftype( typename, nrefs, p->progname, p->all, p->nall, refname, &is_default, REFTYPE_CHATTY );
+}
+
+/*****************************************************
+ PUBLIC: int biblatexin_convertf(), returns BIBL_OK or BIBL_ERR_MEMERR
+*****************************************************/
+
+/* get_title_elements()
+ *
+ * find all of the biblatex title elements for the current level
+ * internal "TITLE" -> "title", "booktitle", "maintitle"
+ * internal "SUBTITLE" -> "subtitle", "booksubtitle", "mainsubtitle"
+ * internal "TITLEADDON" -> "titleaddon", "booktitleaddon", "maintitleaddon"
+ *
+ * place in ttl, subttl, and ttladdon strings
+ *
+ * return 1 if an element is found, 0 if not
+ */
+static int
+get_title_elements( fields *bibin, int currlevel, int reftype, variants *all, int nall, str *ttl, str *subttl, str *ttladdon )
+{
+ int nfields, process, level, i;
+ str *t, *d;
+ char *newtag;
+
+ strs_empty( ttl, subttl, ttladdon, NULL );
+
+ nfields = fields_num( bibin );
+
+ for ( i=0; i<nfields; ++i ) {
+
+ /* ...skip already used titles */
+ if ( fields_used( bibin, i ) ) continue;
+
+ /* ...skip empty elements */
+ t = fields_tag ( bibin, i, FIELDS_STRP_NOUSE );
+ d = fields_value( bibin, i, FIELDS_STRP_NOUSE );
+ if ( d->len == 0 ) continue;
+
+ if ( !translate_oldtag( t->data, reftype, all, nall, &process, &level, &newtag ) )
+ continue;
+ if ( process != TITLE ) continue;
+ if ( level != currlevel ) continue;
+
+ fields_setused( bibin, i );
+
+ if ( !strcasecmp( newtag, "TITLE" ) ) {
+ if ( str_has_value( ttl ) ) str_addchar( ttl, ' ' );
+ str_strcat( ttl, d );
+ } else if ( !strcasecmp( newtag, "SUBTITLE" ) ) {
+ if ( str_has_value( subttl ) ) str_addchar( subttl, ' ' );
+ str_strcat( subttl, d );
+ } else if ( !strcasecmp( newtag, "TITLEADDON" ) ) {
+ if ( str_has_value( ttladdon ) ) str_addchar( ttladdon, ' ' );
+ str_strcat( ttladdon, d );
+ }
+ }
+
+ return ( ttl->len>0 || subttl->len > 0 || ttladdon->len > 0 );
+}
+
+/* attach_subtitle()
+ *
+ * Add subtitle (if exists) to the title
+ */
+static void
+attach_subtitle( str *title, str *subtitle )
+{
+ if ( str_has_value( subtitle ) ) {
+ if ( str_has_value( title ) ) {
+ if ( title->data[title->len-1]!=':' && title->data[title->len-1]!='?' )
+ str_addchar( title, ':' );
+ str_addchar( title, ' ' );
+ }
+ str_strcat( title, subtitle );
+ }
+}
+
+/* attach_addon()
+ *
+ * Add titleaddon (if exists) to the title.
+ */
+static void
+attach_addon( str *title, str *addon )
+{
+ if ( str_has_value( addon ) ) {
+ if ( str_has_value( title ) ) {
+ if ( title->data[title->len-1]!='.' )
+ str_addchar( title, '.' );
+ str_addchar( title, ' ' );
+ }
+ str_strcat( title, addon );
+ }
+}
+
+static int
+process_combined_title( fields *info, str *ttl, str *subttl, str *ttladdon, int currlevel )
+{
+ int fstatus, status = BIBL_OK;
+ str combined;
+
+ str_init( &combined );
+
+ str_strcpy( &combined, ttl );
+ attach_subtitle( &combined, subttl );
+ attach_addon( &combined, ttladdon );
+
+ if ( str_memerr( &combined ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ fstatus = fields_add( info, "TITLE", combined.data, currlevel );
+ if ( fstatus==FIELDS_OK ) status = BIBL_ERR_MEMERR;
+out:
+ str_free( &combined );
+ return status;
+}
+
+static int
+process_separated_title( fields *info, str *ttl, str *subttl, str *ttladdon, int currlevel )
+{
+ int fstatus;
+ if ( str_has_value( ttladdon ) ) {
+ if ( subttl->len ) attach_addon( subttl, ttladdon );
+ else attach_addon( ttl, ttladdon );
+ }
+ if ( str_has_value( ttl ) ) {
+ fstatus = fields_add( info, "TITLE", str_cstr( ttl ), currlevel );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ if ( str_has_value( subttl ) ) {
+ fstatus = fields_add( info, "SUBTITLE", str_cstr( subttl ), currlevel );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ return BIBL_OK;
+}
+
+static int
+process_title_all( fields *bibin, fields *info, int reftype, param *p )
+{
+ int currlevel, found, status = BIBL_OK;
+ str ttl, subttl, ttladdon;
+ strs_init( &ttl, &subttl, &ttladdon, NULL );
+ for ( currlevel = 0; currlevel<LEVEL_SERIES+2; currlevel++ ) {
+ found = get_title_elements( bibin, currlevel, reftype, p->all, p->nall, &ttl, &subttl, &ttladdon );
+ if ( !found ) continue;
+ if ( p->nosplittitle )
+ status = process_combined_title( info, &ttl, &subttl, &ttladdon, currlevel );
+ else
+ status = process_separated_title( info, &ttl, &subttl, &ttladdon, currlevel );
+ if ( status!=BIBL_OK ) goto out;
+ }
+out:
+ strs_free( &ttl, &subttl, &ttladdon, NULL );
+ return status;
+}
+
+
+static int
+biblatex_matches_list( fields *info, char *tag, char *suffix, str *data, int level, slist *names, int *match )
+{
+ int i, fstatus, status = BIBL_OK;
+ str newtag;
+
+ *match = 0;
+ if ( names->n==0 ) return status;
+
+ str_init( &newtag );
+
+ for ( i=0; i<names->n; ++i ) {
+ if ( strcmp( str_cstr( data ), slist_cstr( names, i ) ) ) continue;
+ str_initstrc( &newtag, tag );
+ str_strcatc( &newtag, suffix );
+ fstatus = fields_add( info, str_cstr( &newtag ), str_cstr( data ), level );
+ if ( fstatus!=FIELDS_OK ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ *match = 1;
+ goto out;
+ }
+
+out:
+ str_free( &newtag );
+ return status;
+}
+
+static int
+biblatex_names( fields *info, char *tag, str *data, int level, slist *asis, slist *corps )
+{
+ int begin, end, ok, n, etal, i, match, status = BIBL_OK;
+ slist tokens;
+
+ /* If we match the asis or corps list add and bail. */
+ status = biblatex_matches_list( info, tag, ":ASIS", data, level, asis, &match );
+ if ( match==1 || status!=BIBL_OK ) return status;
+ status = biblatex_matches_list( info, tag, ":CORP", data, level, corps, &match );
+ if ( match==1 || status!=BIBL_OK ) return status;
+
+ slist_init( &tokens );
+
+ biblatex_split( &tokens, data );
+ for ( i=0; i<tokens.n; ++i )
+ biblatex_cleantoken( slist_str( &tokens, i ) );
+
+ etal = name_findetal( &tokens );
+
+ begin = 0;
+ n = tokens.n - etal;
+ while ( begin < n ) {
+
+ end = begin + 1;
+
+ while ( end < n && strcasecmp( slist_cstr( &tokens, end ), "and" ) )
+ end++;
+
+ if ( end - begin == 1 ) {
+ ok = name_addsingleelement( info, tag, slist_cstr( &tokens, begin ), level, 0 );
+ if ( !ok ) { status = BIBL_ERR_MEMERR; goto out; }
+ } else {
+ ok = name_addmultielement( info, tag, &tokens, begin, end, level );
+ if ( !ok ) { status = BIBL_ERR_MEMERR; goto out; }
+ }
+
+ begin = end + 1;
+
+ /* Handle repeated 'and' errors */
+ while ( begin < n && !strcasecmp( slist_cstr( &tokens, begin ), "and" ) )
+ begin++;
+
+ }
+
+ if ( etal ) {
+ ok = name_addsingleelement( info, tag, "et al.", level, 0 );
+ if ( !ok ) status = BIBL_ERR_MEMERR;
+ }
+
+out:
+ slist_free( &tokens );
+ return status;
+}
+
+static int
+biblatexin_bltsubtype( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int fstatus1, fstatus2;
+
+ if ( !strcasecmp( str_cstr( invalue ), "magazine" ) ) {
+ fstatus1 = fields_add( bibout, "GENRE:BIBUTILS", "magazine article", LEVEL_MAIN );
+ fstatus2 = fields_add( bibout, "GENRE:BIBUTILS", "magazine", LEVEL_HOST );
+ if ( fstatus1!=FIELDS_OK || fstatus2!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+
+ else if ( !strcasecmp( str_cstr( invalue ), "newspaper" ) ) {
+ fstatus1 = fields_add( bibout, "GENRE:BIBUTILS", "newspaper article", LEVEL_MAIN );
+ fstatus2 = fields_add( bibout, "GENRE:MARC", "newspaper", LEVEL_HOST );
+ if ( fstatus1!=FIELDS_OK || fstatus2!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+/* biblatex drops school field if institution is present */
+static int
+biblatexin_bltschool( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int fstatus;
+ if ( fields_find( bibin, "institution", LEVEL_ANY ) != FIELDS_NOTFOUND )
+ return BIBL_OK;
+ else {
+ fstatus = fields_add( bibout, outtag, str_cstr( invalue ), level );
+ if ( fstatus==FIELDS_OK ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+ }
+}
+
+static int
+biblatexin_bltthesistype( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ char *p = invalue->data;
+ int fstatus = FIELDS_OK;
+ /* type in the @thesis is used to distinguish Ph.D. and Master's thesis */
+ if ( !strncasecmp( p, "phdthesis", 9 ) ) {
+ fstatus = fields_replace_or_add( bibout, "GENRE:BIBUTILS", "Ph.D. thesis", level );
+ } else if ( !strncasecmp( p, "mastersthesis", 13 ) || !strncasecmp( p, "masterthesis", 12 ) ) {
+ fstatus = fields_replace_or_add( bibout, "GENRE:BIBUTILS", "Masters thesis", level );
+ } else if ( !strncasecmp( p, "mathesis", 8 ) ) {
+ fstatus = fields_replace_or_add( bibout, "GENRE:BIBUTILS", "Masters thesis", level );
+ } else if ( !strncasecmp( p, "diploma", 7 ) ) {
+ fstatus = fields_replace_or_add( bibout, "GENRE:BIBUTILS", "Diploma thesis", level );
+ } else if ( !strncasecmp( p, "habilitation", 12 ) ) {
+ fstatus = fields_replace_or_add( bibout, "GENRE:BIBUTILS", "Habilitation thesis", level );
+ }
+ if ( fstatus==FIELDS_OK ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+}
+
+static int
+biblatexin_bteprint( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int neprint, netype, fstatus;
+ char *eprint = NULL, *etype = NULL;
+
+ neprint = fields_find( bibin, "eprint", LEVEL_ANY );
+ netype = fields_find( bibin, "eprinttype", LEVEL_ANY );
+
+ if ( neprint!=FIELDS_NOTFOUND ) eprint = bibin->data[neprint].data;
+ if ( netype!=FIELDS_NOTFOUND ) etype = bibin->data[netype].data;
+
+ if ( eprint && etype ) {
+ if ( !strncasecmp( etype, "arxiv", 5 ) ) {
+ fstatus = fields_add( bibout, "ARXIV", eprint, level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ } else if ( !strncasecmp( etype, "jstor", 5 ) ) {
+ fstatus = fields_add( bibout, "JSTOR", eprint, level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ } else if ( !strncasecmp( etype, "pubmed", 6 ) ) {
+ fstatus = fields_add( bibout, "PMID", eprint, level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ } else if ( !strncasecmp( etype, "medline", 7 ) ) {
+ fstatus = fields_add( bibout, "MEDLINE", eprint, level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ } else {
+ fstatus = fields_add( bibout, "EPRINT", eprint, level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ fstatus = fields_add( bibout, "EPRINTTYPE", etype, level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ fields_setused( bibin, neprint );
+ fields_setused( bibin, netype );
+ } else if ( eprint ) {
+ fstatus = fields_add( bibout, "EPRINT", eprint, level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ fields_setused( bibin, neprint );
+ } else if ( etype ) {
+ fstatus = fields_add( bibout, "EPRINTTYPE", etype, level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ fields_setused( bibin, netype );
+ }
+ return BIBL_OK;
+}
+
+static int
+biblatexin_btgenre( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ if ( fields_add( bibout, "GENRE:BIBUTILS", str_cstr( invalue ), level ) == FIELDS_OK ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+}
+
+/* biblatexin_howpublished()
+ *
+ * howpublished={},
+ *
+ * Normally indicates the manner in which something was
+ * published in lieu of a formal publisher, so typically
+ * 'howpublished' and 'publisher' will never be in the
+ * same reference.
+ *
+ * Occasionally, people put Diploma thesis information
+ * into this field, so check for that first.
+ */
+static int
+biblatexin_howpublished( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int fstatus;
+
+ if ( !strncasecmp( str_cstr( invalue ), "Diplom", 6 ) )
+ fstatus = fields_replace_or_add( bibout, "GENRE:BIBUTILS", "Diploma thesis", level );
+ else if ( !strncasecmp( str_cstr( invalue ), "Habilitation", 13 ) )
+ fstatus = fields_replace_or_add( bibout, "GENRE:BIBUTILS", "Habilitation thesis", level );
+ else
+ fstatus = fields_add( bibout, "PUBLISHER", str_cstr( invalue ), level );
+
+ if ( fstatus==FIELDS_OK ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+}
+
+/*
+ * biblatex has multiple editor fields "editor", "editora", "editorb", "editorc",
+ * each of which can be modified from a type of "EDITOR" via "editortype",
+ * "editoratype", "editorbtype", "editorctype".
+ *
+ * Defined types:
+ * "editor"
+ * "collaborator"
+ * "compiler"
+ * "redactor"
+ *
+ * "reviser" ?
+ * "founder" ?
+ * "continuator" ?
+ *
+ * bibtex-chicago
+ *
+ * "director"
+ * "producer"
+ * "conductor"
+ * "none" (for performer)
+ */
+static int
+biblatexin_blteditor( fields *bibin, int m, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ char *editor_fields[] = { "editor", "editora", "editorb", "editorc" };
+ char *editor_types[] = { "editortype", "editoratype", "editorbtype", "editorctype" };
+ int i, n = 0, ntype, neditors = sizeof( editor_fields ) / sizeof( editor_fields[0] );
+ char *type, *usetag = "EDITOR";
+ for ( i=1; i<neditors; ++i )
+ if ( !strcasecmp( intag->data, editor_fields[i] ) ) n = i;
+ ntype = fields_find( bibin, editor_types[n], LEVEL_ANY );
+ if ( ntype!=FIELDS_NOTFOUND ) {
+ type = fields_value( bibin, ntype, FIELDS_CHRP_NOUSE );
+ if ( !strcasecmp( type, "collaborator" ) ) usetag = "COLLABORATOR";
+ else if ( !strcasecmp( type, "compiler" ) ) usetag = "COMPILER";
+ else if ( !strcasecmp( type, "redactor" ) ) usetag = "REDACTOR";
+ else if ( !strcasecmp( type, "director" ) ) usetag = "DIRECTOR";
+ else if ( !strcasecmp( type, "producer" ) ) usetag = "PRODUCER";
+ else if ( !strcasecmp( type, "none" ) ) usetag = "PERFORMER";
+ }
+ return biblatex_names( bibout, usetag, invalue, level, &(pm->asis), &(pm->corps) );
+}
+
+static int
+biblatexin_person( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ return biblatex_names( bibout, outtag, invalue, level, &(pm->asis), &(pm->corps) );
+}
+
+static void
+biblatexin_notag( param *p, char *tag )
+{
+ if ( p->verbose && strcmp( tag, "INTERNAL_TYPE" ) ) {
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, " Cannot find tag '%s'\n", tag );
+ }
+}
+
+static int
+biblatexin_convertf( fields *bibin, fields *bibout, int reftype, param *p )
+{
+ static int (*convertfns[NUM_REFTYPES])(fields *, int, str *, str *, int, param *, char *, fields *) = {
+ // Patch: Fix compilation on MSVC target
+ [ 0 ] = generic_null,
+ [ 1 ] = generic_null,
+ [ 2 ] = generic_null,
+ [ 3 ] = generic_null,
+ [ 4 ] = generic_null,
+ [ 5 ] = generic_null,
+ [ 6 ] = generic_null,
+ [ 7 ] = generic_null,
+ [ 8 ] = generic_null,
+ [ 9 ] = generic_null,
+ [ 10 ] = generic_null,
+ [ 11 ] = generic_null,
+ [ 12 ] = generic_null,
+ [ 13 ] = generic_null,
+ [ 14 ] = generic_null,
+ [ 15 ] = generic_null,
+ [ 16 ] = generic_null,
+ [ 17 ] = generic_null,
+ [ 18 ] = generic_null,
+ [ 19 ] = generic_null,
+ [ 20 ] = generic_null,
+ [ 21 ] = generic_null,
+ [ 22 ] = generic_null,
+ [ 23 ] = generic_null,
+ [ 24 ] = generic_null,
+ [ 25 ] = generic_null,
+ [ SIMPLE ] = generic_simple,
+ [ PAGES ] = generic_pages,
+ [ NOTES ] = generic_notes,
+ [ PERSON ] = biblatexin_person,
+ [ BLT_EDITOR ] = biblatexin_blteditor,
+ [ HOWPUBLISHED ] = biblatexin_howpublished,
+ [ URL ] = generic_url,
+ [ GENRE ] = biblatexin_btgenre,
+ [ BT_EPRINT ] = biblatexin_bteprint,
+ [ BLT_THESIS_TYPE ] = biblatexin_bltthesistype,
+ [ BLT_SCHOOL ] = biblatexin_bltschool,
+ [ BLT_SUBTYPE ] = biblatexin_bltsubtype,
+ [ BLT_SKIP ] = generic_skip,
+ [ TITLE ] = generic_null, /* delay processing until later */
+ };
+
+ int process, level, i, nfields, status = BIBL_OK;
+ str *intag, *invalue;
+ char *outtag;
+
+ nfields = fields_num( bibin );
+ for ( i=0; i<nfields; ++i ) {
+
+ /* skip ones already "used" such as successful crossref */
+ if ( fields_used( bibin, i ) ) continue;
+
+ /* skip ones with no data or no tags (e.g. don't match ALWAYS/DEFAULT entries) */
+ intag = fields_tag ( bibin, i, FIELDS_STRP_NOUSE );
+ invalue = fields_value( bibin, i, FIELDS_STRP_NOUSE );
+ if ( str_is_empty( intag ) || str_is_empty( invalue ) ) continue;
+
+ if ( !translate_oldtag( intag->data, reftype, p->all, p->nall, &process, &level, &outtag ) ) {
+ biblatexin_notag( p, intag->data );
+ continue;
+ }
+
+ status = convertfns[ process ]( bibin, i, intag, invalue, level, p, outtag, bibout );
+ if ( status!=BIBL_OK ) return status;
+
+ if ( convertfns[ process ] != generic_null )
+ fields_setused( bibin, i );
+
+ }
+
+ status = process_title_all( bibin, bibout, reftype, p );
+
+ if ( status==BIBL_OK && p->verbose ) fields_report( bibout, stdout );
+
+ return status;
+}
+
diff --git a/support/texlab/crates/bibutils_sys/src/bibtexin.c b/support/texlab/crates/bibutils_sys/src/bibtexin.c
new file mode 100644
index 0000000000..3401074547
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/bibtexin.c
@@ -0,0 +1,1517 @@
+/*
+ * bibtexin.c
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include "is_ws.h"
+#include "str.h"
+#include "utf8.h"
+#include "str_conv.h"
+#include "fields.h"
+#include "slist.h"
+#include "name.h"
+#include "title.h"
+#include "url.h"
+#include "reftypes.h"
+#include "bibformats.h"
+#include "generic.h"
+#include "msvc_fix.h"
+
+static slist find = { 0, 0, 0, NULL };
+static slist replace = { 0, 0, 0, NULL };
+
+extern variants bibtex_all[];
+extern int bibtex_nall;
+
+/*****************************************************
+ PUBLIC: void bibtexin_initparams()
+*****************************************************/
+
+static int bibtexin_convertf( fields *bibin, fields *info, int reftype, param *p );
+static int bibtexin_processf( fields *bibin, const char *data, const char *filename, long nref, param *p );
+static int bibtexin_cleanf( bibl *bin, param *p );
+static int bibtexin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset );
+static int bibtexin_typef( fields *bibin, const char *filename, int nrefs, param *p );
+
+int
+bibtexin_initparams( param *pm, const char *progname )
+{
+ pm->readformat = BIBL_BIBTEXIN;
+ pm->charsetin = BIBL_CHARSET_DEFAULT;
+ pm->charsetin_src = BIBL_SRC_DEFAULT;
+ pm->latexin = 1;
+ pm->xmlin = 0;
+ pm->utf8in = 0;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->output_raw = 0;
+
+ pm->readf = bibtexin_readf;
+ pm->processf = bibtexin_processf;
+ pm->cleanf = bibtexin_cleanf;
+ pm->typef = bibtexin_typef;
+ pm->convertf = bibtexin_convertf;
+ pm->all = bibtex_all;
+ pm->nall = bibtex_nall;
+
+ slist_init( &(pm->asis) );
+ slist_init( &(pm->corps) );
+
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( pm->progname==NULL ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int bibtexin_readf()
+*****************************************************/
+
+/*
+ * readf can "read too far", so we store this information in line, thus
+ * the next new text is in line, either from having read too far or
+ * from the next chunk obtained via str_fget()
+ *
+ * return 1 on success, 0 on error/end-of-file
+ *
+ */
+static int
+readmore( FILE *fp, char *buf, int bufsize, int *bufpos, str *line )
+{
+ if ( line->len ) return 1;
+ else return str_fget( fp, buf, bufsize, bufpos, line );
+}
+
+/*
+ * readf()
+ *
+ * returns zero if cannot get reference and hit end of-file
+ * returns 1 if last reference in file, 2 if reference within file
+ */
+static int
+bibtexin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset )
+{
+ int haveref = 0;
+ const char *p;
+ *fcharset = CHARSET_UNKNOWN;
+ while ( haveref!=2 && readmore( fp, buf, bufsize, bufpos, line ) ) {
+ if ( line->len == 0 ) continue; /* blank line */
+ p = &(line->data[0]);
+ /* Recognize UTF8 BOM */
+ if ( line->len > 2 &&
+ (unsigned char)(p[0])==0xEF &&
+ (unsigned char)(p[1])==0xBB &&
+ (unsigned char)(p[2])==0xBF ) {
+ *fcharset = CHARSET_UNICODE;
+ p += 3;
+ }
+ p = skip_ws( p );
+ if ( *p == '%' ) { /* commented out line */
+ str_empty( line );
+ continue;
+ }
+ if ( *p == '@' ) haveref++;
+ if ( haveref && haveref<2 ) {
+ str_strcatc( reference, p );
+ str_addchar( reference, '\n' );
+ str_empty( line );
+ } else if ( !haveref ) str_empty( line );
+
+ }
+ return haveref;
+}
+
+/*****************************************************
+ PUBLIC: int bibtexin_processf()
+*****************************************************/
+
+typedef struct loc {
+ const char *progname;
+ const char *filename;
+ long nref;
+} loc;
+
+/* process_bibtextype()
+ *
+ * extract 'article', 'book', etc. from:
+ *
+ * @article{...}
+ * @book(...)
+ *
+ * return pointer after '{' or '(' character
+ */
+static const char*
+process_bibtextype( const char *p, str *type )
+{
+ str tmp;
+
+ str_init( &tmp );
+
+ if ( *p=='@' ) p++;
+ p = skip_ws( p );
+
+ p = str_cpytodelim( &tmp, p, "{( \t\r\n", 0 );
+ p = skip_ws( p );
+
+ if ( *p=='{' || *p=='(' ) p++;
+ p = skip_ws( p );
+
+ if ( str_has_value( &tmp ) ) str_strcpy( type, &tmp );
+ else str_empty( type );
+
+ str_free( &tmp );
+
+ return p;
+}
+
+static const char *
+process_bibtexid( const char *p, str *id )
+{
+ const char *start_p = p;
+ str tmp;
+
+ str_init( &tmp );
+ p = str_cpytodelim( &tmp, p, ",", 1 );
+
+ if ( str_has_value( &tmp ) ) {
+ if ( strchr( tmp.data, '=' ) ) {
+ /* Endnote writes bibtex files w/o fields, try to
+ * distinguish via presence of an equal sign.... if
+ * it's there, assume that it's a tag/data pair instead
+ * and roll back.
+ */
+ p = start_p;
+ str_empty( id );
+ } else {
+ str_strcpy( id, &tmp );
+ }
+ } else {
+ str_empty( id );
+ }
+
+ str_free( &tmp );
+ return skip_ws( p );
+}
+
+/* bibtex_tag()
+ *
+ * returns NULL on memory error, else position after tag+whitespace
+ */
+static const char *
+bibtex_tag( const char *p, str *tag )
+{
+ p = str_cpytodelim( tag, p, "= \t\r\n", 0 );
+ if ( str_memerr( tag ) ) return NULL;
+ return skip_ws( p );
+}
+
+static int
+quotation_mark_is_escaped( int nbraces, const char *p, const char *startp )
+{
+ if ( nbraces!=0 ) return 1;
+ if ( p!=startp && *(p-1)=='\\' ) return 1;
+ return 0;
+}
+
+static int
+brace_is_escaped( int nquotes, const char *p, const char *startp )
+{
+ if ( nquotes!=0 ) return 1;
+ if ( p!=startp && *(p-1)=='\\' ) return 1;
+ return 0;
+}
+
+static int
+char_is_escaped( int nquotes, int nbraces )
+{
+ if ( nquotes!=0 || nbraces!=0 ) return 1;
+ return 0;
+}
+
+static int
+add_token( slist *tokens, str *token )
+{
+ int status;
+
+ if ( str_memerr( token ) ) return BIBL_ERR_MEMERR;
+
+ status = slist_add( tokens, token );
+ if ( status!=SLIST_OK ) return BIBL_ERR_MEMERR;
+
+ str_empty( token );
+
+ return BIBL_OK;
+}
+
+static const char *
+bibtex_data( const char *p, slist *tokens, loc *currloc )
+{
+ int nbraces = 0, nquotes = 0;
+ const char *startp = p;
+ int status;
+ str token;
+
+ str_init( &token );
+
+ while ( p && *p ) {
+
+ /* ...have we reached end-of-data? */
+ if ( nquotes==0 && nbraces==0 ) {
+ if ( *p==',' || *p=='=' || *p=='}' || *p==')' ) goto out;
+ }
+
+ if ( *p=='\"' ) {
+ str_addchar( &token, *p );
+ if ( !quotation_mark_is_escaped( nbraces, p, startp ) ) {
+ nquotes = !nquotes;
+ if ( nquotes==0 ) {
+ status = add_token( tokens, &token );
+ if ( status!=BIBL_OK ) { p=NULL; goto out0; }
+ }
+ }
+ }
+
+ else if ( *p=='{' ) {
+ str_addchar( &token, *p );
+ if ( !brace_is_escaped( nquotes, p, startp ) ) {
+ nbraces++;
+ }
+ }
+
+ else if ( *p=='}' ) {
+ str_addchar( &token, *p );
+ if ( !brace_is_escaped( nquotes, p, startp ) ) {
+ nbraces--;
+ if ( nbraces==0 ) {
+ status = add_token( tokens, &token );
+ if ( status!=BIBL_OK ) { p=NULL; goto out0; }
+ }
+ if ( nbraces<0 ) {
+ goto out;
+ }
+ }
+ }
+
+ else if ( *p=='#' ) {
+ if ( char_is_escaped( nquotes, nbraces ) ) {
+ str_addchar( &token, *p );
+ }
+ /* ...this is a bibtex string concatentation token */
+ else {
+ if ( str_has_value( &token ) ) {
+ status = add_token( tokens, &token );
+ if ( status!=BIBL_OK ) { p=NULL; goto out0; }
+ }
+ status = slist_addc( tokens, "#" );
+ if ( status!=SLIST_OK ) { p=NULL; goto out0; }
+ }
+ }
+
+ /* ...add escaped white-space and non-white-space to current token */
+ else if ( !is_ws( *p ) || char_is_escaped( nquotes, nbraces ) ) {
+ /* always add non-whitespace characters */
+ if ( !is_ws( *p ) ) {
+ str_addchar( &token, *p );
+ }
+ /* only add whitespace if token is non-empty; convert CR/LF to space */
+ else if ( token.len!=0 ) {
+ if ( *p!='\n' && *p!='\r' )
+ str_addchar( &token, *p );
+ else {
+ str_addchar( &token, ' ' );
+ while ( is_ws( *(p+1) ) ) p++;
+ }
+ }
+ }
+
+ /* ...unescaped white-space marks the end of a token */
+ else if ( is_ws( *p ) ) {
+ if ( token.len ) {
+ status = add_token( tokens, &token );
+ if ( status!=BIBL_OK ) { p=NULL; goto out0; }
+ }
+ }
+
+ p++;
+ }
+out:
+ if ( nbraces!=0 ) {
+ fprintf( stderr, "%s: Mismatch in number of braces in file %s reference %ld.\n", currloc->progname, currloc->filename, currloc->nref );
+ }
+ if ( nquotes!=0 ) {
+ fprintf( stderr, "%s: Mismatch in number of quotes in file %s reference %ld.\n", currloc->progname, currloc->filename, currloc->nref );
+ }
+ if ( str_has_value( &token ) ) {
+ if ( str_memerr( &token ) ) { p = NULL; goto out; }
+ status = slist_add( tokens, &token );
+ if ( status!=SLIST_OK ) p = NULL;
+ }
+out0:
+ str_free( &token );
+ return p;
+}
+
+#define NOT_ESCAPED (0)
+#define ESCAPED_QUOTES (1)
+#define ESCAPED_BRACES (2)
+
+static int
+token_is_escaped( str *s )
+{
+ if ( s->data[0]=='\"' && s->data[s->len-1]=='\"' ) return ESCAPED_QUOTES;
+ if ( s->data[0]=='{' && s->data[s->len-1]=='}' ) return ESCAPED_BRACES;
+ return NOT_ESCAPED;
+}
+
+/* replace_strings()
+ *
+ * do bibtex string replacement for data tokens
+ */
+static int
+replace_strings( slist *tokens )
+{
+ int i, n;
+ str *s;
+
+ for ( i=0; i<tokens->n; ++i ) {
+
+ s = slist_str( tokens, i );
+
+ /* ...skip if token is protected by quotation marks or braces */
+ if ( token_is_escaped( s ) ) continue;
+
+ /* ...skip if token is string concatentation symbol */
+ if ( !str_strcmpc( s, "#" ) ) continue;
+
+ n = slist_find( &find, s );
+ if ( slist_wasnotfound( &find, n ) ) continue;
+
+ str_strcpy( s, slist_str( &replace, n ) );
+ if ( str_memerr( s ) ) return BIBL_ERR_MEMERR;
+
+ }
+
+ return BIBL_OK;
+}
+
+static int
+string_concatenate( slist *tokens, loc *currloc )
+{
+ int i, status, esc_s, esc_t;
+ str *s, *t;
+
+ i = 0;
+ while ( i < tokens->n ) {
+
+ s = slist_str( tokens, i );
+ if ( str_strcmpc( s, "#" ) ) {
+ i++;
+ continue;
+ }
+
+ if ( i==0 || i==tokens->n-1 ) {
+ fprintf( stderr, "%s: Warning: Stray string concatenation ('#' character) in file %s reference %ld\n",
+ currloc->progname, currloc->filename, currloc->nref );
+ status = slist_remove( tokens, i );
+ if ( status!=SLIST_OK ) return BIBL_ERR_MEMERR;
+ continue;
+ }
+
+ s = slist_str( tokens, i-1 );
+ t = slist_str( tokens, i+1 );
+
+ esc_s = token_is_escaped( s );
+ esc_t = token_is_escaped( t );
+
+ if ( esc_s != NOT_ESCAPED ) str_trimend( s, 1 );
+ if ( esc_t != NOT_ESCAPED ) str_trimbegin( t, 1 );
+ if ( esc_s != esc_t ) {
+ if ( esc_s == NOT_ESCAPED ) {
+ if ( esc_t == ESCAPED_QUOTES ) str_prepend( s, "\"" );
+ else str_prepend( s, "{" );
+ }
+ else {
+ if ( esc_t != NOT_ESCAPED ) str_trimend( t, 1 );
+ if ( esc_s == ESCAPED_QUOTES ) str_addchar( t, '\"' );
+ else str_addchar( t, '}' );
+ }
+ }
+
+ str_strcat( s, t );
+ if ( str_memerr( s ) ) return BIBL_ERR_MEMERR;
+
+ /* ...remove concatenated string t */
+ status = slist_remove( tokens, i+1 );
+ if ( status!=SLIST_OK ) return BIBL_ERR_MEMERR;
+
+ /* ...remove concatentation token '#' */
+ status = slist_remove( tokens, i );
+ if ( status!=SLIST_OK ) return BIBL_ERR_MEMERR;
+
+ }
+
+ return BIBL_OK;
+}
+
+#define KEEP_QUOTES (0)
+#define STRIP_QUOTES (1)
+
+static int
+merge_tokens_into_data( str *data, slist *tokens, int stripquotes )
+{
+ int i, esc_s;
+ str *s;
+
+ for ( i=0; i<tokens->n; i++ ) {
+
+ s = slist_str( tokens, i );
+ esc_s = token_is_escaped( s );
+
+ if ( ( esc_s == ESCAPED_BRACES ) ||
+ ( stripquotes == STRIP_QUOTES && esc_s == ESCAPED_QUOTES ) ) {
+ str_trimbegin( s, 1 );
+ str_trimend( s, 1 );
+ }
+
+ str_strcat( data, s );
+
+ }
+
+ if ( str_memerr( data ) ) return BIBL_ERR_MEMERR;
+ else return BIBL_OK;
+}
+
+/* return NULL on memory error */
+static const char *
+process_bibtexline( const char *p, str *tag, str *data, uchar stripquotes, loc *currloc )
+{
+ slist tokens;
+ int status;
+
+ str_empty( data );
+
+ slist_init( &tokens );
+
+ p = bibtex_tag( skip_ws( p ), tag );
+ if ( p ) {
+ if ( str_is_empty( tag ) ) {
+ p = skip_line( p );
+ goto out;
+ }
+ }
+
+ if ( p && *p=='=' ) {
+ p = bibtex_data( p+1, &tokens, currloc );
+ }
+
+ if ( p ) {
+ status = replace_strings( &tokens );
+ if ( status!=BIBL_OK ) p = NULL;
+ }
+
+ if ( p ) {
+ status = string_concatenate( &tokens, currloc );
+ if ( status!=BIBL_OK ) p = NULL;
+ }
+
+ if ( p ) {
+ status = merge_tokens_into_data( data, &tokens, stripquotes );
+ if ( status!=BIBL_OK ) p = NULL;
+ }
+
+out:
+ slist_free( &tokens );
+ return p;
+}
+
+/* process_ref()
+ *
+ */
+static int
+process_ref( fields *bibin, const char *p, loc *currloc )
+{
+ int fstatus, status = BIBL_OK;
+ str type, id, tag, data;
+
+ strs_init( &type, &id, &tag, &data, NULL );
+
+ p = process_bibtextype( p, &type );
+ p = process_bibtexid( p, &id );
+
+ if ( str_is_empty( &type ) || str_is_empty( &id ) ) goto out;
+
+ fstatus = fields_add( bibin, "INTERNAL_TYPE", str_cstr( &type ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+
+ fstatus = fields_add( bibin, "REFNUM", str_cstr( &id ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+
+ while ( *p ) {
+
+ p = process_bibtexline( p, &tag, &data, STRIP_QUOTES, currloc );
+ if ( p==NULL ) { status = BIBL_ERR_MEMERR; goto out; }
+
+ if ( !str_has_value( &tag ) || !str_has_value( &data ) ) continue;
+
+ fstatus = fields_add( bibin, str_cstr( &tag ), str_cstr( &data ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+
+ }
+out:
+ strs_free( &type, &id, &tag, &data, NULL );
+ return status;
+}
+
+/* process_string()
+ *
+ * Handle lines like:
+ *
+ * '@STRING{TL = {Tetrahedron Lett.}}'
+ *
+ * p should point to just after '@STRING'
+ *
+ * In BibTeX, if a string is defined several times, the last one is kept.
+ *
+ */
+static int
+process_string( const char *p, loc *currloc )
+{
+ int n, status = BIBL_OK;
+ str s1, s2, *t;
+
+ strs_init( &s1, &s2, NULL );
+
+ while ( *p && *p!='{' && *p!='(' ) p++;
+ if ( *p=='{' || *p=='(' ) p++;
+
+ p = process_bibtexline( skip_ws( p ), &s1, &s2, KEEP_QUOTES, currloc );
+ if ( p==NULL ) { status = BIBL_ERR_MEMERR; goto out; }
+
+ if ( str_has_value( &s2 ) ) {
+ str_findreplace( &s2, "\\ ", " " );
+ } else {
+ str_strcpyc( &s2, "" );
+ }
+
+ if ( str_has_value( &s1 ) ) {
+ n = slist_find( &find, &s1 );
+ if ( n==-1 ) {
+ status = slist_add_ret( &find, &s1, BIBL_OK, BIBL_ERR_MEMERR );
+ if ( status!=BIBL_OK ) goto out;
+ status = slist_add_ret( &replace, &s2, BIBL_OK, BIBL_ERR_MEMERR );
+ if ( status!=BIBL_OK ) goto out;
+ } else {
+ t = slist_set( &replace, n, &s2 );
+ if ( t==NULL ) { status = BIBL_ERR_MEMERR; goto out; }
+ }
+ }
+
+out:
+ strs_free( &s1, &s2, NULL );
+ return status;
+}
+
+/* bibtexin_processf()
+ *
+ * Handle '@STRING', '@reftype', and ignore '@COMMENT'
+ */
+static int
+bibtexin_processf( fields *bibin, const char *data, const char *filename, long nref, param *pm )
+{
+ loc currloc;
+
+ currloc.progname = pm->progname;
+ currloc.filename = filename;
+ currloc.nref = nref;
+
+ if ( !strncasecmp( data, "@STRING", 7 ) ) {
+ process_string( data+7, &currloc );
+ return 0;
+ } else if ( !strncasecmp( data, "@COMMENT", 8 ) ) {
+ /* Not sure if these are real Bibtex, but not references */
+ return 0;
+ } else {
+ process_ref( bibin, data, &currloc );
+ return 1;
+ }
+}
+
+/*****************************************************
+ PUBLIC: void bibtexin_cleanf()
+*****************************************************/
+
+static int
+bibtex_protected( str *data )
+{
+ if ( data->data[0]=='{' && data->data[data->len-1]=='}' ) return 1;
+ if ( data->data[0]=='\"' && data->data[data->len-1]=='\"' ) return 1;
+ return 0;
+}
+
+static int
+bibtex_split( slist *tokens, str *s )
+{
+ int i, n = s->len, nbrackets = 0, status = BIBL_OK;
+ str tok;
+
+ str_init( &tok );
+
+ for ( i=0; i<n; ++i ) {
+ if ( s->data[i]=='{' && ( i==0 || s->data[i-1]!='\\' ) ) {
+ nbrackets++;
+ str_addchar( &tok, '{' );
+ } else if ( s->data[i]=='}' && ( i==0 || s->data[i-1]!='\\' ) ) {
+ nbrackets--;
+ str_addchar( &tok, '}' );
+ } else if ( !is_ws( s->data[i] ) || nbrackets ) {
+ str_addchar( &tok, s->data[i] );
+ } else if ( is_ws( s->data[i] ) ) {
+ if ( str_has_value( &tok ) ) {
+ status = slist_add_ret( tokens, &tok, BIBL_OK, BIBL_ERR_MEMERR );
+ if ( status!=BIBL_OK ) goto out;
+ }
+ str_empty( &tok );
+ }
+ }
+ if ( str_has_value( &tok ) ) {
+ status = slist_add_ret( tokens, &tok, BIBL_OK, BIBL_ERR_MEMERR );
+ if ( status!=BIBL_OK ) goto out;
+ }
+
+ for ( i=0; i<tokens->n; ++i ) {
+ str_trimstartingws( slist_str( tokens, i ) );
+ str_trimendingws( slist_str( tokens, i ) );
+ }
+out:
+ str_free( &tok );
+ return status;
+}
+
+static int
+bibtex_addtitleurl( fields *info, str *in )
+{
+ int fstatus, status = BIBL_OK;
+ const char *p;
+ str s;
+
+ str_init( &s );
+
+ /* ...skip past "\href{" and copy to "}" */
+ p = str_cpytodelim( &s, in->data + 6, "}", 1 );
+ if ( str_memerr( &s ) ) { status = BIBL_ERR_MEMERR; goto out; }
+
+ /* ...add to URL */
+ fstatus = fields_add( info, "URL", s.data, 0 );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+
+ /* ...return deleted fragment to str in */
+ (void) str_cpytodelim( &s, p, "", 0 );
+ if ( str_memerr( &s ) ) { status = BIBL_ERR_MEMERR; goto out; }
+ str_swapstrings( &s, in );
+
+out:
+ str_free( &s );
+ return status;
+}
+
+static int
+is_url_tag( str *tag )
+{
+ if ( str_has_value( tag ) ) {
+ if ( !strcasecmp( str_cstr( tag ), "url" ) ) return 1;
+ }
+ return 0;
+}
+
+static int
+is_name_tag( str *tag )
+{
+ if ( str_has_value( tag ) ) {
+ if ( !strcasecmp( str_cstr( tag ), "author" ) ) return 1;
+ if ( !strcasecmp( str_cstr( tag ), "editor" ) ) return 1;
+ }
+ return 0;
+}
+
+static void
+bibtex_process_tilde( str *s )
+{
+ const char *p;
+ char *q;
+ int n = 0;
+
+ p = s->data;
+ q = s->data;
+ if ( !p ) return;
+ while ( *p ) {
+ if ( *p=='~' ) {
+ *q = ' ';
+ } else if ( *p=='\\' && *(p+1)=='~' ) {
+ n++;
+ p++;
+ *q = '~';
+ } else {
+ *q = *p;
+ }
+ p++;
+ q++;
+ }
+ *q = '\0';
+ s->len -= n;
+}
+
+static void
+bibtex_process_bracket( str *s )
+{
+ char *p, *q;
+ int n = 0;
+
+ p = q = s->data;
+ if ( !p ) return;
+ while ( *p ) {
+ if ( *p=='\\' && ( *(p+1)=='{' || *(p+1)=='}' ) ) {
+ n++;
+ p++;
+ *q = *p;
+ q++;
+ } else if ( *p=='{' || *p=='}' ) {
+ n++;
+ } else {
+ *q = *p;
+ q++;
+ }
+ p++;
+ }
+ *q = '\0';
+ s->len -= n;
+}
+
+static void
+bibtex_cleantoken( str *s )
+{
+ /* 'textcomp' annotations */
+ str_findreplace( s, "\\textit", "" );
+ str_findreplace( s, "\\textbf", "" );
+ str_findreplace( s, "\\textsl", "" );
+ str_findreplace( s, "\\textsc", "" );
+ str_findreplace( s, "\\textsf", "" );
+ str_findreplace( s, "\\texttt", "" );
+ str_findreplace( s, "\\textsubscript", "" );
+ str_findreplace( s, "\\textsuperscript", "" );
+ str_findreplace( s, "\\emph", "" );
+ str_findreplace( s, "\\url", "" );
+ str_findreplace( s, "\\mbox", "" );
+
+ /* Other text annotations */
+ str_findreplace( s, "\\it ", "" );
+ str_findreplace( s, "\\em ", "" );
+
+ str_findreplace( s, "\\%", "%" );
+ str_findreplace( s, "\\$", "$" );
+ while ( str_findreplace( s, " ", " " ) ) {}
+
+ /* 'textcomp' annotations that we don't want to substitute on output*/
+ str_findreplace( s, "\\textdollar", "$" );
+ str_findreplace( s, "\\textunderscore", "_" );
+
+ bibtex_process_bracket( s );
+ bibtex_process_tilde( s );
+
+}
+
+static int
+bibtex_cleandata( str *tag, str *s, fields *info, param *p )
+{
+ int i, status;
+ slist tokens;
+ str *tok;
+ if ( str_is_empty( s ) ) return BIBL_OK;
+ /* protect url from undergoing any parsing */
+ if ( is_url_tag( tag ) ) return BIBL_OK;
+ slist_init( &tokens );
+ status = bibtex_split( &tokens, s );
+ if ( status!=BIBL_OK ) goto out;
+ for ( i=0; i<tokens.n; ++i ) {
+ tok = slist_str( &tokens, i );
+ if ( bibtex_protected( tok ) ) {
+ if (!strncasecmp(tok->data,"\\href{", 6)) {
+ bibtex_addtitleurl( info, tok );
+ }
+ }
+ if ( p->latexin && !is_name_tag( tag ) && !is_url_tag( tag ) )
+ bibtex_cleantoken( tok );
+ }
+ str_empty( s );
+ for ( i=0; i<tokens.n; ++i ) {
+ tok = slist_str( &tokens, i );
+ if ( i>0 ) str_addchar( s, ' ' );
+ str_strcat( s, tok );
+ }
+out:
+ slist_free( &tokens );
+ return status;
+}
+
+static int
+bibtexin_cleanref( fields *bibin, param *p )
+{
+ int i, n, status;
+ str *t, *d;
+ n = fields_num( bibin );
+ for ( i=0; i<n; ++i ) {
+ t = fields_tag( bibin, i, FIELDS_STRP_NOUSE );
+ d = fields_value( bibin, i, FIELDS_STRP_NOUSE );
+ status = bibtex_cleandata( t, d, bibin, p );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+static long
+bibtexin_findref( bibl *bin, char *citekey )
+{
+ int n;
+ long i;
+ for ( i=0; i<bin->nrefs; ++i ) {
+ n = fields_find( bin->ref[i], "refnum", LEVEL_ANY );
+ if ( n==FIELDS_NOTFOUND ) continue;
+ if ( !strcmp( bin->ref[i]->data[n].data, citekey ) ) return i;
+ }
+ return -1;
+}
+
+static void
+bibtexin_nocrossref( bibl *bin, long i, int n, param *p )
+{
+ int n1 = fields_find( bin->ref[i], "REFNUM", LEVEL_ANY );
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Cannot find cross-reference '%s'",
+ bin->ref[i]->data[n].data );
+ if ( n1!=FIELDS_NOTFOUND ) fprintf( stderr, " for reference '%s'\n",
+ bin->ref[i]->data[n1].data );
+ fprintf( stderr, "\n" );
+}
+
+static int
+bibtexin_crossref_oneref( fields *bibref, fields *bibcross )
+{
+ int j, n, nl, ntype, fstatus, status = BIBL_OK;
+ char *type, *nt, *nv;
+
+ ntype = fields_find( bibref, "INTERNAL_TYPE", LEVEL_ANY );
+ type = ( char * ) fields_value( bibref, ntype, FIELDS_CHRP_NOUSE );
+
+ n = fields_num( bibcross );
+ for ( j=0; j<n; ++j ) {
+ nt = ( char * ) fields_tag( bibcross, j, FIELDS_CHRP_NOUSE );
+ if ( !strcasecmp( nt, "INTERNAL_TYPE" ) ) continue;
+ if ( !strcasecmp( nt, "REFNUM" ) ) continue;
+ if ( !strcasecmp( nt, "TITLE" ) ) {
+ if ( !strcasecmp( type, "Inproceedings" ) ||
+ !strcasecmp( type, "Incollection" ) )
+ nt = "booktitle";
+ }
+ nv = ( char * ) fields_value( bibcross, j, FIELDS_CHRP_NOUSE );
+ nl = fields_level( bibcross, j ) + 1;
+ fstatus = fields_add( bibref, nt, nv, nl );
+ if ( fstatus!=FIELDS_OK ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+out:
+ return status;
+}
+
+static int
+bibtexin_crossref( bibl *bin, param *p )
+{
+ int i, n, ncross, status = BIBL_OK;
+ fields *bibref, *bibcross;
+
+ for ( i=0; i<bin->nrefs; ++i ) {
+ bibref = bin->ref[i];
+ n = fields_find( bibref, "CROSSREF", LEVEL_ANY );
+ if ( n==FIELDS_NOTFOUND ) continue;
+ fields_setused( bibref, n );
+ ncross = bibtexin_findref( bin, (char*) fields_value( bibref, n, FIELDS_CHRP ) );
+ if ( ncross==-1 ) {
+ bibtexin_nocrossref( bin, i, n, p );
+ continue;
+ }
+ bibcross = bin->ref[ncross];
+ status = bibtexin_crossref_oneref( bibref, bibcross );
+ if ( status!=BIBL_OK ) goto out;
+ }
+out:
+ return status;
+}
+
+static int
+bibtexin_cleanf( bibl *bin, param *p )
+{
+ int status = BIBL_OK;
+ long i;
+
+ for ( i=0; i<bin->nrefs; ++i )
+ status = bibtexin_cleanref( bin->ref[i], p );
+ bibtexin_crossref( bin, p );
+ return status;
+}
+
+/*****************************************************
+ PUBLIC: int bibtexin_typef()
+*****************************************************/
+
+static int
+bibtexin_typef( fields *bibin, const char *filename, int nrefs, param *p )
+{
+ int ntypename, nrefname, is_default;
+ char *refname = "", *typename = "";
+
+ ntypename = fields_find( bibin, "INTERNAL_TYPE", LEVEL_MAIN );
+ nrefname = fields_find( bibin, "REFNUM", LEVEL_MAIN );
+ if ( nrefname!=FIELDS_NOTFOUND ) refname = fields_value( bibin, nrefname, FIELDS_CHRP_NOUSE );
+ if ( ntypename!=FIELDS_NOTFOUND ) typename = fields_value( bibin, ntypename, FIELDS_CHRP_NOUSE );
+
+ return get_reftype( typename, nrefs, p->progname, p->all, p->nall, refname, &is_default, REFTYPE_CHATTY );
+}
+
+/*****************************************************
+ PUBLIC: int bibtexin_convertf(), returns BIBL_OK or BIBL_ERR_MEMERR
+*****************************************************/
+
+static int
+bibtex_matches_list( fields *bibout, char *tag, char *suffix, str *data, int level,
+ slist *names, int *match )
+{
+ int i, fstatus, status = BIBL_OK;
+ str newtag;
+
+ *match = 0;
+ if ( names->n==0 ) return status;
+
+ str_init( &newtag );
+
+ for ( i=0; i<names->n; ++i ) {
+ if ( strcmp( str_cstr( data ), slist_cstr( names, i ) ) ) continue;
+ str_initstrc( &newtag, tag );
+ str_strcatc( &newtag, suffix );
+ fstatus = fields_add( bibout, str_cstr( &newtag ), str_cstr( data ), level );
+ if ( fstatus!=FIELDS_OK ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ *match = 1;
+ goto out;
+ }
+
+out:
+ str_free( &newtag );
+ return status;
+}
+
+/**** bibtexin_btorg ****/
+
+/*
+ * BibTeX uses 'organization' in lieu of publisher if that field is missing.
+ * Otherwise output as
+ * <name type="corporate">
+ * <namePart>The organization</namePart>
+ * <role>
+ * <roleTerm authority="marcrelator" type="text">organizer of meeting</roleTerm>
+ * </role>
+ * </name>
+ */
+
+static int
+bibtexin_btorg( fields *bibin, int m, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int n, fstatus;
+ n = fields_find( bibin, "publisher", LEVEL_ANY );
+ if ( n==FIELDS_NOTFOUND )
+ fstatus = fields_add( bibout, "PUBLISHER", str_cstr( invalue ), level );
+ else
+ fstatus = fields_add( bibout, "ORGANIZER:CORP", str_cstr( invalue ), level );
+ if ( fstatus==FIELDS_OK ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+}
+
+/**** bibtexin_btsente() ****/
+
+/*
+ * sentelink = {file://localhost/full/path/to/file.pdf,Sente,PDF}
+ *
+ * Sente is an academic reference manager for MacOSX and Apple iPad.
+ */
+
+static int
+bibtexin_btsente( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int fstatus, status = BIBL_OK;
+ str link;
+
+ str_init( &link );
+ str_cpytodelim( &link, skip_ws( invalue->data ), ",", 0 );
+ str_trimendingws( &link );
+ if ( str_memerr( &link ) ) status = BIBL_ERR_MEMERR;
+
+ if ( status==BIBL_OK && link.len ) {
+ fstatus = fields_add( bibout, "FILEATTACH", str_cstr( &link ), level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ }
+
+ str_free( &link );
+ return status;
+}
+
+/**** bibtexin_linkedfile() ****/
+
+static int
+count_colons( char *p )
+{
+ int n = 0;
+ while ( *p ) {
+ if ( *p==':' ) n++;
+ p++;
+ }
+ return n;
+}
+
+static int
+first_colon( char *p )
+{
+ int n = 0;
+ while ( p[n] && p[n]!=':' ) n++;
+ return n;
+}
+
+static int
+last_colon( char *p )
+{
+ int n = strlen( p ) - 1;
+ while ( n>0 && p[n]!=':' ) n--;
+ return n;
+}
+
+/*
+ * file={Description:/full/path/to/file.pdf:PDF}
+ */
+static int
+bibtexin_linkedfile( fields *bibin, int m, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int fstatus, status = BIBL_OK;
+ char *p = invalue->data;
+ int i, n, n1, n2;
+ str link;
+
+ n = count_colons( p );
+ if ( n > 1 ) {
+ /* A DOS file can contain a colon ":C:/....pdf:PDF" */
+ /* Extract after 1st and up to last colons */
+ n1 = first_colon( p ) + 1;
+ n2 = last_colon( p );
+ str_init( &link );
+ for ( i=n1; i<n2; ++i ) {
+ str_addchar( &link, p[i] );
+ }
+ str_trimstartingws( &link );
+ str_trimendingws( &link );
+ if ( str_memerr( &link ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ if ( link.len ) {
+ fstatus = fields_add( bibout, "FILEATTACH", link.data, level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ }
+out:
+ str_free( &link );
+ } else {
+ /* This field isn't formatted properly, so just copy directly */
+ fstatus = fields_add( bibout, "FILEATTACH", p, level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ }
+ return status;
+
+}
+
+/**** bibtexin_howpublished() ****/
+
+/* howpublished={},
+ *
+ * Normally indicates the manner in which something was
+ * published in lieu of a formal publisher, so typically
+ * 'howpublished' and 'publisher' will never be in the
+ * same reference.
+ *
+ * Occassionally, people put Diploma thesis information
+ * into the field, so check that first.
+ *
+ * Returns BIBL_OK or BIBL_ERR_MEMERR
+ */
+
+static int
+bibtexin_howpublished( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int fstatus, status = BIBL_OK;
+ if ( !strncasecmp( str_cstr( invalue ), "Diplom", 6 ) ) {
+ fstatus = fields_replace_or_add( bibout, "GENRE:BIBUTILS", "Diploma thesis", level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ }
+ else if ( !strncasecmp( str_cstr( invalue ), "HSabilitation", 13 ) ) {
+ fstatus = fields_replace_or_add( bibout, "GENRE:BIBUTILS", "Habilitation thesis", level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ }
+ else if ( !strncasecmp( str_cstr( invalue ), "Licentiate", 10 ) ) {
+ fstatus = fields_replace_or_add( bibout, "GENRE:BIBUTILS", "Licentiate thesis", level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ }
+ else if ( is_embedded_link( str_cstr( invalue ) ) ) {
+ status = urls_split_and_add( str_cstr( invalue ), bibout, level );
+ }
+ else {
+ fstatus = fields_add( bibout, "PUBLISHER", str_cstr( invalue ), level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ }
+ return status;
+}
+
+/**** bibtexin_eprint() ****/
+
+/* Try to capture situations like
+ *
+ * eprint="1605.02026",
+ * archivePrefix="arXiv",
+ *
+ * or
+ *
+ * eprint="13211131",
+ * eprinttype="medline",
+ *
+ * If we don't know anything, concatenate archivePrefix:eprint
+ * and push into URL. (Could be wrong)
+ *
+ * If no info, just push eprint into URL. (Could be wrong)
+ */
+static int
+process_eprint_with_prefix( fields *bibout, char *prefix, str *value, int level )
+{
+ int fstatus, status = BIBL_OK;
+ str merge;
+
+ if ( !strcmp( prefix, "arXiv" ) ) {
+ fstatus = fields_add( bibout, "ARXIV", value->data, level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ }
+
+ else if ( !strcmp( prefix, "jstor" ) ) {
+ fstatus = fields_add( bibout, "JSTOR", value->data, level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ }
+
+ else if ( !strcmp( prefix, "medline" ) ) {
+ fstatus = fields_add( bibout, "MEDLINE", value->data, level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ }
+
+ else if ( !strcmp( prefix, "pubmed" ) ) {
+ fstatus = fields_add( bibout, "PMID", value->data, level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ }
+
+ /* ...if this is unknown prefix, merge prefix & eprint */
+ else {
+ str_init( &merge );
+ str_mergestrs( &merge, prefix, ":", value->data, NULL );
+ fstatus = fields_add( bibout, "URL", merge.data, level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ str_free( &merge );
+ }
+
+ return status;
+}
+static int
+process_eprint_without_prefix( fields *bibout, str *value, int level )
+{
+ int fstatus;
+
+ /* ...no archivePrefix, need to handle just 'eprint' tag */
+ fstatus = fields_add( bibout, "URL", value->data, level );
+
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ else return BIBL_OK;
+}
+
+static int
+bibtexin_eprint( fields *bibin, int m, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ char *prefix;
+ int n;
+
+ /* ...do we have an archivePrefix too? */
+ n = fields_find( bibin, "ARCHIVEPREFIX", level );
+ if ( n==FIELDS_NOTFOUND ) n = fields_find( bibin, "EPRINTTYPE", level );
+ if ( n!=FIELDS_NOTFOUND ) {
+ prefix = fields_value( bibin, n, FIELDS_CHRP );
+ return process_eprint_with_prefix( bibout, prefix, invalue, level );
+ }
+
+ /* ...no we don't */
+ return process_eprint_without_prefix( bibout, invalue, level );
+}
+
+/**** bibtexin_keyword() ****/
+
+/* Split keywords="" with semicolons.
+ * Commas are also frequently used, but will break
+ * entries like:
+ * keywords="Microscopy, Confocal"
+ * Returns BIBL_OK or BIBL_ERR_MEMERR
+ */
+
+static int
+bibtexin_keyword( fields *bibin, int m, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int fstatus, status = BIBL_OK;
+ const char *p;
+ str keyword;
+
+ p = invalue->data;
+ str_init( &keyword );
+
+ while ( *p ) {
+ p = str_cpytodelim( &keyword, skip_ws( p ), ";", 1 );
+ str_trimendingws( &keyword );
+ if ( str_memerr( &keyword ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ if ( keyword.len ) {
+ fstatus = fields_add( bibout, "KEYWORD", keyword.data, level );
+ if ( fstatus!=FIELDS_OK ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+ }
+out:
+ str_free( &keyword );
+ return status;
+}
+
+/*
+ * bibtex_names( bibout, newtag, field, level);
+ *
+ * split names in author list separated by and's (use '|' character)
+ * and add names
+ *
+ * returns BIBL_OK on success, BIBL_ERR_MEMERR on memory error
+ */
+
+static int
+bibtexin_person( fields *bibin, int m, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int begin, end, ok, n, etal, i, status, match;
+ slist tokens;
+
+ /* If we match the asis or corps list add and bail. */
+ status = bibtex_matches_list( bibout, outtag, ":ASIS", invalue, level, &(pm->asis), &match );
+ if ( match==1 || status!=BIBL_OK ) return status;
+ status = bibtex_matches_list( bibout, outtag, ":CORP", invalue, level, &(pm->corps), &match );
+ if ( match==1 || status!=BIBL_OK ) return status;
+
+ slist_init( &tokens );
+
+ bibtex_split( &tokens, invalue );
+ for ( i=0; i<tokens.n; ++i )
+ bibtex_cleantoken( slist_str( &tokens, i ) );
+
+ etal = name_findetal( &tokens );
+
+ begin = 0;
+ n = tokens.n - etal;
+ while ( begin < n ) {
+
+ end = begin + 1;
+
+ while ( end < n && strcasecmp( slist_cstr( &tokens, end ), "and" ) )
+ end++;
+
+ if ( end - begin == 1 ) {
+ ok = name_addsingleelement( bibout, outtag, slist_cstr( &tokens, begin ), level, 0 );
+ if ( !ok ) { status = BIBL_ERR_MEMERR; goto out; }
+ } else {
+ ok = name_addmultielement( bibout, outtag, &tokens, begin, end, level );
+ if ( !ok ) { status = BIBL_ERR_MEMERR; goto out; }
+ }
+
+ begin = end + 1;
+
+ /* Handle repeated 'and' errors: authors="G. F. Author and and B. K. Author" */
+ while ( begin < n && !strcasecmp( slist_cstr( &tokens, begin ), "and" ) )
+ begin++;
+ }
+
+ if ( etal ) {
+ ok = name_addsingleelement( bibout, outtag, "et al.", level, 0 );
+ if ( !ok ) status = BIBL_ERR_MEMERR;
+ }
+
+out:
+ slist_free( &tokens );
+ return status;
+
+}
+
+/**** bibtexin_title() ****/
+
+/* bibtexin_titleinbook_isbooktitle()
+ *
+ * Normally, the title field of inbook refers to the book. The
+ * section in a @inbook reference is untitled. If it's titled,
+ * the @incollection should be used. For example, in:
+ *
+ * @inbook{
+ * title="xxx"
+ * }
+ *
+ * the booktitle is "xxx".
+ *
+ * However, @inbook is frequently abused (and treated like
+ * @incollection) so that title and booktitle are present
+ * and title is now 'supposed' to refer to the section. For example:
+ *
+ * @inbook{
+ * title="yyy",
+ * booktitle="xxx"
+ * }
+ *
+ * Therefore report whether or not booktitle is present as well
+ * as title in @inbook references. If not, then make 'title'
+ * correspond to the title of the book, not the section.
+ *
+ */
+static int
+bibtexin_titleinbook_isbooktitle( fields *bibin, char *intag )
+{
+ int n;
+
+ /* ...look only at 'title="xxx"' elements */
+ if ( strcasecmp( intag, "TITLE" ) ) return 0;
+
+ /* ...look only at '@inbook' references */
+ n = fields_find( bibin, "INTERNAL_TYPE", LEVEL_ANY );
+ if ( n==FIELDS_NOTFOUND ) return 0;
+ if ( strcasecmp( fields_value( bibin, n, FIELDS_CHRP ), "INBOOK" ) ) return 0;
+
+ /* ...look to see if 'booktitle="yyy"' exists */
+ n = fields_find( bibin, "BOOKTITLE", LEVEL_ANY );
+ if ( n==FIELDS_NOTFOUND ) return 0;
+ else return 1;
+}
+
+static int
+bibtexin_title( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int ok;
+
+ if ( bibtexin_titleinbook_isbooktitle( bibin, intag->data ) ) level=LEVEL_MAIN;
+ ok = title_process( bibout, "TITLE", invalue->data, level, pm->nosplittitle );
+ if ( ok ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+}
+
+static void
+bibtexin_notag( param *p, char *tag )
+{
+ if ( p->verbose && strcmp( tag, "INTERNAL_TYPE" ) ) {
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Cannot find tag '%s'\n", tag );
+ }
+}
+
+static int
+bibtexin_convertf( fields *bibin, fields *bibout, int reftype, param *p )
+{
+ static int (*convertfns[NUM_REFTYPES])(fields *, int, str *, str *, int, param *, char *, fields *) = {
+ // Patch: Fix compilation on MSVC target
+ [ 0 ] = generic_null,
+ [ 1 ] = generic_null,
+ [ 2 ] = generic_null,
+ [ 3 ] = generic_null,
+ [ 4 ] = generic_null,
+ [ 5 ] = generic_null,
+ [ 6 ] = generic_null,
+ [ 7 ] = generic_null,
+ [ 8 ] = generic_null,
+ [ 9 ] = generic_null,
+ [ 10 ] = generic_null,
+ [ 11 ] = generic_null,
+ [ 12 ] = generic_null,
+ [ 13 ] = generic_null,
+ [ 14 ] = generic_null,
+ [ 15 ] = generic_null,
+ [ 16 ] = generic_null,
+ [ 17 ] = generic_null,
+ [ 18 ] = generic_null,
+ [ 19 ] = generic_null,
+ [ 20 ] = generic_null,
+ [ 21 ] = generic_null,
+ [ 22 ] = generic_null,
+ [ 23 ] = generic_null,
+ [ 24 ] = generic_null,
+ [ 25 ] = generic_null,
+ [ SIMPLE ] = generic_simple,
+ [ TITLE ] = bibtexin_title,
+ [ PERSON ] = bibtexin_person,
+ [ PAGES ] = generic_pages,
+ [ KEYWORD ] = bibtexin_keyword,
+ [ EPRINT ] = bibtexin_eprint,
+ [ HOWPUBLISHED ] = bibtexin_howpublished,
+ [ LINKEDFILE ] = bibtexin_linkedfile,
+ [ NOTES ] = generic_notes,
+ [ GENRE ] = generic_genre,
+ [ BT_SENTE ] = bibtexin_btsente,
+ [ BT_ORG ] = bibtexin_btorg,
+ [ URL ] = generic_url
+ };
+
+ int process, level, i, nfields, status = BIBL_OK;
+ str *intag, *invalue;
+ char *outtag;
+
+ nfields = fields_num( bibin );
+ for ( i=0; i<nfields; ++i ) {
+
+ if ( fields_used( bibin, i ) ) continue; /* e.g. successful crossref */
+ if ( fields_notag( bibin, i ) ) continue;
+ if ( fields_nodata( bibin, i ) ) continue;
+
+ intag = fields_tag( bibin, i, FIELDS_STRP );
+ invalue = fields_value( bibin, i, FIELDS_STRP );
+
+ if ( !translate_oldtag( str_cstr( intag ), reftype, p->all, p->nall, &process, &level, &outtag ) ) {
+ bibtexin_notag( p, str_cstr( intag ) );
+ continue;
+ }
+
+ status = convertfns[ process ] ( bibin, i, intag, invalue, level, p, outtag, bibout );
+ if ( status!=BIBL_OK ) return status;
+ }
+
+ if ( status==BIBL_OK && p->verbose ) fields_report( bibout, stderr );
+
+ return status;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/bibtexout.c b/support/texlab/crates/bibutils_sys/src/bibtexout.c
new file mode 100644
index 0000000000..1618fa9a94
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/bibtexout.c
@@ -0,0 +1,855 @@
+/*
+ * bibtexout.c
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include "str.h"
+#include "strsearch.h"
+#include "utf8.h"
+#include "xml.h"
+#include "fields.h"
+#include "generic.h"
+#include "name.h"
+#include "title.h"
+#include "type.h"
+#include "url.h"
+#include "bibformats.h"
+#include "msvc_fix.h"
+
+/*****************************************************
+ PUBLIC: int bibtexout_initparams()
+*****************************************************/
+
+static int bibtexout_write( fields *in, FILE *fp, param *p, unsigned long refnum );
+static int bibtexout_assemble( fields *in, fields *out, param *pm, unsigned long refnum );
+
+int
+bibtexout_initparams( param *pm, const char *progname )
+{
+ pm->writeformat = BIBL_BIBTEXOUT;
+ pm->format_opts = 0;
+ pm->charsetout = BIBL_CHARSET_DEFAULT;
+ pm->charsetout_src = BIBL_SRC_DEFAULT;
+ pm->latexout = 1;
+ pm->utf8out = BIBL_CHARSET_UTF8_DEFAULT;
+ pm->utf8bom = BIBL_CHARSET_BOM_DEFAULT;
+ pm->xmlout = BIBL_XMLOUT_FALSE;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->singlerefperfile = 0;
+
+ pm->headerf = generic_writeheader;
+ pm->footerf = NULL;
+ pm->assemblef = bibtexout_assemble;
+ pm->writef = bibtexout_write;
+
+ if ( !pm->progname ) {
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int bibtexout_assemble()
+*****************************************************/
+
+enum {
+ TYPE_UNKNOWN = 0,
+ TYPE_ARTICLE,
+ TYPE_INBOOK,
+ TYPE_INPROCEEDINGS,
+ TYPE_PROCEEDINGS,
+ TYPE_INCOLLECTION,
+ TYPE_COLLECTION,
+ TYPE_BOOK,
+ TYPE_PHDTHESIS,
+ TYPE_MASTERSTHESIS,
+ TYPE_DIPLOMATHESIS,
+ TYPE_REPORT,
+ TYPE_MANUAL,
+ TYPE_UNPUBLISHED,
+ TYPE_ELECTRONIC,
+ TYPE_MISC,
+ NUM_TYPES
+};
+
+static int
+bibtexout_type( fields *in, const char *progname, const char *filename, unsigned long refnum )
+{
+ match_type genre_matches[] = {
+ { "periodical", TYPE_ARTICLE, LEVEL_ANY },
+ { "academic journal", TYPE_ARTICLE, LEVEL_ANY },
+ { "magazine", TYPE_ARTICLE, LEVEL_ANY },
+ { "newspaper", TYPE_ARTICLE, LEVEL_ANY },
+ { "article", TYPE_ARTICLE, LEVEL_ANY },
+ { "instruction", TYPE_MANUAL, LEVEL_ANY },
+ { "book", TYPE_BOOK, LEVEL_MAIN },
+ { "book", TYPE_INBOOK, LEVEL_ANY },
+ { "book chapter", TYPE_INBOOK, LEVEL_ANY },
+ { "unpublished", TYPE_UNPUBLISHED, LEVEL_ANY },
+ { "manuscript", TYPE_UNPUBLISHED, LEVEL_ANY },
+ { "conference publication", TYPE_PROCEEDINGS, LEVEL_MAIN },
+ { "conference publication", TYPE_INPROCEEDINGS, LEVEL_ANY },
+ { "collection", TYPE_COLLECTION, LEVEL_MAIN },
+ { "collection", TYPE_INCOLLECTION, LEVEL_ANY },
+ { "report", TYPE_REPORT, LEVEL_ANY },
+ { "technical report", TYPE_REPORT, LEVEL_ANY },
+ { "Masters thesis", TYPE_MASTERSTHESIS, LEVEL_ANY },
+ { "Diploma thesis", TYPE_DIPLOMATHESIS, LEVEL_ANY },
+ { "Ph.D. thesis", TYPE_PHDTHESIS, LEVEL_ANY },
+ { "Licentiate thesis", TYPE_PHDTHESIS, LEVEL_ANY },
+ { "thesis", TYPE_PHDTHESIS, LEVEL_ANY },
+ { "electronic", TYPE_ELECTRONIC, LEVEL_ANY },
+ { "miscellaneous", TYPE_MISC, LEVEL_ANY },
+ };
+ int ngenre_matches = sizeof( genre_matches ) / sizeof( genre_matches[0] );
+
+ match_type resource_matches[] = {
+ { "moving image", TYPE_ELECTRONIC, LEVEL_ANY },
+ { "software, multimedia", TYPE_ELECTRONIC, LEVEL_ANY },
+ };
+ int nresource_matches = sizeof( resource_matches ) /sizeof( resource_matches[0] );
+
+ match_type issuance_matches[] = {
+ { "monographic", TYPE_BOOK, LEVEL_MAIN },
+ { "monographic", TYPE_INBOOK, LEVEL_ANY },
+ };
+ int nissuance_matches = sizeof( issuance_matches ) / sizeof( issuance_matches[0] );
+
+ int type, maxlevel, n;
+
+ type = type_from_mods_hints( in, TYPE_FROM_GENRE, genre_matches, ngenre_matches, TYPE_UNKNOWN );
+ if ( type==TYPE_UNKNOWN ) type = type_from_mods_hints( in, TYPE_FROM_RESOURCE, resource_matches, nresource_matches, TYPE_UNKNOWN );
+ if ( type==TYPE_UNKNOWN ) type = type_from_mods_hints( in, TYPE_FROM_ISSUANCE, issuance_matches, nissuance_matches, TYPE_UNKNOWN );
+
+ /* default to TYPE_MISC */
+ if ( type==TYPE_UNKNOWN ) {
+ maxlevel = fields_maxlevel( in );
+ if ( maxlevel > 0 ) type = TYPE_MISC;
+ else {
+ if ( progname ) fprintf( stderr, "%s: ", progname );
+ fprintf( stderr, "Cannot identify TYPE in reference %lu ", refnum+1 );
+ n = fields_find( in, "REFNUM", LEVEL_ANY );
+ if ( n!=FIELDS_NOTFOUND )
+ fprintf( stderr, " %s", (char*) fields_value( in, n, FIELDS_CHRP ) );
+ fprintf( stderr, " (defaulting to @Misc)\n" );
+ type = TYPE_MISC;
+ }
+ }
+ return type;
+}
+
+static void
+append_type( int type, fields *out, int *status )
+{
+ char *typenames[ NUM_TYPES ] = {
+ [ TYPE_ARTICLE ] = "Article",
+ [ TYPE_INBOOK ] = "Inbook",
+ [ TYPE_PROCEEDINGS ] = "Proceedings",
+ [ TYPE_INPROCEEDINGS ] = "InProceedings",
+ [ TYPE_BOOK ] = "Book",
+ [ TYPE_PHDTHESIS ] = "PhdThesis",
+ [ TYPE_MASTERSTHESIS ] = "MastersThesis",
+ [ TYPE_DIPLOMATHESIS ] = "MastersThesis",
+ [ TYPE_REPORT ] = "TechReport",
+ [ TYPE_MANUAL ] = "Manual",
+ [ TYPE_COLLECTION ] = "Collection",
+ [ TYPE_INCOLLECTION ] = "InCollection",
+ [ TYPE_UNPUBLISHED ] = "Unpublished",
+ [ TYPE_ELECTRONIC ] = "Electronic",
+ [ TYPE_MISC ] = "Misc",
+ };
+ int fstatus;
+ char *s;
+
+ if ( type < 0 || type >= NUM_TYPES ) type = TYPE_MISC;
+ s = typenames[ type ];
+
+ fstatus = fields_add( out, "TYPE", s, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+}
+
+static void
+append_citekey( fields *in, fields *out, int format_opts, int *status )
+{
+ int n, fstatus;
+ str s;
+ char *p;
+
+ n = fields_find( in, "REFNUM", LEVEL_ANY );
+ if ( ( format_opts & BIBL_FORMAT_BIBOUT_DROPKEY ) || n==FIELDS_NOTFOUND ) {
+ fstatus = fields_add( out, "REFNUM", "", LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+ else {
+ str_init( &s );
+ p = fields_value( in, n, FIELDS_CHRP );
+ while ( p && *p && *p!='|' ) {
+ if ( format_opts & BIBL_FORMAT_BIBOUT_STRICTKEY ) {
+ if ( isdigit((unsigned char)*p) || (*p>='A' && *p<='Z') ||
+ (*p>='a' && *p<='z' ) ) {
+ str_addchar( &s, *p );
+ }
+ }
+ else {
+ if ( *p!=' ' && *p!='\t' ) {
+ str_addchar( &s, *p );
+ }
+ }
+ p++;
+ }
+ if ( str_memerr( &s ) ) { *status = BIBL_ERR_MEMERR; str_free( &s ); return; }
+ fstatus = fields_add( out, "REFNUM", str_cstr( &s ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ str_free( &s );
+ }
+}
+
+static void
+append_simple( fields *in, char *intag, char *outtag, fields *out, int *status )
+{
+ int n, fstatus;
+
+ n = fields_find( in, intag, LEVEL_ANY );
+ if ( n!=FIELDS_NOTFOUND ) {
+ fields_setused( in, n );
+ fstatus = fields_add( out, outtag, fields_value( in, n, FIELDS_CHRP ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+}
+
+static void
+append_simpleall( fields *in, char *intag, char *outtag, fields *out, int *status )
+{
+ int i, fstatus;
+
+ for ( i=0; i<in->n; ++i ) {
+ if ( fields_match_tag( in, i, intag ) ) {
+ fields_setused( in, i );
+ fstatus = fields_add( out, outtag, fields_value( in, i, FIELDS_CHRP ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+ }
+ }
+}
+
+static void
+append_keywords( fields *in, fields *out, int *status )
+{
+ str keywords, *word;
+ vplist_index i;
+ int fstatus;
+ vplist a;
+
+ str_init( &keywords );
+ vplist_init( &a );
+
+ fields_findv_each( in, LEVEL_ANY, FIELDS_STRP, &a, "KEYWORD" );
+
+ if ( a.n ) {
+
+ for ( i=0; i<a.n; ++i ) {
+ word = vplist_get( &a, i );
+ if ( i>0 ) str_strcatc( &keywords, "; " );
+ str_strcat( &keywords, word );
+ }
+
+ if ( str_memerr( &keywords ) ) { *status = BIBL_ERR_MEMERR; goto out; }
+
+ fstatus = fields_add( out, "keywords", str_cstr( &keywords ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+
+ }
+
+out:
+ str_free( &keywords );
+ vplist_free( &a );
+}
+
+static void
+append_fileattach( fields *in, fields *out, int *status )
+{
+ char *tag, *value;
+ int i, fstatus;
+ str data;
+
+ str_init( &data );
+
+ for ( i=0; i<in->n; ++i ) {
+
+ tag = fields_tag( in, i, FIELDS_CHRP );
+ if ( strcasecmp( tag, "FILEATTACH" ) ) continue;
+
+ value = fields_value( in, i, FIELDS_CHRP );
+ str_strcpyc( &data, ":" );
+ str_strcatc( &data, value );
+ if ( strsearch( value, ".pdf" ) )
+ str_strcatc( &data, ":PDF" );
+ else if ( strsearch( value, ".html" ) )
+ str_strcatc( &data, ":HTML" );
+ else str_strcatc( &data, ":TYPE" );
+
+ if ( str_memerr( &data ) ) {
+ *status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ fields_setused( in, i );
+ fstatus = fields_add( out, "file", str_cstr( &data ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ str_empty( &data );
+ }
+out:
+ str_free( &data );
+}
+
+static void
+append_people( fields *in, char *tag, char *ctag, char *atag,
+ char *bibtag, int level, fields *out, int format_opts, int *status )
+{
+ int i, npeople, person, corp, asis, fstatus;
+ str allpeople, oneperson;
+
+ strs_init( &allpeople, &oneperson, NULL );
+
+ /* primary citation authors */
+ npeople = 0;
+ for ( i=0; i<in->n; ++i ) {
+ if ( level!=LEVEL_ANY && in->level[i]!=level ) continue;
+ person = ( strcasecmp( in->tag[i].data, tag ) == 0 );
+ corp = ( strcasecmp( in->tag[i].data, ctag ) == 0 );
+ asis = ( strcasecmp( in->tag[i].data, atag ) == 0 );
+ if ( person || corp || asis ) {
+ if ( npeople>0 ) {
+ if ( format_opts & BIBL_FORMAT_BIBOUT_WHITESPACE )
+ str_strcatc( &allpeople, "\n\t\tand " );
+ else str_strcatc( &allpeople, "\nand " );
+ }
+ if ( corp ) {
+ str_addchar( &allpeople, '{' );
+ str_strcat( &allpeople, fields_value( in, i, FIELDS_STRP ) );
+ str_addchar( &allpeople, '}' );
+ } else if ( asis ) {
+ str_addchar( &allpeople, '{' );
+ str_strcat( &allpeople, fields_value( in, i, FIELDS_STRP ) );
+ str_addchar( &allpeople, '}' );
+ } else {
+ name_build_withcomma( &oneperson, fields_value( in, i, FIELDS_CHRP ) );
+ str_strcat( &allpeople, &oneperson );
+ }
+ npeople++;
+ }
+ }
+ if ( npeople ) {
+ fstatus = fields_add( out, bibtag, allpeople.data, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+ strs_free( &allpeople, &oneperson, NULL );
+}
+
+static int
+append_title_chosen( fields *in, char *bibtag, fields *out, int nmainttl, int nsubttl )
+{
+ str fulltitle, *mainttl = NULL, *subttl = NULL;
+ int status, ret = BIBL_OK;
+
+ str_init( &fulltitle );
+
+ if ( nmainttl!=-1 ) {
+ mainttl = fields_value( in, nmainttl, FIELDS_STRP );
+ fields_setused( in, nmainttl );
+ }
+
+ if ( nsubttl!=-1 ) {
+ subttl = fields_value( in, nsubttl, FIELDS_STRP );
+ fields_setused( in, nsubttl );
+ }
+
+ title_combine( &fulltitle, mainttl, subttl );
+
+ if ( str_memerr( &fulltitle ) ) {
+ ret = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ if ( str_has_value( &fulltitle ) ) {
+ status = fields_add( out, bibtag, str_cstr( &fulltitle ), LEVEL_MAIN );
+ if ( status!=FIELDS_OK ) ret = BIBL_ERR_MEMERR;
+ }
+
+out:
+ str_free( &fulltitle );
+ return ret;
+}
+
+static int
+append_title( fields *in, char *bibtag, int level, fields *out, int format_opts )
+{
+ int title, short_title, subtitle, short_subtitle, use_title, use_subtitle;
+
+ title = fields_find( in, "TITLE", level );
+ short_title = fields_find( in, "SHORTTITLE", level );
+ subtitle = fields_find( in, "SUBTITLE", level );
+ short_subtitle = fields_find( in, "SHORTSUBTITLE", level );
+
+ if ( title==FIELDS_NOTFOUND || ( ( format_opts & BIBL_FORMAT_BIBOUT_SHORTTITLE ) && level==1 ) ) {
+ use_title = short_title;
+ use_subtitle = short_subtitle;
+ }
+
+ else {
+ use_title = title;
+ use_subtitle = subtitle;
+ }
+
+ return append_title_chosen( in, bibtag, out, use_title, use_subtitle );
+}
+
+static void
+append_titles( fields *in, int type, fields *out, int format_opts, int *status )
+{
+ /* item=main level title */
+ *status = append_title( in, "title", 0, out, format_opts );
+ if ( *status!=BIBL_OK ) return;
+
+ switch( type ) {
+
+ case TYPE_ARTICLE:
+ *status = append_title( in, "journal", 1, out, format_opts );
+ break;
+
+ case TYPE_INBOOK:
+ *status = append_title( in, "bookTitle", 1, out, format_opts );
+ if ( *status!=BIBL_OK ) return;
+ *status = append_title( in, "series", 2, out, format_opts );
+ break;
+
+ case TYPE_INCOLLECTION:
+ case TYPE_INPROCEEDINGS:
+ *status = append_title( in, "booktitle", 1, out, format_opts );
+ if ( *status!=BIBL_OK ) return;
+ *status = append_title( in, "series", 2, out, format_opts );
+ break;
+
+ case TYPE_PHDTHESIS:
+ case TYPE_MASTERSTHESIS:
+ *status = append_title( in, "series", 1, out, format_opts );
+ break;
+
+ case TYPE_BOOK:
+ case TYPE_REPORT:
+ case TYPE_COLLECTION:
+ case TYPE_PROCEEDINGS:
+ *status = append_title( in, "series", 1, out, format_opts );
+ if ( *status!=BIBL_OK ) return;
+ *status = append_title( in, "series", 2, out, format_opts );
+ break;
+
+ default:
+ /* do nothing */
+ break;
+
+ }
+}
+
+static int
+find_date( fields *in, char *date_element )
+{
+ char date[100], partdate[100];
+ int n;
+
+ sprintf( date, "DATE:%s", date_element );
+ n = fields_find( in, date, LEVEL_ANY );
+
+ if ( n==FIELDS_NOTFOUND ) {
+ sprintf( partdate, "PARTDATE:%s", date_element );
+ n = fields_find( in, partdate, LEVEL_ANY );
+ }
+
+ return n;
+}
+
+static void
+append_date( fields *in, fields *out, int *status )
+{
+ char *months[12] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
+ "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
+ int n, month, fstatus;
+
+ n = find_date( in, "YEAR" );
+ if ( n!=FIELDS_NOTFOUND ) {
+ fields_setused( in, n );
+ fstatus = fields_add( out, "year", in->data[n].data, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+ }
+
+ n = find_date( in, "MONTH" );
+ if ( n!=-1 ) {
+ fields_setused( in, n );
+ month = atoi( in->data[n].data );
+ if ( month>0 && month<13 )
+ fstatus = fields_add( out, "month", months[month-1], LEVEL_MAIN );
+ else
+ fstatus = fields_add( out, "month", in->data[n].data, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+ }
+
+ n = find_date( in, "DAY" );
+ if ( n!=-1 ) {
+ fields_setused( in, n );
+ fstatus = fields_add( out, "day", in->data[n].data, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+ }
+
+}
+
+static void
+append_arxiv( fields *in, fields *out, int *status )
+{
+ int n, fstatus1, fstatus2;
+ str url;
+
+ n = fields_find( in, "ARXIV", LEVEL_ANY );
+ if ( n==FIELDS_NOTFOUND ) return;
+
+ fields_setused( in, n );
+
+ /* ...write:
+ * archivePrefix = "arXiv",
+ * eprint = "#####",
+ * ...for arXiv references
+ */
+ fstatus1 = fields_add( out, "archivePrefix", "arXiv", LEVEL_MAIN );
+ fstatus2 = fields_add( out, "eprint", fields_value( in, n, FIELDS_CHRP ), LEVEL_MAIN );
+ if ( fstatus1!=FIELDS_OK || fstatus2!=FIELDS_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+
+ /* ...also write:
+ * url = "http://arxiv.org/abs/####",
+ * ...to maximize compatibility
+ */
+ str_init( &url );
+ arxiv_to_url( in, n, "URL", &url );
+ if ( str_has_value( &url ) ) {
+ fstatus1 = fields_add( out, "url", str_cstr( &url ), LEVEL_MAIN );
+ if ( fstatus1!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ str_free( &url );
+}
+
+static void
+append_urls( fields *in, fields *out, int *status )
+{
+ int lstatus;
+ slist types;
+
+ lstatus = slist_init_valuesc( &types, "URL", "DOI", "PMID", "PMC", "JSTOR", NULL );
+ if ( lstatus!=SLIST_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+
+ *status = urls_merge_and_add( in, LEVEL_ANY, out, "url", LEVEL_MAIN, &types );
+
+ slist_free( &types );
+}
+
+static void
+append_isi( fields *in, fields *out, int *status )
+{
+ int n, fstatus;
+
+ n = fields_find( in, "ISIREFNUM", LEVEL_ANY );
+ if ( n==FIELDS_NOTFOUND ) return;
+
+ fstatus = fields_add( out, "note", fields_value( in, n, FIELDS_CHRP ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+}
+
+static void
+append_articlenumber( fields *in, fields *out, int *status )
+{
+ int n, fstatus;
+
+ n = fields_find( in, "ARTICLENUMBER", LEVEL_ANY );
+ if ( n==FIELDS_NOTFOUND ) return;
+
+ fields_setused( in, n );
+ fstatus = fields_add( out, "pages", fields_value( in, n, FIELDS_CHRP ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+}
+
+static int
+pages_build_pagestr( str *pages, fields *in, int sn, int en, int format_opts )
+{
+ /* ...append if starting page number is defined */
+ if ( sn!=-1 ) {
+ str_strcat( pages, fields_value( in, sn, FIELDS_STRP ) );
+ fields_setused( in, sn );
+ }
+
+ /* ...append dashes if both starting and ending page numbers are defined */
+ if ( sn!=-1 && en!=-1 ) {
+ if ( format_opts & BIBL_FORMAT_BIBOUT_SINGLEDASH )
+ str_strcatc( pages, "-" );
+ else
+ str_strcatc( pages, "--" );
+ }
+
+ /* ...append ending page number is defined */
+ if ( en!=-1 ) {
+ str_strcat( pages, fields_value( in, en, FIELDS_STRP ) );
+ fields_setused( in, en );
+ }
+
+ if ( str_memerr( pages ) ) return BIBL_ERR_MEMERR;
+ else return BIBL_OK;
+}
+
+static int
+pages_are_defined( fields *in, int *sn, int *en )
+{
+ *sn = fields_find( in, "PAGES:START", LEVEL_ANY );
+ *en = fields_find( in, "PAGES:STOP", LEVEL_ANY );
+ if ( *sn==FIELDS_NOTFOUND && *en==FIELDS_NOTFOUND ) return 0;
+ else return 1;
+}
+
+static void
+append_pages( fields *in, fields *out, int format_opts, int *status )
+{
+ int sn, en, fstatus;
+ str pages;
+
+ if ( !pages_are_defined( in, &sn, &en ) ) {
+ append_articlenumber( in, out, status );
+ return;
+ }
+
+ str_init( &pages );
+ *status = pages_build_pagestr( &pages, in, sn, en, format_opts );
+ if ( *status==BIBL_OK ) {
+ fstatus = fields_add( out, "pages", str_cstr( &pages ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ str_free( &pages );
+}
+
+/*
+ * from Tim Hicks:
+ * I'm no expert on bibtex, but those who know more than I on our mailing
+ * list suggest that 'issue' isn't a recognised key for bibtex and
+ * therefore that bibutils should be aliasing IS to number at some point in
+ * the conversion.
+ *
+ * Therefore prefer outputting issue/number as number and only keep
+ * a distinction if both issue and number are present for a particular
+ * reference.
+ */
+
+static void
+append_issue_number( fields *in, fields *out, int *status )
+{
+ char issue[] = "issue", number[] = "number", *use_issue = number;
+ int nissue = fields_find( in, "ISSUE", LEVEL_ANY );
+ int nnumber = fields_find( in, "NUMBER", LEVEL_ANY );
+ int fstatus;
+
+ if ( nissue!=FIELDS_NOTFOUND && nnumber!=FIELDS_NOTFOUND ) use_issue = issue;
+
+ if ( nissue!=FIELDS_NOTFOUND ) {
+ fields_setused( in, nissue );
+ fstatus = fields_add( out, use_issue, fields_value( in, nissue, FIELDS_CHRP ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+ }
+
+ if ( nnumber!=FIELDS_NOTFOUND ) {
+ fields_setused( in, nnumber );
+ fstatus = fields_add( out, "number", fields_value( in, nnumber, FIELDS_CHRP ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+ }
+}
+
+static void
+append_howpublished( fields *in, fields *out, int *status )
+{
+ int n, fstatus;
+ char *d;
+
+ n = fields_find( in, "GENRE:BIBUTILS", LEVEL_ANY );
+ if ( n==FIELDS_NOTFOUND ) return;
+
+ d = fields_value( in, n, FIELDS_CHRP_NOUSE );
+ if ( !strcmp( d, "Habilitation thesis" ) ) {
+ fstatus = fields_add( out, "howpublised", d, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ if ( !strcmp( d, "Licentiate thesis" ) ) {
+ fstatus = fields_add( out, "howpublised", d, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ if ( !strcmp( d, "Diploma thesis" ) ) {
+ fstatus = fields_add( out, "howpublised", d, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+}
+
+static int
+bibtexout_assemble( fields *in, fields *out, param *pm, unsigned long refnum )
+{
+ int type, status = BIBL_OK;
+
+ type = bibtexout_type( in, pm->progname, "", refnum );
+
+ append_type ( type, out, &status );
+ append_citekey ( in, out, pm->format_opts, &status );
+ append_people ( in, "AUTHOR", "AUTHOR:CORP", "AUTHOR:ASIS", "author", LEVEL_MAIN, out, pm->format_opts, &status );
+ append_people ( in, "EDITOR", "EDITOR:CORP", "EDITOR:ASIS", "editor", LEVEL_ANY, out, pm->format_opts, &status );
+ append_people ( in, "TRANSLATOR", "TRANSLATOR:CORP", "TRANSLATOR:ASIS", "translator", LEVEL_ANY, out, pm->format_opts, &status );
+ append_titles ( in, type, out, pm->format_opts, &status );
+ append_date ( in, out, &status );
+ append_simple ( in, "EDITION", "edition", out, &status );
+ append_simple ( in, "PUBLISHER", "publisher", out, &status );
+ append_simple ( in, "ADDRESS", "address", out, &status );
+ append_simple ( in, "VOLUME", "volume", out, &status );
+ append_issue_number( in, out, &status );
+ append_pages ( in, out, pm->format_opts, &status );
+ append_keywords ( in, out, &status );
+ append_simple ( in, "CONTENTS", "contents", out, &status );
+ append_simple ( in, "ABSTRACT", "abstract", out, &status );
+ append_simple ( in, "LOCATION", "location", out, &status );
+ append_simple ( in, "DEGREEGRANTOR", "school", out, &status );
+ append_simple ( in, "DEGREEGRANTOR:ASIS", "school", out, &status );
+ append_simple ( in, "DEGREEGRANTOR:CORP", "school", out, &status );
+ append_simpleall ( in, "NOTES", "note", out, &status );
+ append_simpleall ( in, "ANNOTE", "annote", out, &status );
+ append_simple ( in, "ISBN", "isbn", out, &status );
+ append_simple ( in, "ISSN", "issn", out, &status );
+ append_simple ( in, "MRNUMBER", "mrnumber", out, &status );
+ append_simple ( in, "CODEN", "coden", out, &status );
+ append_simple ( in, "DOI", "doi", out, &status );
+ append_urls ( in, out, &status );
+ append_fileattach ( in, out, &status );
+ append_arxiv ( in, out, &status );
+ append_simple ( in, "EPRINTCLASS", "primaryClass", out, &status );
+ append_isi ( in, out, &status );
+ append_simple ( in, "LANGUAGE", "language", out, &status );
+ append_howpublished( in, out, &status );
+
+ return status;
+}
+
+/*****************************************************
+ PUBLIC: int bibtexout_write()
+*****************************************************/
+
+static int
+bibtexout_write( fields *out, FILE *fp, param *pm, unsigned long refnum )
+{
+ int i, j, len, nquotes, format_opts = pm->format_opts;
+ char *tag, *value, ch;
+
+ /* ...output type information "@article{" */
+ value = ( char * ) fields_value( out, 0, FIELDS_CHRP );
+ if ( !(format_opts & BIBL_FORMAT_BIBOUT_UPPERCASE) ) fprintf( fp, "@%s{", value );
+ else {
+ len = (value) ? strlen( value ) : 0;
+ fprintf( fp, "@" );
+ for ( i=0; i<len; ++i )
+ fprintf( fp, "%c", toupper((unsigned char)value[i]) );
+ fprintf( fp, "{" );
+ }
+
+ /* ...output refnum "Smith2001" */
+ value = ( char * ) fields_value( out, 1, FIELDS_CHRP );
+ fprintf( fp, "%s", value );
+
+ /* ...rest of the references */
+ for ( j=2; j<out->n; ++j ) {
+ nquotes = 0;
+ tag = ( char * ) fields_tag( out, j, FIELDS_CHRP );
+ value = ( char * ) fields_value( out, j, FIELDS_CHRP );
+ fprintf( fp, ",\n" );
+ if ( format_opts & BIBL_FORMAT_BIBOUT_WHITESPACE ) fprintf( fp, " " );
+ if ( !(format_opts & BIBL_FORMAT_BIBOUT_UPPERCASE ) ) fprintf( fp, "%s", tag );
+ else {
+ len = strlen( tag );
+ for ( i=0; i<len; ++i )
+ fprintf( fp, "%c", toupper((unsigned char)tag[i]) );
+ }
+ if ( format_opts & BIBL_FORMAT_BIBOUT_WHITESPACE ) fprintf( fp, " = \t" );
+ else fprintf( fp, "=" );
+
+ if ( format_opts & BIBL_FORMAT_BIBOUT_BRACKETS ) fprintf( fp, "{" );
+ else fprintf( fp, "\"" );
+
+ len = strlen( value );
+ for ( i=0; i<len; ++i ) {
+ ch = value[i];
+ if ( ch!='\"' ) fprintf( fp, "%c", ch );
+ else {
+ if ( format_opts & BIBL_FORMAT_BIBOUT_BRACKETS || ( i>0 && value[i-1]=='\\' ) )
+ fprintf( fp, "\"" );
+ else {
+ if ( nquotes % 2 == 0 )
+ fprintf( fp, "``" );
+ else fprintf( fp, "\'\'" );
+ nquotes++;
+ }
+ }
+ }
+
+ if ( format_opts & BIBL_FORMAT_BIBOUT_BRACKETS ) fprintf( fp, "}" );
+ else fprintf( fp, "\"" );
+ }
+
+ /* ...finish reference */
+ if ( format_opts & BIBL_FORMAT_BIBOUT_FINALCOMMA ) fprintf( fp, "," );
+ fprintf( fp, "\n}\n\n" );
+
+ fflush( fp );
+
+ return BIBL_OK;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/bibtextypes.c b/support/texlab/crates/bibutils_sys/src/bibtextypes.c
new file mode 100644
index 0000000000..f8768564ac
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/bibtextypes.c
@@ -0,0 +1,687 @@
+/*
+ * bibtypes.c
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include "fields.h"
+#include "reftypes.h"
+
+/* Entry types from the IEEEtran Bibtex Style + others as observed */
+
+/*
+ * Journal Article
+ */
+static lookups article[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "title", "", TITLE, LEVEL_MAIN },
+ { "year", "PARTDATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "PARTDATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "PARTDATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "volume", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "pages", "PAGES", PAGES, LEVEL_MAIN },
+ { "number", "ISSUE", SIMPLE, LEVEL_MAIN },
+ { "issue", "ISSUE", SIMPLE, LEVEL_MAIN },
+ { "journal", "", TITLE, LEVEL_HOST },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_HOST },
+ { "address", "ADDRESS", SIMPLE, LEVEL_HOST },
+ { "issn", "ISSN", SIMPLE, LEVEL_HOST },
+ { "coden", "CODEN", SIMPLE, LEVEL_HOST },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },
+ { "location", "LOCATION", SIMPLE, LEVEL_MAIN },
+ { "ftp", "", URL, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "pdf", "FILEATTACH", SIMPLE, LEVEL_MAIN },
+ { "eprint", "", EPRINT, LEVEL_MAIN },
+ { "archivePrefix","ARCHIVEPREFIX", SIMPLE, LEVEL_MAIN },
+ { "eprintclass", "EPRINTCLASS", SIMPLE, LEVEL_MAIN },
+ { "primaryClass", "EPRINTCLASS", SIMPLE, LEVEL_MAIN },
+ { "sentelink", "FILEATTACH", BT_SENTE, LEVEL_MAIN },
+ { "file", "FILEATTACH", LINKEDFILE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "mrnumber", "MRNUMBER", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "key", "BIBKEY", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN },
+ { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|ARTICLE", ALWAYS, LEVEL_MAIN },
+ { "", "ISSUANCE|continuing", ALWAYS, LEVEL_HOST },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|periodical", ALWAYS, LEVEL_HOST },
+ { "", "GENRE:BIBUTILS|journal article", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:BIBUTILS|academic journal", ALWAYS, LEVEL_HOST }
+};
+
+/* Book */
+
+static lookups book[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "title", "", TITLE, LEVEL_MAIN },
+ { "booktitle", "", TITLE, LEVEL_MAIN },
+ { "series", "", TITLE, LEVEL_HOST },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "editor", "EDITOR", PERSON, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "volume", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "isbn", "ISBN", SIMPLE, LEVEL_MAIN },
+ { "lccn", "LCCN", SIMPLE, LEVEL_MAIN },
+ { "edition", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "location", "LOCATION", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },
+ { "type", "GENRE:UKNOWN", GENRE, LEVEL_MAIN },
+ { "key", "BIBKEY", SIMPLE, LEVEL_MAIN },
+ { "ftp", "", URL, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "pdf", "FILEATTACH", SIMPLE, LEVEL_MAIN },
+ { "sentelink", "FILEATTACH", BT_SENTE, LEVEL_MAIN },
+ { "file", "FILEATTACH", LINKEDFILE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN },
+ { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|BOOK", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "ISSUANCE|monographic", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|book", ALWAYS, LEVEL_MAIN }
+};
+
+/* Technical reports */
+
+static lookups report[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "title", "", TITLE, LEVEL_MAIN },
+ { "booktitle", "", TITLE, LEVEL_MAIN },
+ { "series", "", TITLE, LEVEL_HOST },
+ { "editor", "EDITOR", PERSON, LEVEL_MAIN },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "institution", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "isbn", "ISBN", SIMPLE, LEVEL_MAIN },
+ { "lccn", "LCCN", SIMPLE, LEVEL_MAIN },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "location", "LOCATION", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },
+ { "key", "BIBKEY", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "ftp", "", URL, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "mrnumber", "MRNUMBER", SIMPLE, LEVEL_MAIN },
+ { "pdf", "FILEATTACH", SIMPLE, LEVEL_MAIN },
+ { "sentelink", "FILEATTACH", BT_SENTE, LEVEL_MAIN },
+ { "file", "FILEATTACH", LINKEDFILE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN },
+ { "type", "GENRE:UKNOWN", GENRE, LEVEL_MAIN },
+ { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|REPORT", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|technical report", ALWAYS, LEVEL_MAIN },
+};
+
+static lookups manual[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR",PERSON, LEVEL_MAIN },
+ { "title", "", TITLE, LEVEL_MAIN },
+ { "booktitle", "", TITLE, LEVEL_MAIN },
+ { "editor", "EDITOR", PERSON, LEVEL_MAIN },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "isbn", "ISBN", SIMPLE, LEVEL_MAIN },
+ { "lccn", "LCCN", SIMPLE, LEVEL_MAIN },
+ { "edition", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN },
+ { "location", "LOCATION", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },
+ { "key", "BIBKEY", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "ftp", "", URL, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },
+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN },
+ { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN },
+ { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|REPORT", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|instruction", ALWAYS, LEVEL_MAIN }
+};
+
+/* Part of a book (e.g. chapter or section) */
+
+static lookups inbook[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR",PERSON, LEVEL_MAIN },
+ { "editor", "EDITOR", PERSON, LEVEL_HOST },
+ { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN }, /* chapter number */
+ { "title", "", TITLE, LEVEL_MAIN }, /* chapter name */
+ { "booktitle", "", TITLE, LEVEL_HOST },
+ { "series", "", TITLE, LEVEL_SERIES },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_HOST },
+ { "address", "ADDRESS", SIMPLE, LEVEL_HOST },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_HOST },
+ { "month", "DATE:MONTH",SIMPLE, LEVEL_HOST },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_HOST },
+ { "volume", "VOLUME", SIMPLE, LEVEL_SERIES },
+ { "number", "NUMBER", SIMPLE, LEVEL_SERIES },
+ { "pages", "PAGES", PAGES, LEVEL_HOST },
+ { "isbn", "ISBN", SIMPLE, LEVEL_HOST },
+ { "lccn", "LCCN", SIMPLE, LEVEL_HOST },
+ { "edition", "EDITION", SIMPLE, LEVEL_HOST },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "contents", "CONTENTS", SIMPLE, LEVEL_HOST },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "location", "LOCATION", SIMPLE, LEVEL_HOST },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "ftp", "", URL, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },
+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN },
+ { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN },
+ { "type", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },
+ { "key", "BIBKEY", SIMPLE, LEVEL_MAIN },
+ { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|INBOOK", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "ISSUANCE|monographic", ALWAYS, LEVEL_HOST },
+ { "", "GENRE:BIBUTILS|book chapter", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|book", ALWAYS, LEVEL_HOST }
+};
+
+/* References of papers in conference proceedings */
+
+static lookups inproceedings[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "editor", "EDITOR", PERSON, LEVEL_HOST },
+ { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN }, /* chapter number */
+ { "title", "", TITLE, LEVEL_MAIN }, /* chapter name */
+ { "booktitle", "", TITLE, LEVEL_HOST },
+ { "series", "", TITLE, LEVEL_SERIES },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_HOST },
+ { "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_HOST },
+ { "address", "ADDRESS", SIMPLE, LEVEL_HOST },
+ { "year", "PARTDATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "PARTDATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "PARTDATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "volume", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "pages", "PAGES", PAGES, LEVEL_MAIN },
+ { "isbn", "ISBN", SIMPLE, LEVEL_HOST },
+ { "lccn", "LCCN", SIMPLE, LEVEL_HOST },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "contents", "CONTENTS", SIMPLE, LEVEL_HOST },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "paper", "PAPER", SIMPLE, LEVEL_MAIN },
+ { "location", "LOCATION", SIMPLE, LEVEL_HOST },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "ftp", "", URL, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },
+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN },
+ { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN },
+ { "type", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },
+ { "key", "BIBKEY", SIMPLE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN },
+ { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|INPROCEEDINGS", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|conference publication", ALWAYS, LEVEL_HOST }
+};
+
+/* Used for a section of a book with its own title */
+
+static lookups incollection[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "editor", "EDITOR", PERSON, LEVEL_HOST },
+ { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN }, /* chapter number */
+ { "title", "", TITLE, LEVEL_MAIN }, /* chapter name */
+ { "booktitle", "", TITLE, LEVEL_HOST },
+ { "series", "", TITLE, LEVEL_SERIES },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_HOST },
+ { "address", "ADDRESS", SIMPLE, LEVEL_HOST },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_HOST },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_HOST },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_HOST },
+ { "volume", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "pages", "PAGES", PAGES, LEVEL_MAIN },
+ { "isbn", "ISBN", SIMPLE, LEVEL_HOST },
+ { "lccn", "LCCN", SIMPLE, LEVEL_HOST },
+ { "edition", "EDITION", SIMPLE, LEVEL_HOST },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "contents", "CONTENTS", SIMPLE, LEVEL_HOST },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "type", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },
+ { "key", "BIBKEY", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "ftp", "", URL, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },
+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN },
+ { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN },
+ { "location", "LOCATION", SIMPLE, LEVEL_HOST },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN },
+ { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|INCOLLECTION", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "ISSUANCE|monographic", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:BIBUTILS|collection", ALWAYS, LEVEL_HOST }
+};
+
+/* Proceedings */
+
+static lookups proceedings[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR",PERSON, LEVEL_MAIN },
+ { "editor", "EDITOR", PERSON, LEVEL_MAIN },
+ { "title", "", TITLE, LEVEL_MAIN },
+ { "booktitle", "", TITLE, LEVEL_MAIN },
+ { "series", "", TITLE, LEVEL_HOST },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "volume", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "pages", "PAGES", PAGES, LEVEL_MAIN },
+ { "isbn", "ISBN", SIMPLE, LEVEL_MAIN },
+ { "lccn", "LCCN", SIMPLE, LEVEL_MAIN },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "ftp", "", URL, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },
+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN },
+ { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "location", "LOCATION", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },
+ { "key", "BIBKEY", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN },
+ { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|PROCEEDINGS", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|conference publication", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups phds[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR",PERSON, LEVEL_MAIN },
+ { "title", "", TITLE, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "school", "DEGREEGRANTOR:ASIS",SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "ftp", "", URL, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },
+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN },
+ { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN },
+ { "howpublished", "" , HOWPUBLISHED, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "location", "LOCATION", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },
+ { "key", "BIBKEY", SIMPLE, LEVEL_MAIN },
+ { "type", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN },
+ { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|THESIS", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|thesis", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:BIBUTILS|Ph.D. thesis", DEFAULT, LEVEL_MAIN }
+};
+
+static lookups masters[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR",PERSON, LEVEL_MAIN },
+ { "title", "", TITLE, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "school", "DEGREEGRANTOR:ASIS",SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "ftp", "", URL, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "pdf", "FILEATTACH", SIMPLE, LEVEL_MAIN },
+ { "sentelink", "FILEATTACH", BT_SENTE, LEVEL_MAIN },
+ { "file", "FILEATTACH", LINKEDFILE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "location", "LOCATION", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },
+ { "key", "BIBKEY", SIMPLE, LEVEL_MAIN },
+ { "type", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN },
+ { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|THESIS", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|thesis", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:BIBUTILS|Masters thesis", DEFAULT, LEVEL_MAIN }
+};
+
+/* Unpublished */
+
+static lookups unpublished[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR",PERSON, LEVEL_MAIN },
+ { "title", "", TITLE, LEVEL_MAIN },
+ { "booktitle", "", TITLE, LEVEL_MAIN },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "editor", "EDITOR", PERSON, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "ftp", "", URL, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "pdf", "FILEATTACH",SIMPLE, LEVEL_MAIN },
+ { "sentelink", "FILEATTACH",BT_SENTE, LEVEL_MAIN },
+ { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "location", "LOCATION", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },
+ { "key", "BIBKEY", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN },
+ { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|BOOK", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:BIBUTILS|unpublished", ALWAYS, LEVEL_MAIN }
+};
+
+/*
+ * For Published Standards
+ */
+static lookups standard[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR",PERSON, LEVEL_MAIN },
+ { "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN },
+ { "institution", "AUTHOR:CORP", SIMPLE, LEVEL_MAIN },
+ { "title", "", TITLE, LEVEL_MAIN },
+ { "booktitle", "", TITLE, LEVEL_MAIN },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "editor", "EDITOR", PERSON, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "isbn", "ISBN", SIMPLE, LEVEL_MAIN },
+ { "lccn", "LCCN", SIMPLE, LEVEL_MAIN },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "ftp", "", URL, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "pdf", "FILEATTACH", SIMPLE, LEVEL_MAIN },
+ { "sentelink", "FILEATTACH", BT_SENTE, LEVEL_MAIN },
+ { "file", "FILEATTACH",LINKEDFILE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "type", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "revision", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "location", "LOCATION", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },
+ { "key", "BIBKEY", SIMPLE, LEVEL_MAIN },
+ { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },
+ { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|STANDARD", ALWAYS, LEVEL_MAIN }
+};
+
+/*
+ * For Journals and Magazines
+ */
+static lookups periodical[] = {
+ { "title", "", TITLE, LEVEL_MAIN },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "series", "", TITLE, LEVEL_HOST },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "editor", "EDITOR", PERSON, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "issn", "ISSN", SIMPLE, LEVEL_MAIN },
+ { "coden", "CODEN", SIMPLE, LEVEL_MAIN },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "volume", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "ftp", "", URL, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "pdf", "FILEATTACH", SIMPLE, LEVEL_MAIN },
+ { "sentelink", "FILEATTACH", BT_SENTE, LEVEL_MAIN },
+ { "file", "FILEATTACH", LINKEDFILE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },
+ { "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN },
+ { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN },
+ { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|periodical", ALWAYS, LEVEL_MAIN }
+};
+
+/*
+ * For Patent
+ */
+static lookups patent[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "assignee", "ASSIGNEE", PERSON, LEVEL_MAIN },
+ { "title", "", TITLE, LEVEL_MAIN },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "editor", "EDITOR", PERSON, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN }, /* date granted */
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "yearfiled", "DATE:YEAR", SIMPLE, LEVEL_MAIN }, /* date filed */
+ { "monthfiled", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "dayfiled", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "location", "LOCATION", SIMPLE, LEVEL_MAIN },
+ { "nationality", "NATIONALITY", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },
+ { "key", "BIBKEY", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "ftp", "", URL, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "pdf", "FILEATTACH", SIMPLE, LEVEL_MAIN },
+ { "sentelink", "FILEATTACH", BT_SENTE, LEVEL_MAIN },
+ { "file", "FILEATTACH", LINKEDFILE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "type", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN },
+ { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|PATENT", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|patent", ALWAYS, LEVEL_MAIN },
+};
+
+/*
+ * Electronic Source
+ */
+static lookups electronic[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN },
+ { "title", "", TITLE, LEVEL_MAIN },
+ { "booktitle", "", TITLE, LEVEL_MAIN },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "editor", "EDITOR", PERSON, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "volume", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "ftp", "", URL, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "pdf", "FILEATTACH", SIMPLE, LEVEL_MAIN },
+ { "sentelink", "FILEATTACH", BT_SENTE, LEVEL_MAIN },
+ { "file", "FILEATTACH", LINKEDFILE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN },
+ { "location", "LOCATION", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },
+ { "key", "BIBKEY", SIMPLE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },
+ { "", "RESOURCE|software, multimedia", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|web site", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:BIBUTILS|electronic", ALWAYS, LEVEL_MAIN },
+};
+
+static lookups misc[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "title", "", TITLE, LEVEL_MAIN },
+ { "booktitle", "", TITLE, LEVEL_MAIN },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN },
+ { "pages", "PAGES", PAGES, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "editor", "EDITOR", PERSON, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "contents", "CONTENTS", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "ftp", "", URL, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "pdf", "FILEATTACH", SIMPLE, LEVEL_MAIN },
+ { "sentelink", "FILEATTACH", BT_SENTE, LEVEL_MAIN },
+ { "file", "FILEATTACH", LINKEDFILE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "crossref", "CROSSREF", SIMPLE, LEVEL_MAIN },
+ { "location", "LOCATION", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTE", SIMPLE, LEVEL_MAIN },
+ { "key", "BIBKEY", SIMPLE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "keywords", "KEYWORD", KEYWORD, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|MISC", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:BIBUTILS|miscellaneous", ALWAYS, LEVEL_MAIN },
+};
+
+#define ORIG(a) ( &(a[0]) )
+#define SIZE(a) ( sizeof( a ) / sizeof( lookups ) )
+#define REFTYPE(a,b) { a, ORIG(b), SIZE(b) }
+
+variants bibtex_all[] = {
+ REFTYPE( "article", article ),
+ REFTYPE( "booklet", book ),
+ REFTYPE( "book", book ),
+ REFTYPE( "electronic", electronic ),
+ REFTYPE( "inbook", inbook ),
+ REFTYPE( "incollection", incollection ),
+ REFTYPE( "inconference", inproceedings ),
+ REFTYPE( "conference", inproceedings ),
+ REFTYPE( "inproceedings", inproceedings ),
+ REFTYPE( "manual", manual ),
+ REFTYPE( "mastersthesis", masters ),
+ REFTYPE( "misc", misc ),
+ REFTYPE( "online", misc ),
+ REFTYPE( "patent", patent ),
+ REFTYPE( "phdthesis", phds ),
+ REFTYPE( "periodical", periodical ),
+ REFTYPE( "proceedings", proceedings ),
+ REFTYPE( "standard", standard ),
+ REFTYPE( "techreport", report ),
+ REFTYPE( "unpublished", unpublished ),
+};
+
+int bibtex_nall = sizeof( bibtex_all ) / sizeof( variants );
diff --git a/support/texlab/crates/bibutils_sys/src/bibutils.c b/support/texlab/crates/bibutils_sys/src/bibutils.c
new file mode 100644
index 0000000000..cad703f9f3
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/bibutils.c
@@ -0,0 +1,49 @@
+/*
+ * bibutils.c
+ *
+ * Copyright (c) Chris Putnam 2005-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include "bibutils.h"
+#include "bibformats.h"
+
+int
+bibl_initparams( param *p, int readmode, int writemode, char *progname )
+{
+ int status;
+
+ switch ( readmode ) {
+ case BIBL_BIBTEXIN: status = bibtexin_initparams ( p, progname ); break;
+ case BIBL_BIBLATEXIN: status = biblatexin_initparams( p, progname ); break;
+ case BIBL_COPACIN: status = copacin_initparams ( p, progname ); break;
+ case BIBL_EBIIN: status = ebiin_initparams ( p, progname ); break;
+ case BIBL_ENDNOTEIN: status = endin_initparams ( p, progname ); break;
+ case BIBL_ENDNOTEXMLIN: status = endxmlin_initparams ( p, progname ); break;
+ case BIBL_MEDLINEIN: status = medin_initparams ( p, progname ); break;
+ case BIBL_MODSIN: status = modsin_initparams ( p, progname ); break;
+ case BIBL_NBIBIN: status = nbibin_initparams ( p, progname ); break;
+ case BIBL_RISIN: status = risin_initparams ( p, progname ); break;
+ case BIBL_WORDIN: status = wordin_initparams ( p, progname ); break;
+ default: status = BIBL_ERR_BADINPUT;
+ }
+
+ if ( status!=BIBL_OK ) return status;
+
+ switch ( writemode ) {
+ case BIBL_ADSABSOUT: status = adsout_initparams ( p, progname ); break;
+ case BIBL_BIBTEXOUT: status = bibtexout_initparams( p, progname ); break;
+ case BIBL_ENDNOTEOUT: status = endout_initparams ( p, progname ); break;
+ case BIBL_ISIOUT: status = isiout_initparams ( p, progname ); break;
+ case BIBL_MODSOUT: status = modsout_initparams ( p, progname ); break;
+ case BIBL_NBIBOUT: status = nbibout_initparams ( p, progname ); break;
+ case BIBL_RISOUT: status = risout_initparams ( p, progname ); break;
+ case BIBL_WORD2007OUT: status = wordout_initparams ( p, progname ); break;
+ default: status = BIBL_ERR_BADINPUT;
+ }
+
+ return status;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/bibutils.h b/support/texlab/crates/bibutils_sys/src/bibutils.h
new file mode 100644
index 0000000000..25258e5a78
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/bibutils.h
@@ -0,0 +1,145 @@
+/*
+ * bibutils.h
+ *
+ * Copyright (c) Chris Putnam 2005-2019
+ *
+ * Source code released under GPL version 2
+ *
+ */
+#ifndef BIBUTILS_H
+#define BIBUTILS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#include <stdio.h>
+#include "bibl.h"
+#include "slist.h"
+#include "charsets.h"
+#include "str_conv.h"
+
+#define BIBL_OK (0)
+#define BIBL_ERR_BADINPUT (-1)
+#define BIBL_ERR_MEMERR (-2)
+#define BIBL_ERR_CANTOPEN (-3)
+
+#define BIBL_FIRSTIN (100)
+#define BIBL_MODSIN (BIBL_FIRSTIN)
+#define BIBL_BIBTEXIN (BIBL_FIRSTIN+1)
+#define BIBL_RISIN (BIBL_FIRSTIN+2)
+#define BIBL_ENDNOTEIN (BIBL_FIRSTIN+3)
+#define BIBL_COPACIN (BIBL_FIRSTIN+4)
+#define BIBL_ISIIN (BIBL_FIRSTIN+5)
+#define BIBL_MEDLINEIN (BIBL_FIRSTIN+6)
+#define BIBL_ENDNOTEXMLIN (BIBL_FIRSTIN+7)
+#define BIBL_BIBLATEXIN (BIBL_FIRSTIN+8)
+#define BIBL_EBIIN (BIBL_FIRSTIN+9)
+#define BIBL_WORDIN (BIBL_FIRSTIN+10)
+#define BIBL_NBIBIN (BIBL_FIRSTIN+11)
+#define BIBL_LASTIN (BIBL_FIRSTIN+11)
+
+#define BIBL_FIRSTOUT (200)
+#define BIBL_MODSOUT (BIBL_FIRSTOUT)
+#define BIBL_BIBTEXOUT (BIBL_FIRSTOUT+1)
+#define BIBL_RISOUT (BIBL_FIRSTOUT+2)
+#define BIBL_ENDNOTEOUT (BIBL_FIRSTOUT+3)
+#define BIBL_ISIOUT (BIBL_FIRSTOUT+4)
+#define BIBL_WORD2007OUT (BIBL_FIRSTOUT+5)
+#define BIBL_ADSABSOUT (BIBL_FIRSTOUT+6)
+#define BIBL_NBIBOUT (BIBL_FIRSTOUT+7)
+#define BIBL_LASTOUT (BIBL_FIRSTOUT+7)
+
+#define BIBL_FORMAT_VERBOSE (1)
+#define BIBL_FORMAT_BIBOUT_FINALCOMMA (2)
+#define BIBL_FORMAT_BIBOUT_SINGLEDASH (4)
+#define BIBL_FORMAT_BIBOUT_WHITESPACE (8)
+#define BIBL_FORMAT_BIBOUT_BRACKETS (16)
+#define BIBL_FORMAT_BIBOUT_UPPERCASE (32)
+#define BIBL_FORMAT_BIBOUT_STRICTKEY (64)
+#define BIBL_FORMAT_BIBOUT_SHORTTITLE (128)
+#define BIBL_FORMAT_BIBOUT_DROPKEY (256)
+#define BIBL_FORMAT_MODSOUT_DROPKEY (512)
+
+#define BIBL_RAW_WITHCHARCONVERT (4)
+#define BIBL_RAW_WITHMAKEREFID (8)
+
+#define BIBL_CHARSET_UNKNOWN CHARSET_UNKNOWN
+#define BIBL_CHARSET_UNICODE CHARSET_UNICODE
+#define BIBL_CHARSET_GB18030 CHARSET_GB18030
+#define BIBL_CHARSET_DEFAULT CHARSET_DEFAULT
+#define BIBL_CHARSET_UTF8_DEFAULT CHARSET_UTF8_DEFAULT
+#define BIBL_CHARSET_BOM_DEFAULT CHARSET_BOM_DEFAULT
+
+#define BIBL_SRC_DEFAULT (0) /* value from program default */
+#define BIBL_SRC_FILE (1) /* value from file, priority over default */
+#define BIBL_SRC_USER (2) /* value from user, priority over file, default */
+
+#define BIBL_XMLOUT_FALSE STR_CONV_XMLOUT_FALSE
+#define BIBL_XMLOUT_TRUE STR_CONV_XMLOUT_TRUE
+#define BIBL_XMLOUT_ENTITIES STR_CONV_XMLOUT_ENTITIES
+
+typedef unsigned char uchar;
+
+typedef struct param {
+
+ int readformat;
+ int writeformat;
+
+ int charsetin;
+ uchar charsetin_src; /*BIBL_SRC_DEFAULT, BIBL_SRC_FILE, BIBL_SRC_USER*/
+ uchar latexin;
+ uchar utf8in;
+ uchar xmlin;
+ uchar nosplittitle;
+
+ int charsetout;
+ uchar charsetout_src; /* BIBL_SRC_PROG, BIBL_SRC_USER */
+ uchar latexout; /* If true, write Latex codes */
+ uchar utf8out; /* If true, write characters encoded by utf8 */
+ uchar utf8bom; /* If true, write utf8 byte-order-mark */
+ uchar xmlout; /* If true, write characters in XML entities */
+
+ int format_opts; /* options for specific formats */
+ int addcount; /* add reference count to reference id */
+ uchar output_raw;
+ uchar verbose;
+ uchar singlerefperfile;
+
+ slist asis; /* Names that shouldn't be mangled */
+ slist corps; /* Names that shouldn't be mangled-MODS corporation type */
+
+ char *progname;
+
+
+ int (*readf)(FILE*,char*,int,int*,str*,str*,int*);
+ int (*processf)(fields*,const char*,const char*,long,struct param*);
+ int (*cleanf)(bibl*,struct param*);
+ int (*typef) (fields*,const char*,int,struct param*);
+ int (*convertf)(fields*,fields*,int,struct param*);
+ void (*headerf)(FILE*,struct param*);
+ void (*footerf)(FILE*);
+ int (*assemblef)(fields*,fields*,struct param*,unsigned long);
+ int (*writef)(fields*,FILE*,struct param*,unsigned long);
+ variants *all;
+ int nall;
+
+
+} param;
+
+int bibl_initparams( param *p, int readmode, int writemode, char *progname );
+void bibl_freeparams( param *p );
+int bibl_readasis( param *p, char *filename );
+int bibl_addtoasis( param *p, char *entry );
+int bibl_readcorps( param *p, char *filename );
+int bibl_addtocorps( param *p, char *entry );
+int bibl_read( bibl *b, FILE *fp, char *filename, param *p );
+int bibl_write( bibl *b, FILE *fp, param *p );
+void bibl_reporterr( int err );
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif
+
diff --git a/support/texlab/crates/bibutils_sys/src/bltypes.c b/support/texlab/crates/bibutils_sys/src/bltypes.c
new file mode 100644
index 0000000000..c4e00a01d4
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/bltypes.c
@@ -0,0 +1,1071 @@
+/*
+ * bltypes.c
+ *
+ * Copyright (c) Chris Putnam 2008-2019
+ * Copyright (c) Johannes Wilm 2010-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+
+#include <stdio.h>
+#include "fields.h"
+#include "reftypes.h"
+
+/* Entry types for biblatex formatted bibliographies */
+
+/*
+ * Article in a journal, newspaper, other periodical
+ */
+static lookups article[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "editor", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editora", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorb", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorc", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editortype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editoratype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorbtype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorctype", "", BLT_SKIP, LEVEL_MAIN },
+ { "director", "DIRECTOR", PERSON, LEVEL_MAIN },
+ { "producer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "execproducer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "writer", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "redactor", "REDACTOR", PERSON, LEVEL_MAIN },
+ { "annotator", "ANNOTATOR", PERSON, LEVEL_MAIN },
+ { "commentator", "COMMENTATOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+ { "journal", "TITLE", TITLE, LEVEL_HOST },
+ { "journaltitle", "TITLE", TITLE, LEVEL_HOST },
+ { "journalsubtitle", "SUBTITLE", TITLE, LEVEL_HOST },
+ { "shortjournal", "SHORTTITLE", SIMPLE, LEVEL_HOST },
+ { "issuetitle", "TITLE", TITLE, LEVEL_SERIES }, /*WRONG*/
+ { "issuesubtitle", "SUBTITLE", TITLE, LEVEL_SERIES }, /*WRONG*/
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "origlanguage", "LANGUAGE", SIMPLE, LEVEL_ORIG },
+ { "origyear", "DATE:YEAR", SIMPLE, LEVEL_ORIG },
+ { "origdate", "DATE", SIMPLE, LEVEL_ORIG },
+ { "origtitle", "TITLE", SIMPLE, LEVEL_ORIG },
+ { "origlocation", "ADDRESS", SIMPLE, LEVEL_ORIG },
+ { "origpublisher", "PUBLISHER", SIMPLE, LEVEL_ORIG },
+ { "series", "PARTTITLE", SIMPLE, LEVEL_HOST },
+ { "volume", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "eid", "EID", SIMPLE, LEVEL_MAIN },
+ { "issue", "ISSUE", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/
+ { "day", "PARTDATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "month", "PARTDATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "year", "PARTDATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "pages", "PAGES", PAGES, LEVEL_MAIN },
+ { "version", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "issn", "ISSN", SIMPLE, LEVEL_HOST },
+ { "coden", "CODEN", SIMPLE, LEVEL_HOST },
+ { "abstract", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },
+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN }, /* WRONG */
+ { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN }, /* WRONG */
+ { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN }, /* WRONG */
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "entrysubtype", "", BLT_SUBTYPE, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|ARTICLE", ALWAYS, LEVEL_MAIN },
+ { "", "ISSUANCE|continuing", ALWAYS, LEVEL_HOST },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:BIBUTILS|journal article", DEFAULT, LEVEL_MAIN },
+ { "", "GENRE:MARC|periodical", DEFAULT, LEVEL_HOST }
+};
+
+/* Book */
+
+static lookups book[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "editor", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editora", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorb", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorc", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editortype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editoratype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorbtype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorctype", "", BLT_SKIP, LEVEL_MAIN },
+ { "director", "DIRECTOR", PERSON, LEVEL_MAIN },
+ { "producer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "execproducer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "writer", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "redactor", "REDACTOR", PERSON, LEVEL_MAIN },
+ { "annotator", "ANNOTATOR", PERSON, LEVEL_MAIN },
+ { "commentator", "COMMENTATOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "introduction", "INTROAUTHOR", PERSON, LEVEL_MAIN },
+ { "foreword", "INTROAUTHOR", PERSON, LEVEL_MAIN },
+ { "afterword", "AFTERAUTHOR", PERSON, LEVEL_MAIN },
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+ { "maintitle", "TITLE", TITLE, LEVEL_HOST },
+ { "mainsubtitle", "SUBTITLE", TITLE, LEVEL_HOST },
+ { "maintitleaddon", "TITLEADDON", TITLE, LEVEL_HOST },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/
+ { "origlanguage", "LANGUAGE", SIMPLE, LEVEL_ORIG },
+ { "origyear", "DATE:YEAR", SIMPLE, LEVEL_ORIG },
+ { "origdate", "DATE", SIMPLE, LEVEL_ORIG },
+ { "origtitle", "TITLE", SIMPLE, LEVEL_ORIG },
+ { "origlocation", "ADDRESS", SIMPLE, LEVEL_ORIG },
+ { "origpublisher", "PUBLISHER", SIMPLE, LEVEL_ORIG },
+ { "volume", "VOLUME", SIMPLE, LEVEL_HOST },
+ { "part", "PART", SIMPLE, LEVEL_HOST },
+ { "edition", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "volumes", "NUMVOLUMES", SIMPLE, LEVEL_HOST },
+ { "series", "TITLE", SIMPLE, LEVEL_HOST }, /* WRONG */
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "isbn", "ISBN", SIMPLE, LEVEL_MAIN },
+ { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN },
+ { "pages", "PAGES", PAGES, LEVEL_MAIN }, /* WRONG */
+ { "pagetotal", "PAGES:TOTAL", SIMPLE, LEVEL_MAIN },
+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },
+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN },
+ { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN },
+ { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|BOOK", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "ISSUANCE|monographic", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|book", ALWAYS, LEVEL_MAIN }
+};
+
+/* Booklet */
+
+static lookups booklet[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "editor", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editora", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorb", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorc", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editortype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editoratype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorbtype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorctype", "", BLT_SKIP, LEVEL_MAIN },
+ { "director", "DIRECTOR", PERSON, LEVEL_MAIN },
+ { "producer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "execproducer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "writer", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "type", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN },
+ { "pages", "PAGES", PAGES, LEVEL_MAIN },
+ { "pagetotal", "PAGES:TOTAL", SIMPLE, LEVEL_MAIN },
+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },
+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN },
+ { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN },
+ { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|BOOK", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "ISSUANCE|monographic", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|book", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups collection[] = {
+ { "editor", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editora", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorb", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorc", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editortype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editoratype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorbtype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorctype", "", BLT_SKIP, LEVEL_MAIN },
+ { "director", "DIRECTOR", PERSON, LEVEL_MAIN },
+ { "producer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "execproducer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "writer", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "redactor", "REDACTOR", PERSON, LEVEL_MAIN },
+ { "annotator", "ANNOTATOR", PERSON, LEVEL_MAIN },
+ { "commentator", "COMMENTATOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/
+ { "introduction", "INTROAUTHOR", PERSON, LEVEL_MAIN },
+ { "foreword", "INTROAUTHOR", PERSON, LEVEL_MAIN },
+ { "afterword", "AFTERAUTHOR", PERSON, LEVEL_MAIN },
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+ { "maintitle", "TITLE", TITLE, LEVEL_HOST },
+ { "mainsubtitle", "SUBTITLE", TITLE, LEVEL_HOST },
+ { "maintitleaddon", "TITLEADDON", TITLE, LEVEL_HOST },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "origlanguage", "LANGUAGE", SIMPLE, LEVEL_ORIG },
+ { "origyear", "DATE:YEAR", SIMPLE, LEVEL_ORIG },
+ { "origdate", "DATE", SIMPLE, LEVEL_ORIG },
+ { "origtitle", "TITLE", SIMPLE, LEVEL_ORIG },
+ { "origlocation", "ADDRESS", SIMPLE, LEVEL_ORIG },
+ { "origpublisher", "PUBLISHER", SIMPLE, LEVEL_ORIG },
+ { "volume", "VOLUME", SIMPLE, LEVEL_HOST },
+ { "part", "PART", SIMPLE, LEVEL_HOST },
+ { "edition", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "volumes", "NUMVOLUMES", SIMPLE, LEVEL_HOST },
+ { "series", "TITLE", SIMPLE, LEVEL_HOST },
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "isbn", "ISBN", SIMPLE, LEVEL_MAIN },
+ { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN },
+ { "pages", "PAGES", PAGES, LEVEL_MAIN },
+ { "pagetotal", "PAGES:TOTAL", SIMPLE, LEVEL_MAIN },
+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },
+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN },
+ { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN },
+ { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|BOOK", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "ISSUANCE|monographic", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|book", ALWAYS, LEVEL_MAIN }
+};
+
+/* Part of a book (e.g. chapter or section) */
+
+static lookups inbook[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "editor", "EDITOR", BLT_EDITOR, LEVEL_HOST },
+ { "editora", "EDITOR", BLT_EDITOR, LEVEL_HOST },
+ { "editorb", "EDITOR", BLT_EDITOR, LEVEL_HOST },
+ { "editorc", "EDITOR", BLT_EDITOR, LEVEL_HOST },
+ { "editortype", "", BLT_SKIP, LEVEL_HOST },
+ { "editoratype", "", BLT_SKIP, LEVEL_HOST },
+ { "editorbtype", "", BLT_SKIP, LEVEL_HOST },
+ { "editorctype", "", BLT_SKIP, LEVEL_HOST },
+ { "director", "DIRECTOR", PERSON, LEVEL_HOST },
+ { "producer", "PRODUCER", PERSON, LEVEL_HOST },
+ { "execproducer", "PRODUCER", PERSON, LEVEL_HOST },
+ { "writer", "AUTHOR", PERSON, LEVEL_HOST },
+ { "redactor", "REDACTOR", PERSON, LEVEL_HOST },
+ { "annotator", "ANNOTATOR", PERSON, LEVEL_HOST },
+ { "commentator", "COMMENTATOR", PERSON, LEVEL_HOST },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_HOST },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/
+ { "introduction", "INTROAUTHOR", PERSON, LEVEL_HOST },
+ { "foreword", "INTROAUTHOR", PERSON, LEVEL_HOST },
+ { "afterword", "AFTERAUTHOR", PERSON, LEVEL_HOST },
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+ { "booktitle", "TITLE", TITLE, LEVEL_HOST },
+ { "booksubtitle", "SUBTITLE", TITLE, LEVEL_HOST },
+ { "booktitleaddon", "TITLEADDON", TITLE, LEVEL_HOST },
+ { "bookauthor", "AUTHOR", PERSON, LEVEL_HOST },
+ { "maintitle", "TITLE", TITLE, LEVEL_SERIES },
+ { "mainsubtitle", "SUBTITLE", TITLE, LEVEL_SERIES },
+ { "maintitleaddon", "TITLEADDON", TITLE, LEVEL_SERIES },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "origlanguage", "LANGUAGE", SIMPLE, LEVEL_ORIG },
+ { "origyear", "DATE:YEAR", SIMPLE, LEVEL_ORIG },
+ { "origdate", "DATE", SIMPLE, LEVEL_ORIG },
+ { "origtitle", "TITLE", SIMPLE, LEVEL_ORIG },
+ { "origlocation", "ADDRESS", SIMPLE, LEVEL_ORIG },
+ { "origpublisher", "PUBLISHER", SIMPLE, LEVEL_ORIG },
+ { "volume", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "pages", "PAGES", PAGES, LEVEL_MAIN },
+ { "part", "PART", SIMPLE, LEVEL_HOST },
+ { "edition", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "volumes", "NUMVOLUMES", SIMPLE, LEVEL_HOST },
+ { "series", "TITLE", SIMPLE, LEVEL_SERIES+1 }, /* WRONG */
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "isbn", "ISBN", SIMPLE, LEVEL_HOST },
+ { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN },
+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },
+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN },
+ { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN },
+ { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|INBOOK", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "ISSUANCE|monographic", ALWAYS, LEVEL_HOST },
+ { "", "GENRE:BIBUTILS|book chapter", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|book", ALWAYS, LEVEL_HOST }
+};
+
+/* incollection */
+
+static lookups incollection[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "edition", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "introduction", "INTROAUTHOR", PERSON, LEVEL_HOST },
+ { "foreword", "INTROAUTHOR", PERSON, LEVEL_HOST },
+ { "afterword", "AFTERAUTHOR", PERSON, LEVEL_HOST },
+ { "bookauthor", "AUTHOR", PERSON, LEVEL_HOST },
+ { "booktitle", "TITLE", TITLE, LEVEL_HOST },
+ { "booksubtitle", "SUBTITLE", TITLE, LEVEL_HOST },
+ { "booktitleaddon", "TITLEADDON", TITLE, LEVEL_HOST },
+ { "editor", "EDITOR", BLT_EDITOR, LEVEL_HOST },
+ { "editora", "EDITOR", BLT_EDITOR, LEVEL_HOST },
+ { "editorb", "EDITOR", BLT_EDITOR, LEVEL_HOST },
+ { "editorc", "EDITOR", BLT_EDITOR, LEVEL_HOST },
+ { "editortype", "", BLT_SKIP, LEVEL_HOST },
+ { "editoratype", "", BLT_SKIP, LEVEL_HOST },
+ { "editorbtype", "", BLT_SKIP, LEVEL_HOST },
+ { "editorctype", "", BLT_SKIP, LEVEL_HOST },
+ { "director", "DIRECTOR", PERSON, LEVEL_HOST },
+ { "producer", "PRODUCER", PERSON, LEVEL_HOST },
+ { "execproducer", "PRODUCER", PERSON, LEVEL_HOST },
+ { "writer", "AUTHOR", PERSON, LEVEL_HOST },
+ { "redactor", "REDACTOR", PERSON, LEVEL_HOST },
+ { "annotator", "ANNOTATOR", PERSON, LEVEL_HOST },
+ { "commentator", "COMMENTATOR", PERSON, LEVEL_HOST },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_HOST },
+ { "volume", "VOLUME", SIMPLE, LEVEL_HOST },
+ { "part", "PART", SIMPLE, LEVEL_HOST },
+ { "volumes", "NUMVOLUMES", SIMPLE, LEVEL_HOST },
+
+ { "maintitle", "TITLE", TITLE, LEVEL_SERIES },
+ { "mainsubtitle", "SUBTITLE", TITLE, LEVEL_SERIES },
+ { "maintitleaddon", "TITLEADDON", TITLE, LEVEL_SERIES },
+
+ { "series", "TITLE", SIMPLE, LEVEL_SERIES+1 }, /* WRONG */
+
+ { "origlanguage", "LANGUAGE", SIMPLE, LEVEL_ORIG },
+ { "origyear", "DATE:YEAR", SIMPLE, LEVEL_ORIG },
+ { "origdate", "DATE", SIMPLE, LEVEL_ORIG },
+ { "origtitle", "TITLE", SIMPLE, LEVEL_ORIG },
+ { "origlocation", "ADDRESS", SIMPLE, LEVEL_ORIG },
+ { "origpublisher", "PUBLISHER", SIMPLE, LEVEL_ORIG },
+
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_HOST },
+ { "location", "ADDRESS", SIMPLE, LEVEL_HOST },
+ { "isbn", "ISBN", SIMPLE, LEVEL_MAIN },
+ { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN },
+ { "pages", "PAGES", PAGES, LEVEL_MAIN }, /* WRONG */
+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },
+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN },
+ { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN },
+ { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|INCOLLECTION", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "ISSUANCE|monographic", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:BIBUTILS|collection", ALWAYS, LEVEL_HOST }
+};
+
+/* inproceedings */
+
+static lookups inproceedings[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "editor", "EDITOR", BLT_EDITOR, LEVEL_HOST },
+ { "editora", "EDITOR", BLT_EDITOR, LEVEL_HOST },
+ { "editorb", "EDITOR", BLT_EDITOR, LEVEL_HOST },
+ { "editorc", "EDITOR", BLT_EDITOR, LEVEL_HOST },
+ { "editortype", "", BLT_SKIP, LEVEL_HOST },
+ { "editoratype", "", BLT_SKIP, LEVEL_HOST },
+ { "editorbtype", "", BLT_SKIP, LEVEL_HOST },
+ { "editorctype", "", BLT_SKIP, LEVEL_HOST },
+ { "director", "DIRECTOR", PERSON, LEVEL_HOST },
+ { "producer", "PRODUCER", PERSON, LEVEL_HOST },
+ { "execproducer", "PRODUCER", PERSON, LEVEL_HOST },
+ { "writer", "AUTHOR", PERSON, LEVEL_HOST },
+ { "redactor", "REDACTOR", PERSON, LEVEL_HOST },
+ { "annotator", "ANNOTATOR", PERSON, LEVEL_HOST },
+ { "commentator", "COMMENTATOR", PERSON, LEVEL_HOST },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_HOST },
+ { "eventtitle", "EVENT:CONF", SIMPLE, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/
+ { "introduction", "INTROAUTHOR", PERSON, LEVEL_HOST },
+ { "foreword", "INTROAUTHOR", PERSON, LEVEL_HOST },
+ { "afterword", "AFTERAUTHOR", PERSON, LEVEL_HOST },
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+
+ { "booktitle", "TITLE", TITLE, LEVEL_HOST },
+ { "booksubtitle", "SUBTITLE", TITLE, LEVEL_HOST },
+ { "booktitleaddon", "TITLEADDON", TITLE, LEVEL_HOST },
+
+ { "maintitle", "TITLE", TITLE, LEVEL_SERIES },
+ { "mainsubtitle", "SUBTITLE", TITLE, LEVEL_SERIES },
+ { "maintitleaddon", "TITLEADDON", TITLE, LEVEL_SERIES },
+
+ { "series", "TITLE", SIMPLE, LEVEL_SERIES+1 },
+
+ { "venue", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "organization", "ORGANIZER:CORP", SIMPLE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "origlanguage", "LANGUAGE", SIMPLE, LEVEL_ORIG },
+ { "origdate", "DATE", SIMPLE, LEVEL_ORIG },
+ { "origyear", "DATE:YEAR", SIMPLE, LEVEL_ORIG },
+ { "origtitle", "TITLE", SIMPLE, LEVEL_ORIG },
+ { "origlocation", "ADDRESS", SIMPLE, LEVEL_ORIG },
+ { "origpublisher", "PUBLISHER", SIMPLE, LEVEL_ORIG },
+ { "volume", "VOLUME", SIMPLE, LEVEL_HOST },
+ { "part", "PART", SIMPLE, LEVEL_HOST },
+ { "edition", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "volumes", "NUMVOLUMES", SIMPLE, LEVEL_HOST },
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_HOST },
+ { "location", "ADDRESS", SIMPLE, LEVEL_HOST },
+ { "isbn", "ISBN", SIMPLE, LEVEL_MAIN },
+ { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN },
+ { "pages", "PAGES", PAGES, LEVEL_MAIN }, /* WRONG */
+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },
+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN },
+ { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN },
+ { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|INPROCEEDINGS", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "ISSUANCE|monographic", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|conference publication", ALWAYS, LEVEL_HOST }
+};
+
+static lookups manual[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "editor", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editora", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorb", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorc", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editortype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editoratype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorbtype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorctype", "", BLT_SKIP, LEVEL_MAIN },
+ { "director", "DIRECTOR", PERSON, LEVEL_MAIN },
+ { "producer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "execproducer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "writer", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "redactor", "REDACTOR", PERSON, LEVEL_MAIN },
+ { "annotator", "ANNOTATOR", PERSON, LEVEL_MAIN },
+ { "commentator", "COMMENTATOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/
+ { "introduction", "INTROAUTHOR", PERSON, LEVEL_MAIN },
+ { "foreword", "INTROAUTHOR", PERSON, LEVEL_MAIN },
+ { "afterword", "AFTERAUTHOR", PERSON, LEVEL_MAIN },
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "edition", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "version", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "type", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "series", "TITLE", SIMPLE, LEVEL_HOST },
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "organization", "ORGANIZER:CORP", SIMPLE, LEVEL_MAIN },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "isbn", "ISBN", SIMPLE, LEVEL_MAIN },
+ { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN },
+ { "pages", "PAGES", PAGES, LEVEL_MAIN },
+ { "pagetotal", "PAGES:TOTAL", SIMPLE, LEVEL_MAIN },
+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },
+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?????????", SIMPLE, LEVEL_MAIN },
+ { "urlmonth", "?????????", SIMPLE, LEVEL_MAIN },
+ { "urlyear", "?????????", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|REPORT", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|instruction", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups misc[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "editor", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editora", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorb", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorc", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editortype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editoratype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorbtype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorctype", "", BLT_SKIP, LEVEL_MAIN },
+ { "director", "DIRECTOR", PERSON, LEVEL_MAIN },
+ { "producer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "execproducer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "writer", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "version", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "type", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "organization", "ORGANIZER:CORP", SIMPLE, LEVEL_MAIN },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },
+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?????????", SIMPLE, LEVEL_MAIN },
+ { "urlmonth", "?????????", SIMPLE, LEVEL_MAIN },
+ { "urlyear", "?????????", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|MISC", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:BIBUTILS|miscellaneous", ALWAYS, LEVEL_MAIN },
+};
+
+static lookups online[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "editor", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editora", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorb", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorc", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editortype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editoratype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorbtype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorctype", "", BLT_SKIP, LEVEL_MAIN },
+ { "director", "DIRECTOR", PERSON, LEVEL_MAIN },
+ { "producer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "execproducer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "writer", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "version", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "type", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "organization", "ORGANIZER:CORP", SIMPLE, LEVEL_MAIN },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },
+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?????????", SIMPLE, LEVEL_MAIN },
+ { "urlmonth", "?????????", SIMPLE, LEVEL_MAIN },
+ { "urlyear", "?????????", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "RESOURCE|software, multimedia", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|web page", ALWAYS, LEVEL_MAIN },
+};
+
+static lookups patent[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "holder", "ASSIGNEE", PERSON, LEVEL_MAIN },
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "version", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "type", "GENRE:UKNOWN", GENRE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "organization", "ORGANIZER:CORP", SIMPLE, LEVEL_MAIN },
+ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?????????", SIMPLE, LEVEL_MAIN },
+ { "urlmonth", "?????????", SIMPLE, LEVEL_MAIN },
+ { "urlyear", "?????????", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|PATENT", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|patent", ALWAYS, LEVEL_MAIN },
+};
+
+/*
+ * An entire issue of a periodical
+ *
+ * "The title of the periodical is given in the title field. If the issue has
+ * its own title in addition to the main title of the periodical, it goes in
+ * the issuetitle field. The editor is omissible..."
+ */
+static lookups periodical[] = {
+ { "editor", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editora", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorb", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorc", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editortype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editoratype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorbtype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorctype", "", BLT_SKIP, LEVEL_MAIN },
+ { "director", "DIRECTOR", PERSON, LEVEL_MAIN },
+ { "producer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "execproducer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "writer", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "title", "TITLE", TITLE, LEVEL_HOST },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_HOST },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_HOST },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_HOST },
+ { "issuetitle", "TITLE", TITLE, LEVEL_MAIN },
+ { "issuesubtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "issuetitleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "series", "TITLE", SIMPLE, LEVEL_SERIES },
+ { "volume", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "issue", "ISSUE", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/
+ { "day", "PARTDATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "month", "PARTDATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "year", "PARTDATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "pages", "PAGES", PAGES, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "issn", "ISSN", SIMPLE, LEVEL_HOST },
+ { "coden", "CODEN", SIMPLE, LEVEL_HOST },
+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },
+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?????", SIMPLE, LEVEL_MAIN }, /* WRONG */
+ { "urlmonth", "?????", SIMPLE, LEVEL_MAIN }, /* WRONG */
+ { "urlyear", "?????", SIMPLE, LEVEL_MAIN }, /* WRONG */
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "ISSUANCE|continuing", ALWAYS, LEVEL_HOST },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|issue", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|periodical", ALWAYS, LEVEL_HOST }
+};
+
+static lookups proceedings[] = {
+ { "editor", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editora", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorb", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editorc", "EDITOR", BLT_EDITOR, LEVEL_MAIN },
+ { "editortype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editoratype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorbtype", "", BLT_SKIP, LEVEL_MAIN },
+ { "editorctype", "", BLT_SKIP, LEVEL_MAIN },
+ { "director", "DIRECTOR", PERSON, LEVEL_MAIN },
+ { "producer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "execproducer", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "writer", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "redactor", "REDACTOR", PERSON, LEVEL_MAIN },
+ { "annotator", "ANNOTATOR", PERSON, LEVEL_MAIN },
+ { "commentator", "COMMENTATOR", PERSON, LEVEL_MAIN },
+ { "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "eventtitle", "EVENT:CONF", SIMPLE, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/
+ { "introduction", "INTROAUTHOR", PERSON, LEVEL_MAIN },
+ { "foreword", "INTROAUTHOR", PERSON, LEVEL_MAIN },
+ { "afterword", "AFTERAUTHOR", PERSON, LEVEL_MAIN },
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+ { "maintitle", "TITLE", TITLE, LEVEL_HOST },
+ { "mainsubtitle", "SUBTITLE", TITLE, LEVEL_HOST },
+ { "maintitleaddon", "TITLEADDON", TITLE, LEVEL_HOST },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "origlanguage", "LANGUAGE", SIMPLE, LEVEL_ORIG },
+ { "origdate", "DATE", SIMPLE, LEVEL_ORIG },
+ { "origyear", "DATE:YEAR", SIMPLE, LEVEL_ORIG },
+ { "origtitle", "TITLE", SIMPLE, LEVEL_ORIG },
+ { "origlocation", "ADDRESS", SIMPLE, LEVEL_ORIG },
+ { "origpublisher", "PUBLISHER", SIMPLE, LEVEL_ORIG },
+ { "volume", "VOLUME", SIMPLE, LEVEL_HOST },
+ { "part", "PART", SIMPLE, LEVEL_HOST },
+ { "edition", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "volumes", "NUMVOLUMES", SIMPLE, LEVEL_HOST },
+ { "series", "TITLE", SIMPLE, LEVEL_SERIES },
+ { "number", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "organization", "ORGANIZER:CORP", SIMPLE, LEVEL_MAIN },
+ { "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "isbn", "ISBN", SIMPLE, LEVEL_MAIN },
+ { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN },
+ { "pages", "PAGES", SIMPLE, LEVEL_MAIN },
+ { "pagetotal", "PAGES:TOTAL", SIMPLE, LEVEL_MAIN },
+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },
+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?????????", SIMPLE, LEVEL_MAIN },
+ { "urlmonth", "?????????", SIMPLE, LEVEL_MAIN },
+ { "urlyear", "?????????", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|BOOK", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|conference publication", ALWAYS, LEVEL_MAIN }
+};
+
+/* Technical reports */
+static lookups report[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+ { "series", "TITLE", TITLE, LEVEL_HOST },
+ { "type", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "institution", "SPONSOR:ASIS", SIMPLE, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "number", "REPORTNUMBER", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "version", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "isrn", "ISRN", SIMPLE, LEVEL_MAIN },
+ { "chapter", "CHAPTER", SIMPLE, LEVEL_MAIN },
+ { "pages", "PAGES", SIMPLE, LEVEL_MAIN },
+ { "pagetotal", "PAGES:TOTAL", SIMPLE, LEVEL_MAIN },
+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "eprint", "", BT_EPRINT, LEVEL_MAIN },
+ { "eprinttype", "", BT_EPRINT, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?????????", SIMPLE, LEVEL_MAIN },
+ { "urlmonth", "?????????", SIMPLE, LEVEL_MAIN },
+ { "urlyear", "?????????", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|REPORT", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|technical report", ALWAYS, LEVEL_MAIN },
+};
+
+/* Unpublished */
+static lookups unpublished[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urlday", "?????????", SIMPLE, LEVEL_MAIN },
+ { "urlmonth", "?????????", SIMPLE, LEVEL_MAIN },
+ { "urlyear", "?????????", SIMPLE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "addendum", "ADDENDUM", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|BOOK", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:BIBUTILS|unpublished", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups thesis[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/
+ { "type", "", BLT_THESIS_TYPE, LEVEL_MAIN },
+ { "institution", "DEGREEGRANTOR:ASIS", SIMPLE, LEVEL_MAIN },
+ { "school", "DEGREEGRANTOR:ASIS", BLT_SCHOOL, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN },
+ { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN },
+ { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|THESIS", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|thesis", ALWAYS, LEVEL_MAIN },
+};
+
+static lookups phdthesis[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/
+ { "type", "", BLT_THESIS_TYPE, LEVEL_MAIN },
+ { "institution", "DEGREEGRANTOR:ASIS", SIMPLE, LEVEL_MAIN },
+ { "school", "DEGREEGRANTOR:ASIS", BLT_SCHOOL, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN },
+ { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN },
+ { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|THESIS", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|thesis", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:BIBUTILS|Ph.D. thesis",DEFAULT, LEVEL_MAIN },
+};
+
+static lookups mastersthesis[] = {
+ { "author", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "title", "TITLE", TITLE, LEVEL_MAIN },
+ { "subtitle", "SUBTITLE", TITLE, LEVEL_MAIN },
+ { "titleaddon", "TITLEADDON", TITLE, LEVEL_MAIN },
+ { "shorttitle", "SHORTTITLE", SIMPLE, LEVEL_MAIN },
+ { "year", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "month", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "day", "DATE:DAY", SIMPLE, LEVEL_MAIN },
+ { "date", "DATE", SIMPLE, LEVEL_MAIN }, /*WRONG*/
+ { "type", "", BLT_THESIS_TYPE, LEVEL_MAIN },
+ { "institution", "DEGREEGRANTOR:ASIS", SIMPLE, LEVEL_MAIN },
+ { "school", "DEGREEGRANTOR:ASIS", BLT_SCHOOL, LEVEL_MAIN },
+ { "doi", "DOI", SIMPLE, LEVEL_MAIN },
+ { "howpublished", "", HOWPUBLISHED, LEVEL_MAIN },
+ { "url", "", URL, LEVEL_MAIN },
+ { "urldate", "URLDATE", SIMPLE, LEVEL_MAIN },
+ { "urlday", "?urlday?", SIMPLE, LEVEL_MAIN },
+ { "urlmonth", "?urlmonth?", SIMPLE, LEVEL_MAIN },
+ { "urlyear", "?urlyear?", SIMPLE, LEVEL_MAIN },
+ { "language", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "location", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "note", "NOTES", NOTES, LEVEL_MAIN },
+ { "annote", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "annotation", "ANNOTATION", SIMPLE, LEVEL_MAIN },
+ { "address", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "hyphenation", "LANGCATALOG", SIMPLE, LEVEL_MAIN },
+ { "pubstate", "PUBSTATE", SIMPLE, LEVEL_MAIN },
+ { "refnum", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "", "INTERNAL_TYPE|THESIS", ALWAYS, LEVEL_MAIN },
+ { "", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:MARC|thesis", ALWAYS, LEVEL_MAIN },
+ { "", "GENRE:BIBUTILS|Masters thesis", DEFAULT, LEVEL_MAIN },
+};
+
+#define ORIG(a) ( &(a[0]) )
+#define SIZE(a) ( sizeof( a ) / sizeof( lookups ) )
+#define REFTYPE(a,b) { a, ORIG(b), SIZE(b) }
+
+variants biblatex_all[] = {
+ REFTYPE( "article", article ),
+ REFTYPE( "suppperiodical", article ),
+ REFTYPE( "booklet", booklet ),
+ REFTYPE( "book", book ),
+ REFTYPE( "collection", collection ),
+ REFTYPE( "reference", collection ),
+ REFTYPE( "mvreference", collection ),
+ REFTYPE( "inbook", inbook ),
+ REFTYPE( "suppbook", inbook ),
+ REFTYPE( "incollection", incollection ),
+ REFTYPE( "inreference", incollection ),
+ REFTYPE( "suppcollection", incollection ),
+ REFTYPE( "inproceedings", inproceedings ),
+ REFTYPE( "conference", inproceedings ), /* legacy */
+ REFTYPE( "manual", manual ),
+ REFTYPE( "misc", misc ),
+ REFTYPE( "online", online ),
+ REFTYPE( "electronic", online ), /* legacy */
+ REFTYPE( "www", online ), /* jurabib compatibility */
+ REFTYPE( "patent", patent ),
+ REFTYPE( "periodical", periodical ),
+ REFTYPE( "proceedings", proceedings ),
+ REFTYPE( "mvproceedings", proceedings ),
+ REFTYPE( "report", report ),
+ REFTYPE( "techreport", report ),
+/* REFTYPE( "set", set ), */
+ REFTYPE( "thesis", thesis ),
+ REFTYPE( "phdthesis", phdthesis ), /* legacy */
+ REFTYPE( "mastersthesis", mastersthesis ), /* legacy */
+ REFTYPE( "unpublished", unpublished ),
+};
+
+int biblatex_nall = sizeof( biblatex_all ) / sizeof( variants );
diff --git a/support/texlab/crates/bibutils_sys/src/bu_auth.c b/support/texlab/crates/bibutils_sys/src/bu_auth.c
new file mode 100644
index 0000000000..f0c9194ca6
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/bu_auth.c
@@ -0,0 +1,63 @@
+/*
+ * bu_auth.c
+ *
+ * Copyright (c) Chris Putnam 2017-2019
+ *
+ * Source code released under the GPL version 2
+ */
+#include <string.h>
+#include "bu_auth.h"
+#include "msvc_fix.h"
+
+const char *bu_genre[] = {
+ "academic journal",
+ "airtel",
+ "collection",
+ "communication",
+ "Diploma thesis",
+ "Doctoral thesis",
+ "electronic",
+ "e-mail communication"
+ "Habilitation thesis",
+ "handwritten note",
+ "hearing",
+ "journal article",
+ "Licentiate thesis",
+ "magazine",
+ "magazine article",
+ "manuscript",
+ "Masters thesis",
+ "memo",
+ "miscellaneous",
+ "newspaper article",
+ "pamphlet",
+ "Ph.D. thesis",
+ "press release",
+ "teletype",
+ "television broadcast",
+ "unpublished"
+};
+int nbu_genre = sizeof( bu_genre ) / sizeof( const char *);
+
+static int
+position_in_list( const char *list[], int nlist, const char *query )
+{
+ int i;
+ for ( i=0; i<nlist; ++i ) {
+ if ( !strcasecmp( query, list[i] ) ) return i;
+ }
+ return -1;
+}
+
+int
+bu_findgenre( const char *query )
+{
+ return position_in_list( bu_genre, nbu_genre, query );
+}
+
+int
+is_bu_genre( const char *query )
+{
+ if ( bu_findgenre( query ) != -1 ) return 1;
+ return 0;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/bu_auth.h b/support/texlab/crates/bibutils_sys/src/bu_auth.h
new file mode 100644
index 0000000000..d4053c0b5e
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/bu_auth.h
@@ -0,0 +1,17 @@
+/*
+ * bu_auth.h
+ *
+ * Recognize added vocabulary for genre terms added by bibutils.
+ *
+ * Copyright (c) Chris Putnam 2017-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef BU_AUTH_H
+#define BU_AUTH_H
+
+int bu_findgenre( const char *query );
+int is_bu_genre( const char *query );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/charsets.c b/support/texlab/crates/bibutils_sys/src/charsets.c
new file mode 100644
index 0000000000..828d1b8a43
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/charsets.c
@@ -0,0 +1,34627 @@
+/*
+ * charsets.c
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "charsets.h"
+#include "msvc_fix.h"
+
+#define ARRAYSIZE( a ) ( sizeof(a) / sizeof(a[0]) )
+#define ARRAYSTART( a ) ( &(a[0]) )
+#define CHARSETARRAY( a ) ARRAYSTART( a ), ARRAYSIZE( a )
+
+#define CHARSET_NALIASES ( 7 )
+
+typedef struct convert_t {
+ unsigned int index, unicode;
+} convert_t;
+
+typedef struct allcharconvert_t {
+ char cmdname[15];
+ char descriptname[200];
+ char aliases[CHARSET_NALIASES][25];
+ convert_t *table;
+ int ntable;
+} allcharconvert_t;
+
+static convert_t adobeiso[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 305 },
+ { 145, 768 },
+ { 146, 769 },
+ { 147, 770 },
+ { 148, 771 },
+ { 149, 772 },
+ { 150, 774 },
+ { 151, 775 },
+ { 152, 776 },
+ { 153, 153 },
+ { 154, 778 },
+ { 155, 807 },
+ { 156, 156 },
+ { 157, 779 },
+ { 158, 808 },
+ { 159, 780 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t adobestd[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 8260 },
+ { 165, 165 },
+ { 166, 402 },
+ { 167, 167 },
+ { 168, 164 },
+ { 169, 169 },
+ { 170, 8220 },
+ { 171, 171 },
+ { 172, 8249 },
+ { 173, 8250 },
+ { 174, 64257 },
+ { 175, 64258 },
+ { 176, 176 },
+ { 177, 8211 },
+ { 178, 8224 },
+ { 179, 8225 },
+ { 180, 183 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 8729 },
+ { 184, 8218 },
+ { 185, 8222 },
+ { 186, 8221 },
+ { 187, 187 },
+ { 188, 8943 },
+ { 189, 8240 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 768 },
+ { 194, 180 },
+ { 195, 770 },
+ { 196, 771 },
+ { 197, 175 },
+ { 198, 728 },
+ { 199, 729 },
+ { 200, 168 },
+ { 201, 201 },
+ { 202, 176 },
+ { 203, 184 },
+ { 204, 204 },
+ { 205, 733 },
+ { 206, 731 },
+ { 207, 711 },
+ { 208, 8212 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 198 },
+ { 226, 226 },
+ { 227, 170 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 321 },
+ { 233, 216 },
+ { 234, 338 },
+ { 235, 186 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 230 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 305 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 322 },
+ { 249, 248 },
+ { 250, 339 },
+ { 251, 223 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 225 },
+ { 97, 227 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 245 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t adobesym[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 8242 },
+ { 163, 8804 },
+ { 164, 8725 },
+ { 165, 8734 },
+ { 166, 402 },
+ { 167, 9827 },
+ { 168, 9830 },
+ { 169, 9829 },
+ { 170, 9824 },
+ { 171, 8596 },
+ { 172, 8592 },
+ { 173, 8593 },
+ { 174, 8594 },
+ { 175, 8595 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 8243 },
+ { 179, 8805 },
+ { 180, 215 },
+ { 181, 8733 },
+ { 182, 8706 },
+ { 183, 8729 },
+ { 184, 247 },
+ { 185, 8800 },
+ { 186, 8801 },
+ { 187, 8776 },
+ { 188, 8943 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 8709 },
+ { 199, 8745 },
+ { 200, 8746 },
+ { 201, 8835 },
+ { 202, 8839 },
+ { 203, 203 },
+ { 204, 8834 },
+ { 205, 8838 },
+ { 206, 8712 },
+ { 207, 207 },
+ { 208, 8736 },
+ { 209, 8711 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 8719 },
+ { 214, 8730 },
+ { 215, 8901 },
+ { 216, 172 },
+ { 217, 8743 },
+ { 218, 8744 },
+ { 219, 8660 },
+ { 220, 8656 },
+ { 221, 8657 },
+ { 222, 8658 },
+ { 223, 8659 },
+ { 224, 9674 },
+ { 225, 9001 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 8721 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 9002 },
+ { 242, 8747 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 220 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t applecro[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 196 },
+ { 129, 197 },
+ { 130, 199 },
+ { 131, 201 },
+ { 132, 209 },
+ { 133, 214 },
+ { 134, 220 },
+ { 135, 225 },
+ { 136, 224 },
+ { 137, 226 },
+ { 138, 228 },
+ { 139, 227 },
+ { 140, 229 },
+ { 141, 231 },
+ { 142, 233 },
+ { 143, 232 },
+ { 144, 234 },
+ { 145, 235 },
+ { 146, 237 },
+ { 147, 236 },
+ { 148, 238 },
+ { 149, 239 },
+ { 150, 241 },
+ { 151, 243 },
+ { 152, 242 },
+ { 153, 244 },
+ { 154, 246 },
+ { 155, 245 },
+ { 156, 250 },
+ { 157, 249 },
+ { 158, 251 },
+ { 159, 252 },
+ { 160, 8224 },
+ { 161, 176 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 167 },
+ { 165, 8729 },
+ { 166, 182 },
+ { 167, 223 },
+ { 168, 174 },
+ { 169, 352 },
+ { 170, 8482 },
+ { 171, 180 },
+ { 172, 168 },
+ { 173, 8800 },
+ { 174, 381 },
+ { 175, 216 },
+ { 176, 8734 },
+ { 177, 177 },
+ { 178, 8804 },
+ { 179, 8805 },
+ { 180, 916 },
+ { 181, 181 },
+ { 182, 8706 },
+ { 183, 8721 },
+ { 184, 8719 },
+ { 185, 353 },
+ { 186, 8747 },
+ { 187, 170 },
+ { 188, 186 },
+ { 189, 937 },
+ { 190, 382 },
+ { 191, 248 },
+ { 192, 191 },
+ { 193, 161 },
+ { 194, 172 },
+ { 195, 8730 },
+ { 196, 402 },
+ { 197, 8776 },
+ { 198, 262 },
+ { 199, 171 },
+ { 200, 268 },
+ { 201, 8943 },
+ { 202, 160 },
+ { 203, 192 },
+ { 204, 195 },
+ { 205, 213 },
+ { 206, 338 },
+ { 207, 339 },
+ { 208, 272 },
+ { 209, 8212 },
+ { 210, 8220 },
+ { 211, 8221 },
+ { 212, 8216 },
+ { 213, 8217 },
+ { 214, 247 },
+ { 215, 9674 },
+ { 216, 65534 },
+ { 217, 169 },
+ { 218, 8260 },
+ { 219, 164 },
+ { 220, 8249 },
+ { 221, 8250 },
+ { 222, 198 },
+ { 223, 187 },
+ { 224, 8211 },
+ { 225, 183 },
+ { 226, 8218 },
+ { 227, 8222 },
+ { 228, 8240 },
+ { 229, 194 },
+ { 230, 263 },
+ { 231, 193 },
+ { 232, 269 },
+ { 233, 200 },
+ { 234, 205 },
+ { 235, 206 },
+ { 236, 207 },
+ { 237, 204 },
+ { 238, 211 },
+ { 239, 212 },
+ { 240, 273 },
+ { 241, 210 },
+ { 242, 218 },
+ { 243, 219 },
+ { 244, 217 },
+ { 245, 305 },
+ { 246, 770 },
+ { 247, 771 },
+ { 248, 175 },
+ { 249, 960 },
+ { 250, 203 },
+ { 251, 730 },
+ { 252, 184 },
+ { 253, 202 },
+ { 254, 230 },
+ { 255, 711 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 264 },
+ { 67, 266 },
+ { 99, 265 },
+ { 99, 267 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 122, 378 },
+ { 122, 380 },
+};
+static convert_t applecyr[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 1040 },
+ { 129, 1041 },
+ { 130, 1042 },
+ { 131, 1043 },
+ { 132, 1044 },
+ { 133, 1045 },
+ { 134, 1046 },
+ { 135, 1047 },
+ { 136, 1048 },
+ { 137, 1049 },
+ { 138, 1050 },
+ { 139, 1051 },
+ { 140, 1052 },
+ { 141, 1053 },
+ { 142, 1054 },
+ { 143, 1055 },
+ { 144, 1056 },
+ { 145, 1057 },
+ { 146, 1058 },
+ { 147, 1059 },
+ { 148, 1060 },
+ { 149, 1061 },
+ { 150, 1062 },
+ { 151, 1063 },
+ { 152, 1064 },
+ { 153, 1065 },
+ { 154, 1066 },
+ { 155, 1067 },
+ { 156, 1068 },
+ { 157, 1069 },
+ { 158, 1070 },
+ { 159, 1071 },
+ { 160, 8224 },
+ { 161, 176 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 167 },
+ { 165, 8729 },
+ { 166, 182 },
+ { 167, 1030 },
+ { 168, 174 },
+ { 169, 169 },
+ { 170, 8482 },
+ { 171, 1026 },
+ { 172, 1106 },
+ { 173, 8800 },
+ { 174, 1027 },
+ { 175, 1107 },
+ { 176, 8734 },
+ { 177, 177 },
+ { 178, 8804 },
+ { 179, 8805 },
+ { 180, 1110 },
+ { 181, 181 },
+ { 182, 8706 },
+ { 183, 1032 },
+ { 184, 1028 },
+ { 185, 1108 },
+ { 186, 1031 },
+ { 187, 1111 },
+ { 188, 1033 },
+ { 189, 1113 },
+ { 190, 1034 },
+ { 191, 1114 },
+ { 192, 1112 },
+ { 193, 1029 },
+ { 194, 172 },
+ { 195, 8730 },
+ { 196, 402 },
+ { 197, 8776 },
+ { 198, 916 },
+ { 199, 171 },
+ { 200, 187 },
+ { 201, 8943 },
+ { 202, 160 },
+ { 203, 1035 },
+ { 204, 1115 },
+ { 205, 1036 },
+ { 206, 1116 },
+ { 207, 1109 },
+ { 208, 8211 },
+ { 209, 8212 },
+ { 210, 8220 },
+ { 211, 8221 },
+ { 212, 8216 },
+ { 213, 8217 },
+ { 214, 247 },
+ { 215, 8222 },
+ { 216, 1038 },
+ { 217, 1118 },
+ { 218, 1039 },
+ { 219, 1119 },
+ { 220, 8470 },
+ { 221, 1025 },
+ { 222, 1105 },
+ { 223, 1103 },
+ { 224, 1072 },
+ { 225, 1073 },
+ { 226, 1074 },
+ { 227, 1075 },
+ { 228, 1076 },
+ { 229, 1077 },
+ { 230, 1078 },
+ { 231, 1079 },
+ { 232, 1080 },
+ { 233, 1081 },
+ { 234, 1082 },
+ { 235, 1083 },
+ { 236, 1084 },
+ { 237, 1085 },
+ { 238, 1086 },
+ { 239, 1087 },
+ { 240, 1088 },
+ { 241, 1089 },
+ { 242, 1090 },
+ { 243, 1091 },
+ { 244, 1092 },
+ { 245, 1093 },
+ { 246, 1094 },
+ { 247, 1095 },
+ { 248, 1096 },
+ { 249, 1097 },
+ { 250, 1098 },
+ { 251, 1099 },
+ { 252, 1100 },
+ { 253, 1101 },
+ { 254, 1102 },
+ { 255, 164 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 220 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 252 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t applegk2[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 196 },
+ { 129, 913 },
+ { 130, 914 },
+ { 131, 915 },
+ { 132, 916 },
+ { 133, 214 },
+ { 134, 220 },
+ { 135, 917 },
+ { 136, 224 },
+ { 137, 226 },
+ { 138, 228 },
+ { 139, 918 },
+ { 140, 919 },
+ { 141, 231 },
+ { 142, 233 },
+ { 143, 232 },
+ { 144, 234 },
+ { 145, 235 },
+ { 146, 163 },
+ { 147, 8482 },
+ { 148, 238 },
+ { 149, 239 },
+ { 150, 8729 },
+ { 151, 920 },
+ { 152, 921 },
+ { 153, 244 },
+ { 154, 246 },
+ { 155, 155 },
+ { 156, 922 },
+ { 157, 249 },
+ { 158, 251 },
+ { 159, 252 },
+ { 160, 923 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 223 },
+ { 168, 174 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 938 },
+ { 172, 167 },
+ { 173, 8800 },
+ { 174, 924 },
+ { 175, 903 },
+ { 176, 925 },
+ { 177, 177 },
+ { 178, 8804 },
+ { 179, 8805 },
+ { 180, 926 },
+ { 181, 927 },
+ { 182, 928 },
+ { 183, 929 },
+ { 184, 931 },
+ { 185, 932 },
+ { 186, 933 },
+ { 187, 939 },
+ { 188, 934 },
+ { 189, 935 },
+ { 190, 936 },
+ { 191, 937 },
+ { 192, 940 },
+ { 193, 185 },
+ { 194, 172 },
+ { 195, 178 },
+ { 196, 179 },
+ { 197, 168 },
+ { 198, 901 },
+ { 199, 171 },
+ { 200, 187 },
+ { 201, 8943 },
+ { 202, 160 },
+ { 203, 166 },
+ { 204, 189 },
+ { 205, 902 },
+ { 206, 904 },
+ { 207, 176 },
+ { 208, 8211 },
+ { 209, 8212 },
+ { 210, 8220 },
+ { 211, 8221 },
+ { 212, 8216 },
+ { 213, 8217 },
+ { 214, 900 },
+ { 215, 905 },
+ { 216, 906 },
+ { 217, 908 },
+ { 218, 910 },
+ { 219, 941 },
+ { 220, 942 },
+ { 221, 943 },
+ { 222, 972 },
+ { 223, 911 },
+ { 224, 973 },
+ { 225, 945 },
+ { 226, 946 },
+ { 227, 968 },
+ { 228, 948 },
+ { 229, 949 },
+ { 230, 966 },
+ { 231, 947 },
+ { 232, 951 },
+ { 233, 953 },
+ { 234, 958 },
+ { 235, 954 },
+ { 236, 955 },
+ { 237, 956 },
+ { 238, 957 },
+ { 239, 959 },
+ { 240, 960 },
+ { 241, 974 },
+ { 242, 961 },
+ { 243, 963 },
+ { 244, 964 },
+ { 245, 952 },
+ { 246, 969 },
+ { 247, 962 },
+ { 248, 967 },
+ { 249, 965 },
+ { 250, 950 },
+ { 251, 970 },
+ { 252, 971 },
+ { 253, 912 },
+ { 254, 944 },
+ { 255, 8240 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 225 },
+ { 97, 227 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 245 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 250 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t applegrk[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 900 },
+ { 181, 901 },
+ { 182, 902 },
+ { 183, 183 },
+ { 184, 904 },
+ { 185, 905 },
+ { 186, 906 },
+ { 187, 187 },
+ { 188, 908 },
+ { 189, 189 },
+ { 190, 910 },
+ { 191, 911 },
+ { 192, 912 },
+ { 193, 913 },
+ { 194, 914 },
+ { 195, 915 },
+ { 196, 916 },
+ { 197, 917 },
+ { 198, 918 },
+ { 199, 919 },
+ { 200, 920 },
+ { 201, 921 },
+ { 202, 922 },
+ { 203, 923 },
+ { 204, 924 },
+ { 205, 925 },
+ { 206, 926 },
+ { 207, 927 },
+ { 208, 928 },
+ { 209, 929 },
+ { 210, 210 },
+ { 211, 931 },
+ { 212, 932 },
+ { 213, 933 },
+ { 214, 934 },
+ { 215, 935 },
+ { 216, 936 },
+ { 217, 937 },
+ { 218, 938 },
+ { 219, 939 },
+ { 220, 940 },
+ { 221, 941 },
+ { 222, 942 },
+ { 223, 943 },
+ { 224, 944 },
+ { 225, 945 },
+ { 226, 946 },
+ { 227, 947 },
+ { 228, 948 },
+ { 229, 949 },
+ { 230, 950 },
+ { 231, 951 },
+ { 232, 952 },
+ { 233, 953 },
+ { 234, 954 },
+ { 235, 955 },
+ { 236, 956 },
+ { 237, 957 },
+ { 238, 958 },
+ { 239, 959 },
+ { 240, 960 },
+ { 241, 961 },
+ { 242, 962 },
+ { 243, 963 },
+ { 244, 964 },
+ { 245, 965 },
+ { 246, 966 },
+ { 247, 967 },
+ { 248, 968 },
+ { 249, 969 },
+ { 250, 970 },
+ { 251, 971 },
+ { 252, 972 },
+ { 253, 973 },
+ { 254, 974 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 220 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 252 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t macice[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 196 },
+ { 129, 197 },
+ { 130, 199 },
+ { 131, 201 },
+ { 132, 209 },
+ { 133, 214 },
+ { 134, 220 },
+ { 135, 225 },
+ { 136, 224 },
+ { 137, 226 },
+ { 138, 228 },
+ { 139, 227 },
+ { 140, 229 },
+ { 141, 231 },
+ { 142, 233 },
+ { 143, 232 },
+ { 144, 234 },
+ { 145, 235 },
+ { 146, 237 },
+ { 147, 236 },
+ { 148, 238 },
+ { 149, 239 },
+ { 150, 241 },
+ { 151, 243 },
+ { 152, 242 },
+ { 153, 244 },
+ { 154, 246 },
+ { 155, 245 },
+ { 156, 250 },
+ { 157, 249 },
+ { 158, 251 },
+ { 159, 252 },
+ { 160, 221 },
+ { 161, 176 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 167 },
+ { 165, 8729 },
+ { 166, 182 },
+ { 167, 223 },
+ { 168, 174 },
+ { 169, 169 },
+ { 170, 8482 },
+ { 171, 180 },
+ { 172, 168 },
+ { 173, 8800 },
+ { 174, 198 },
+ { 175, 216 },
+ { 176, 8734 },
+ { 177, 177 },
+ { 178, 8804 },
+ { 179, 8805 },
+ { 180, 165 },
+ { 181, 181 },
+ { 182, 8706 },
+ { 183, 8721 },
+ { 184, 8719 },
+ { 185, 960 },
+ { 186, 8747 },
+ { 187, 170 },
+ { 188, 186 },
+ { 189, 937 },
+ { 190, 230 },
+ { 191, 248 },
+ { 192, 191 },
+ { 193, 161 },
+ { 194, 172 },
+ { 195, 8730 },
+ { 196, 402 },
+ { 197, 8776 },
+ { 198, 916 },
+ { 199, 171 },
+ { 200, 187 },
+ { 201, 8943 },
+ { 202, 160 },
+ { 203, 192 },
+ { 204, 195 },
+ { 205, 213 },
+ { 206, 338 },
+ { 207, 339 },
+ { 208, 8211 },
+ { 209, 8212 },
+ { 210, 8220 },
+ { 211, 8221 },
+ { 212, 8216 },
+ { 213, 8217 },
+ { 214, 247 },
+ { 215, 9674 },
+ { 216, 255 },
+ { 217, 376 },
+ { 218, 8260 },
+ { 219, 164 },
+ { 220, 208 },
+ { 221, 240 },
+ { 222, 222 },
+ { 223, 254 },
+ { 224, 253 },
+ { 225, 183 },
+ { 226, 8218 },
+ { 227, 8222 },
+ { 228, 8240 },
+ { 229, 194 },
+ { 230, 202 },
+ { 231, 193 },
+ { 232, 203 },
+ { 233, 200 },
+ { 234, 205 },
+ { 235, 206 },
+ { 236, 207 },
+ { 237, 204 },
+ { 238, 211 },
+ { 239, 212 },
+ { 240, 65534 },
+ { 241, 210 },
+ { 242, 218 },
+ { 243, 219 },
+ { 244, 217 },
+ { 245, 305 },
+ { 246, 770 },
+ { 247, 771 },
+ { 248, 175 },
+ { 249, 728 },
+ { 250, 729 },
+ { 251, 730 },
+ { 252, 184 },
+ { 253, 733 },
+ { 254, 731 },
+ { 255, 711 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t macroman[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 196 },
+ { 129, 197 },
+ { 130, 199 },
+ { 131, 201 },
+ { 132, 209 },
+ { 133, 214 },
+ { 134, 220 },
+ { 135, 225 },
+ { 136, 224 },
+ { 137, 226 },
+ { 138, 228 },
+ { 139, 227 },
+ { 140, 229 },
+ { 141, 231 },
+ { 142, 233 },
+ { 143, 232 },
+ { 144, 234 },
+ { 145, 235 },
+ { 146, 237 },
+ { 147, 236 },
+ { 148, 238 },
+ { 149, 239 },
+ { 150, 241 },
+ { 151, 243 },
+ { 152, 242 },
+ { 153, 244 },
+ { 154, 246 },
+ { 155, 245 },
+ { 156, 250 },
+ { 157, 249 },
+ { 158, 251 },
+ { 159, 252 },
+ { 160, 8224 },
+ { 161, 176 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 167 },
+ { 165, 8729 },
+ { 166, 182 },
+ { 167, 223 },
+ { 168, 174 },
+ { 169, 169 },
+ { 170, 8482 },
+ { 171, 180 },
+ { 172, 168 },
+ { 173, 8800 },
+ { 174, 198 },
+ { 175, 216 },
+ { 176, 8734 },
+ { 177, 177 },
+ { 178, 8804 },
+ { 179, 8805 },
+ { 180, 165 },
+ { 181, 181 },
+ { 182, 8706 },
+ { 183, 8721 },
+ { 184, 8719 },
+ { 185, 960 },
+ { 186, 8747 },
+ { 187, 170 },
+ { 188, 186 },
+ { 189, 937 },
+ { 190, 230 },
+ { 191, 248 },
+ { 192, 191 },
+ { 193, 161 },
+ { 194, 172 },
+ { 195, 8730 },
+ { 196, 402 },
+ { 197, 8776 },
+ { 198, 916 },
+ { 199, 171 },
+ { 200, 187 },
+ { 201, 8943 },
+ { 202, 160 },
+ { 203, 192 },
+ { 204, 195 },
+ { 205, 213 },
+ { 206, 338 },
+ { 207, 339 },
+ { 208, 8211 },
+ { 209, 8212 },
+ { 210, 8220 },
+ { 211, 8221 },
+ { 212, 8216 },
+ { 213, 8217 },
+ { 214, 247 },
+ { 215, 9674 },
+ { 216, 255 },
+ { 217, 376 },
+ { 218, 8260 },
+ { 219, 164 },
+ { 220, 8249 },
+ { 221, 8250 },
+ { 222, 64257 },
+ { 223, 64258 },
+ { 224, 8225 },
+ { 225, 183 },
+ { 226, 8218 },
+ { 227, 8222 },
+ { 228, 8240 },
+ { 229, 194 },
+ { 230, 202 },
+ { 231, 193 },
+ { 232, 203 },
+ { 233, 200 },
+ { 234, 205 },
+ { 235, 206 },
+ { 236, 207 },
+ { 237, 204 },
+ { 238, 211 },
+ { 239, 212 },
+ { 240, 240 },
+ { 241, 210 },
+ { 242, 218 },
+ { 243, 219 },
+ { 244, 217 },
+ { 245, 305 },
+ { 246, 770 },
+ { 247, 771 },
+ { 248, 175 },
+ { 249, 728 },
+ { 250, 729 },
+ { 251, 730 },
+ { 252, 184 },
+ { 253, 733 },
+ { 254, 731 },
+ { 255, 711 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 121, 253 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t macromanian[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 196 },
+ { 129, 197 },
+ { 130, 199 },
+ { 131, 201 },
+ { 132, 209 },
+ { 133, 214 },
+ { 134, 220 },
+ { 135, 225 },
+ { 136, 224 },
+ { 137, 226 },
+ { 138, 228 },
+ { 139, 227 },
+ { 140, 229 },
+ { 141, 231 },
+ { 142, 233 },
+ { 143, 232 },
+ { 144, 234 },
+ { 145, 235 },
+ { 146, 237 },
+ { 147, 236 },
+ { 148, 238 },
+ { 149, 239 },
+ { 150, 241 },
+ { 151, 243 },
+ { 152, 242 },
+ { 153, 244 },
+ { 154, 246 },
+ { 155, 245 },
+ { 156, 250 },
+ { 157, 249 },
+ { 158, 251 },
+ { 159, 252 },
+ { 160, 8224 },
+ { 161, 176 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 167 },
+ { 165, 8729 },
+ { 166, 182 },
+ { 167, 223 },
+ { 168, 174 },
+ { 169, 169 },
+ { 170, 8482 },
+ { 171, 180 },
+ { 172, 168 },
+ { 173, 8800 },
+ { 174, 258 },
+ { 175, 350 },
+ { 176, 8734 },
+ { 177, 177 },
+ { 178, 8804 },
+ { 179, 8805 },
+ { 180, 165 },
+ { 181, 181 },
+ { 182, 8706 },
+ { 183, 8721 },
+ { 184, 8719 },
+ { 185, 960 },
+ { 186, 8747 },
+ { 187, 170 },
+ { 188, 186 },
+ { 189, 937 },
+ { 190, 259 },
+ { 191, 351 },
+ { 192, 191 },
+ { 193, 161 },
+ { 194, 172 },
+ { 195, 8730 },
+ { 196, 402 },
+ { 197, 8776 },
+ { 198, 916 },
+ { 199, 171 },
+ { 200, 187 },
+ { 201, 8943 },
+ { 202, 160 },
+ { 203, 192 },
+ { 204, 195 },
+ { 205, 213 },
+ { 206, 338 },
+ { 207, 339 },
+ { 208, 8211 },
+ { 209, 8212 },
+ { 210, 8220 },
+ { 211, 8221 },
+ { 212, 8216 },
+ { 213, 8217 },
+ { 214, 247 },
+ { 215, 9674 },
+ { 216, 255 },
+ { 217, 376 },
+ { 218, 8260 },
+ { 219, 164 },
+ { 220, 8249 },
+ { 221, 8250 },
+ { 222, 354 },
+ { 223, 355 },
+ { 224, 8225 },
+ { 225, 183 },
+ { 226, 8218 },
+ { 227, 8222 },
+ { 228, 8240 },
+ { 229, 194 },
+ { 230, 202 },
+ { 231, 193 },
+ { 232, 203 },
+ { 233, 200 },
+ { 234, 205 },
+ { 235, 206 },
+ { 236, 207 },
+ { 237, 204 },
+ { 238, 211 },
+ { 239, 212 },
+ { 240, 65534 },
+ { 241, 210 },
+ { 242, 218 },
+ { 243, 219 },
+ { 244, 217 },
+ { 245, 305 },
+ { 246, 770 },
+ { 247, 771 },
+ { 248, 175 },
+ { 249, 728 },
+ { 250, 729 },
+ { 251, 730 },
+ { 252, 184 },
+ { 253, 733 },
+ { 254, 731 },
+ { 255, 711 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 353 },
+ { 84, 356 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 121, 253 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t macturkish[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 196 },
+ { 129, 197 },
+ { 130, 199 },
+ { 131, 201 },
+ { 132, 209 },
+ { 133, 214 },
+ { 134, 220 },
+ { 135, 225 },
+ { 136, 224 },
+ { 137, 226 },
+ { 138, 228 },
+ { 139, 227 },
+ { 140, 229 },
+ { 141, 231 },
+ { 142, 233 },
+ { 143, 232 },
+ { 144, 234 },
+ { 145, 235 },
+ { 146, 237 },
+ { 147, 236 },
+ { 148, 238 },
+ { 149, 239 },
+ { 150, 241 },
+ { 151, 243 },
+ { 152, 242 },
+ { 153, 244 },
+ { 154, 246 },
+ { 155, 245 },
+ { 156, 250 },
+ { 157, 249 },
+ { 158, 251 },
+ { 159, 252 },
+ { 160, 8224 },
+ { 161, 176 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 167 },
+ { 165, 8729 },
+ { 166, 182 },
+ { 167, 223 },
+ { 168, 174 },
+ { 169, 169 },
+ { 170, 8482 },
+ { 171, 180 },
+ { 172, 168 },
+ { 173, 8800 },
+ { 174, 198 },
+ { 175, 216 },
+ { 176, 8734 },
+ { 177, 177 },
+ { 178, 8804 },
+ { 179, 8805 },
+ { 180, 165 },
+ { 181, 181 },
+ { 182, 8706 },
+ { 183, 8721 },
+ { 184, 8719 },
+ { 185, 960 },
+ { 186, 8747 },
+ { 187, 170 },
+ { 188, 186 },
+ { 189, 937 },
+ { 190, 230 },
+ { 191, 248 },
+ { 192, 191 },
+ { 193, 161 },
+ { 194, 172 },
+ { 195, 8730 },
+ { 196, 402 },
+ { 197, 8776 },
+ { 198, 916 },
+ { 199, 171 },
+ { 200, 187 },
+ { 201, 8943 },
+ { 202, 160 },
+ { 203, 192 },
+ { 204, 195 },
+ { 205, 213 },
+ { 206, 338 },
+ { 207, 339 },
+ { 208, 8211 },
+ { 209, 8212 },
+ { 210, 8220 },
+ { 211, 8221 },
+ { 212, 8216 },
+ { 213, 8217 },
+ { 214, 247 },
+ { 215, 9674 },
+ { 216, 255 },
+ { 217, 376 },
+ { 218, 286 },
+ { 219, 287 },
+ { 220, 304 },
+ { 221, 305 },
+ { 222, 350 },
+ { 223, 351 },
+ { 224, 8225 },
+ { 225, 183 },
+ { 226, 8218 },
+ { 227, 8222 },
+ { 228, 8240 },
+ { 229, 194 },
+ { 230, 202 },
+ { 231, 193 },
+ { 232, 203 },
+ { 233, 200 },
+ { 234, 205 },
+ { 235, 206 },
+ { 236, 207 },
+ { 237, 204 },
+ { 238, 211 },
+ { 239, 212 },
+ { 240, 65534 },
+ { 241, 210 },
+ { 242, 218 },
+ { 243, 219 },
+ { 244, 217 },
+ { 245, 245 },
+ { 246, 770 },
+ { 247, 771 },
+ { 248, 175 },
+ { 249, 728 },
+ { 250, 729 },
+ { 251, 730 },
+ { 252, 184 },
+ { 253, 733 },
+ { 254, 731 },
+ { 255, 711 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 121, 253 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t atarist[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 199 },
+ { 129, 252 },
+ { 130, 233 },
+ { 131, 226 },
+ { 132, 228 },
+ { 133, 224 },
+ { 134, 229 },
+ { 135, 231 },
+ { 136, 234 },
+ { 137, 235 },
+ { 138, 232 },
+ { 139, 239 },
+ { 140, 238 },
+ { 141, 236 },
+ { 142, 196 },
+ { 143, 197 },
+ { 144, 201 },
+ { 145, 230 },
+ { 146, 198 },
+ { 147, 244 },
+ { 148, 246 },
+ { 149, 242 },
+ { 150, 251 },
+ { 151, 249 },
+ { 152, 255 },
+ { 153, 214 },
+ { 154, 220 },
+ { 155, 162 },
+ { 156, 163 },
+ { 157, 165 },
+ { 158, 223 },
+ { 159, 402 },
+ { 160, 225 },
+ { 161, 237 },
+ { 162, 243 },
+ { 163, 250 },
+ { 164, 241 },
+ { 165, 209 },
+ { 166, 170 },
+ { 167, 186 },
+ { 168, 191 },
+ { 169, 8976 },
+ { 170, 172 },
+ { 171, 189 },
+ { 172, 188 },
+ { 173, 161 },
+ { 174, 171 },
+ { 175, 187 },
+ { 176, 227 },
+ { 177, 245 },
+ { 178, 216 },
+ { 179, 248 },
+ { 180, 339 },
+ { 181, 338 },
+ { 182, 192 },
+ { 183, 195 },
+ { 184, 213 },
+ { 185, 168 },
+ { 186, 180 },
+ { 187, 8224 },
+ { 188, 182 },
+ { 189, 169 },
+ { 190, 174 },
+ { 191, 8482 },
+ { 192, 307 },
+ { 193, 306 },
+ { 194, 1488 },
+ { 195, 1489 },
+ { 196, 1490 },
+ { 197, 1491 },
+ { 198, 1492 },
+ { 199, 1493 },
+ { 200, 1494 },
+ { 201, 1495 },
+ { 202, 1496 },
+ { 203, 1497 },
+ { 204, 1499 },
+ { 205, 1500 },
+ { 206, 1502 },
+ { 207, 1504 },
+ { 208, 1505 },
+ { 209, 1506 },
+ { 210, 1508 },
+ { 211, 1510 },
+ { 212, 1511 },
+ { 213, 1512 },
+ { 214, 1513 },
+ { 215, 1514 },
+ { 216, 1503 },
+ { 217, 1498 },
+ { 218, 1501 },
+ { 219, 1507 },
+ { 220, 1509 },
+ { 221, 167 },
+ { 222, 8743 },
+ { 223, 8734 },
+ { 224, 945 },
+ { 225, 946 },
+ { 226, 915 },
+ { 227, 960 },
+ { 228, 931 },
+ { 229, 963 },
+ { 230, 181 },
+ { 231, 964 },
+ { 232, 934 },
+ { 233, 920 },
+ { 234, 937 },
+ { 235, 948 },
+ { 236, 8750 },
+ { 237, 966 },
+ { 238, 949 },
+ { 239, 8745 },
+ { 240, 8801 },
+ { 241, 177 },
+ { 242, 8805 },
+ { 243, 8804 },
+ { 244, 8992 },
+ { 245, 8993 },
+ { 246, 247 },
+ { 247, 8776 },
+ { 248, 176 },
+ { 249, 8729 },
+ { 250, 183 },
+ { 251, 8730 },
+ { 252, 8319 },
+ { 253, 178 },
+ { 254, 179 },
+ { 255, 175 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp437[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 199 },
+ { 129, 252 },
+ { 130, 233 },
+ { 131, 226 },
+ { 132, 228 },
+ { 133, 224 },
+ { 134, 229 },
+ { 135, 231 },
+ { 136, 234 },
+ { 137, 235 },
+ { 138, 232 },
+ { 139, 239 },
+ { 140, 238 },
+ { 141, 236 },
+ { 142, 196 },
+ { 143, 197 },
+ { 144, 201 },
+ { 145, 230 },
+ { 146, 198 },
+ { 147, 244 },
+ { 148, 246 },
+ { 149, 242 },
+ { 150, 251 },
+ { 151, 249 },
+ { 152, 255 },
+ { 153, 214 },
+ { 154, 220 },
+ { 155, 162 },
+ { 156, 163 },
+ { 157, 165 },
+ { 158, 8359 },
+ { 159, 402 },
+ { 160, 225 },
+ { 161, 237 },
+ { 162, 243 },
+ { 163, 250 },
+ { 164, 241 },
+ { 165, 209 },
+ { 166, 170 },
+ { 167, 186 },
+ { 168, 191 },
+ { 169, 8976 },
+ { 170, 172 },
+ { 171, 189 },
+ { 172, 188 },
+ { 173, 161 },
+ { 174, 171 },
+ { 175, 187 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 9569 },
+ { 182, 9570 },
+ { 183, 9558 },
+ { 184, 9557 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 9564 },
+ { 190, 9563 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 9566 },
+ { 199, 9567 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 9575 },
+ { 208, 9576 },
+ { 209, 9572 },
+ { 210, 9573 },
+ { 211, 9561 },
+ { 212, 9560 },
+ { 213, 9554 },
+ { 214, 9555 },
+ { 215, 9579 },
+ { 216, 9578 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 9612 },
+ { 222, 9616 },
+ { 223, 9600 },
+ { 224, 945 },
+ { 225, 223 },
+ { 226, 915 },
+ { 227, 960 },
+ { 228, 931 },
+ { 229, 963 },
+ { 230, 181 },
+ { 231, 964 },
+ { 232, 934 },
+ { 233, 920 },
+ { 234, 937 },
+ { 235, 948 },
+ { 236, 8734 },
+ { 237, 966 },
+ { 238, 949 },
+ { 239, 8745 },
+ { 240, 8801 },
+ { 241, 177 },
+ { 242, 8805 },
+ { 243, 8804 },
+ { 244, 8992 },
+ { 245, 8993 },
+ { 246, 247 },
+ { 247, 8776 },
+ { 248, 176 },
+ { 249, 8729 },
+ { 250, 183 },
+ { 251, 8730 },
+ { 252, 8319 },
+ { 253, 178 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 227 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 245 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp737[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 913 },
+ { 129, 914 },
+ { 130, 915 },
+ { 131, 916 },
+ { 132, 917 },
+ { 133, 918 },
+ { 134, 919 },
+ { 135, 920 },
+ { 136, 921 },
+ { 137, 922 },
+ { 138, 923 },
+ { 139, 924 },
+ { 140, 925 },
+ { 141, 926 },
+ { 142, 927 },
+ { 143, 928 },
+ { 144, 929 },
+ { 145, 931 },
+ { 146, 932 },
+ { 147, 933 },
+ { 148, 934 },
+ { 149, 935 },
+ { 150, 936 },
+ { 151, 937 },
+ { 152, 945 },
+ { 153, 946 },
+ { 154, 947 },
+ { 155, 948 },
+ { 156, 949 },
+ { 157, 950 },
+ { 158, 951 },
+ { 159, 952 },
+ { 160, 953 },
+ { 161, 954 },
+ { 162, 955 },
+ { 163, 956 },
+ { 164, 957 },
+ { 165, 958 },
+ { 166, 959 },
+ { 167, 960 },
+ { 168, 961 },
+ { 169, 963 },
+ { 170, 962 },
+ { 171, 964 },
+ { 172, 965 },
+ { 173, 966 },
+ { 174, 967 },
+ { 175, 968 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 9569 },
+ { 182, 9570 },
+ { 183, 9558 },
+ { 184, 9557 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 9564 },
+ { 190, 9563 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 9566 },
+ { 199, 9567 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 9575 },
+ { 208, 9576 },
+ { 209, 9572 },
+ { 210, 9573 },
+ { 211, 9561 },
+ { 212, 9560 },
+ { 213, 9554 },
+ { 214, 9555 },
+ { 215, 9579 },
+ { 216, 9578 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 9612 },
+ { 222, 9616 },
+ { 223, 9600 },
+ { 224, 969 },
+ { 225, 940 },
+ { 226, 941 },
+ { 227, 942 },
+ { 228, 970 },
+ { 229, 943 },
+ { 230, 972 },
+ { 231, 973 },
+ { 232, 971 },
+ { 233, 974 },
+ { 234, 902 },
+ { 235, 904 },
+ { 236, 905 },
+ { 237, 906 },
+ { 238, 908 },
+ { 239, 910 },
+ { 240, 911 },
+ { 241, 177 },
+ { 242, 8805 },
+ { 243, 8804 },
+ { 244, 938 },
+ { 245, 939 },
+ { 246, 247 },
+ { 247, 8776 },
+ { 248, 176 },
+ { 249, 8729 },
+ { 250, 183 },
+ { 251, 8730 },
+ { 252, 8319 },
+ { 253, 178 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 220 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 252 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp775[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 262 },
+ { 129, 252 },
+ { 130, 233 },
+ { 131, 257 },
+ { 132, 228 },
+ { 133, 291 },
+ { 134, 229 },
+ { 135, 263 },
+ { 136, 322 },
+ { 137, 275 },
+ { 138, 342 },
+ { 139, 343 },
+ { 140, 299 },
+ { 141, 377 },
+ { 142, 196 },
+ { 143, 197 },
+ { 144, 201 },
+ { 145, 230 },
+ { 146, 198 },
+ { 147, 333 },
+ { 148, 246 },
+ { 149, 290 },
+ { 150, 162 },
+ { 151, 346 },
+ { 152, 347 },
+ { 153, 214 },
+ { 154, 220 },
+ { 155, 248 },
+ { 156, 163 },
+ { 157, 216 },
+ { 158, 215 },
+ { 159, 164 },
+ { 160, 256 },
+ { 161, 298 },
+ { 162, 243 },
+ { 163, 379 },
+ { 164, 380 },
+ { 165, 378 },
+ { 166, 8221 },
+ { 167, 166 },
+ { 168, 169 },
+ { 169, 174 },
+ { 170, 172 },
+ { 171, 189 },
+ { 172, 188 },
+ { 173, 321 },
+ { 174, 171 },
+ { 175, 187 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 260 },
+ { 182, 268 },
+ { 183, 280 },
+ { 184, 278 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 302 },
+ { 190, 352 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 370 },
+ { 199, 362 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 381 },
+ { 208, 261 },
+ { 209, 269 },
+ { 210, 281 },
+ { 211, 279 },
+ { 212, 303 },
+ { 213, 353 },
+ { 214, 371 },
+ { 215, 363 },
+ { 216, 382 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 9612 },
+ { 222, 9616 },
+ { 223, 9600 },
+ { 224, 211 },
+ { 225, 223 },
+ { 226, 332 },
+ { 227, 323 },
+ { 228, 245 },
+ { 229, 213 },
+ { 230, 181 },
+ { 231, 324 },
+ { 232, 310 },
+ { 233, 311 },
+ { 234, 315 },
+ { 235, 316 },
+ { 236, 326 },
+ { 237, 274 },
+ { 238, 325 },
+ { 239, 8217 },
+ { 240, 173 },
+ { 241, 177 },
+ { 242, 8220 },
+ { 243, 190 },
+ { 244, 182 },
+ { 245, 167 },
+ { 246, 247 },
+ { 247, 8222 },
+ { 248, 176 },
+ { 249, 8729 },
+ { 250, 183 },
+ { 251, 185 },
+ { 252, 179 },
+ { 253, 178 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 39, 8216 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 258 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 259 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 264 },
+ { 67, 266 },
+ { 99, 231 },
+ { 99, 265 },
+ { 99, 267 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 276 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 277 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 300 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 301 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 488 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 317 },
+ { 76, 319 },
+ { 108, 314 },
+ { 108, 318 },
+ { 108, 320 },
+ { 77, 209 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 212 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 244 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 345 },
+ { 83, 348 },
+ { 83, 350 },
+ { 115, 349 },
+ { 115, 351 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 360 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 361 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+};
+static convert_t cp850[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 199 },
+ { 129, 252 },
+ { 130, 233 },
+ { 131, 226 },
+ { 132, 228 },
+ { 133, 224 },
+ { 134, 229 },
+ { 135, 231 },
+ { 136, 234 },
+ { 137, 235 },
+ { 138, 232 },
+ { 139, 239 },
+ { 140, 238 },
+ { 141, 236 },
+ { 142, 196 },
+ { 143, 197 },
+ { 144, 201 },
+ { 145, 230 },
+ { 146, 198 },
+ { 147, 244 },
+ { 148, 246 },
+ { 149, 242 },
+ { 150, 251 },
+ { 151, 249 },
+ { 152, 255 },
+ { 153, 214 },
+ { 154, 220 },
+ { 155, 248 },
+ { 156, 163 },
+ { 157, 216 },
+ { 158, 215 },
+ { 159, 402 },
+ { 160, 225 },
+ { 161, 237 },
+ { 162, 243 },
+ { 163, 250 },
+ { 164, 241 },
+ { 165, 209 },
+ { 166, 170 },
+ { 167, 186 },
+ { 168, 191 },
+ { 169, 174 },
+ { 170, 172 },
+ { 171, 189 },
+ { 172, 188 },
+ { 173, 161 },
+ { 174, 171 },
+ { 175, 187 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 193 },
+ { 182, 194 },
+ { 183, 192 },
+ { 184, 169 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 162 },
+ { 190, 165 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 227 },
+ { 199, 195 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 164 },
+ { 208, 240 },
+ { 209, 208 },
+ { 210, 202 },
+ { 211, 203 },
+ { 212, 200 },
+ { 213, 305 },
+ { 214, 205 },
+ { 215, 206 },
+ { 216, 207 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 166 },
+ { 222, 204 },
+ { 223, 9600 },
+ { 224, 211 },
+ { 225, 223 },
+ { 226, 212 },
+ { 227, 210 },
+ { 228, 245 },
+ { 229, 213 },
+ { 230, 181 },
+ { 231, 254 },
+ { 232, 222 },
+ { 233, 218 },
+ { 234, 219 },
+ { 235, 217 },
+ { 236, 253 },
+ { 237, 221 },
+ { 238, 175 },
+ { 239, 180 },
+ { 240, 173 },
+ { 241, 177 },
+ { 242, 8215 },
+ { 243, 190 },
+ { 244, 182 },
+ { 245, 167 },
+ { 246, 247 },
+ { 247, 184 },
+ { 248, 176 },
+ { 249, 168 },
+ { 250, 183 },
+ { 251, 185 },
+ { 252, 179 },
+ { 253, 178 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp851[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 199 },
+ { 129, 252 },
+ { 130, 233 },
+ { 131, 226 },
+ { 132, 228 },
+ { 133, 224 },
+ { 134, 902 },
+ { 135, 231 },
+ { 136, 234 },
+ { 137, 235 },
+ { 138, 232 },
+ { 139, 239 },
+ { 140, 238 },
+ { 141, 904 },
+ { 142, 196 },
+ { 143, 905 },
+ { 144, 906 },
+ { 145, 145 },
+ { 146, 908 },
+ { 147, 244 },
+ { 148, 246 },
+ { 149, 910 },
+ { 150, 251 },
+ { 151, 249 },
+ { 152, 911 },
+ { 153, 214 },
+ { 154, 220 },
+ { 155, 940 },
+ { 156, 163 },
+ { 157, 941 },
+ { 158, 942 },
+ { 159, 943 },
+ { 160, 970 },
+ { 161, 912 },
+ { 162, 972 },
+ { 163, 973 },
+ { 164, 913 },
+ { 165, 914 },
+ { 166, 915 },
+ { 167, 916 },
+ { 168, 917 },
+ { 169, 918 },
+ { 170, 919 },
+ { 171, 189 },
+ { 172, 920 },
+ { 173, 921 },
+ { 174, 171 },
+ { 175, 187 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 922 },
+ { 182, 923 },
+ { 183, 924 },
+ { 184, 925 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 926 },
+ { 190, 927 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 928 },
+ { 199, 929 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 931 },
+ { 208, 932 },
+ { 209, 933 },
+ { 210, 934 },
+ { 211, 935 },
+ { 212, 936 },
+ { 213, 937 },
+ { 214, 945 },
+ { 215, 946 },
+ { 216, 947 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 948 },
+ { 222, 949 },
+ { 223, 9600 },
+ { 224, 950 },
+ { 225, 951 },
+ { 226, 952 },
+ { 227, 953 },
+ { 228, 954 },
+ { 229, 955 },
+ { 230, 956 },
+ { 231, 957 },
+ { 232, 958 },
+ { 233, 959 },
+ { 234, 960 },
+ { 235, 961 },
+ { 236, 963 },
+ { 237, 962 },
+ { 238, 964 },
+ { 239, 900 },
+ { 240, 173 },
+ { 241, 177 },
+ { 242, 965 },
+ { 243, 966 },
+ { 244, 967 },
+ { 245, 167 },
+ { 246, 968 },
+ { 247, 901 },
+ { 248, 176 },
+ { 249, 168 },
+ { 250, 969 },
+ { 251, 971 },
+ { 252, 944 },
+ { 253, 974 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 225 },
+ { 97, 227 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 245 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 250 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp852[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 199 },
+ { 129, 252 },
+ { 130, 233 },
+ { 131, 226 },
+ { 132, 228 },
+ { 133, 367 },
+ { 134, 263 },
+ { 135, 231 },
+ { 136, 322 },
+ { 137, 235 },
+ { 138, 336 },
+ { 139, 337 },
+ { 140, 238 },
+ { 141, 377 },
+ { 142, 196 },
+ { 143, 262 },
+ { 144, 201 },
+ { 145, 313 },
+ { 146, 314 },
+ { 147, 244 },
+ { 148, 246 },
+ { 149, 317 },
+ { 150, 318 },
+ { 151, 346 },
+ { 152, 347 },
+ { 153, 214 },
+ { 154, 220 },
+ { 155, 356 },
+ { 156, 357 },
+ { 157, 321 },
+ { 158, 215 },
+ { 159, 269 },
+ { 160, 225 },
+ { 161, 237 },
+ { 162, 243 },
+ { 163, 250 },
+ { 164, 260 },
+ { 165, 261 },
+ { 166, 381 },
+ { 167, 382 },
+ { 168, 280 },
+ { 169, 281 },
+ { 170, 170 },
+ { 171, 378 },
+ { 172, 268 },
+ { 173, 351 },
+ { 174, 171 },
+ { 175, 187 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 193 },
+ { 182, 194 },
+ { 183, 282 },
+ { 184, 350 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 379 },
+ { 190, 380 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 258 },
+ { 199, 259 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 164 },
+ { 208, 273 },
+ { 209, 272 },
+ { 210, 270 },
+ { 211, 203 },
+ { 212, 271 },
+ { 213, 327 },
+ { 214, 205 },
+ { 215, 206 },
+ { 216, 283 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 354 },
+ { 222, 366 },
+ { 223, 9600 },
+ { 224, 211 },
+ { 225, 223 },
+ { 226, 212 },
+ { 227, 323 },
+ { 228, 324 },
+ { 229, 328 },
+ { 230, 352 },
+ { 231, 353 },
+ { 232, 340 },
+ { 233, 218 },
+ { 234, 341 },
+ { 235, 368 },
+ { 236, 253 },
+ { 237, 221 },
+ { 238, 355 },
+ { 239, 180 },
+ { 240, 173 },
+ { 241, 733 },
+ { 242, 731 },
+ { 243, 711 },
+ { 244, 728 },
+ { 245, 167 },
+ { 246, 247 },
+ { 247, 184 },
+ { 248, 176 },
+ { 249, 168 },
+ { 250, 729 },
+ { 251, 369 },
+ { 252, 344 },
+ { 253, 345 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 195 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 227 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 462 },
+ { 67, 264 },
+ { 67, 266 },
+ { 99, 265 },
+ { 99, 267 },
+ { 69, 200 },
+ { 69, 202 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 101, 232 },
+ { 101, 234 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 315 },
+ { 76, 319 },
+ { 108, 316 },
+ { 108, 320 },
+ { 77, 209 },
+ { 77, 325 },
+ { 109, 241 },
+ { 109, 326 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 213 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 245 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 342 },
+ { 114, 343 },
+ { 83, 348 },
+ { 115, 349 },
+ { 85, 217 },
+ { 85, 219 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 251 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 255 },
+ { 121, 375 },
+};
+static convert_t cp853[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 199 },
+ { 129, 252 },
+ { 130, 233 },
+ { 131, 226 },
+ { 132, 228 },
+ { 133, 224 },
+ { 134, 265 },
+ { 135, 231 },
+ { 136, 234 },
+ { 137, 235 },
+ { 138, 232 },
+ { 139, 239 },
+ { 140, 238 },
+ { 141, 236 },
+ { 142, 196 },
+ { 143, 264 },
+ { 144, 201 },
+ { 145, 267 },
+ { 146, 266 },
+ { 147, 244 },
+ { 148, 246 },
+ { 149, 242 },
+ { 150, 251 },
+ { 151, 249 },
+ { 152, 304 },
+ { 153, 214 },
+ { 154, 220 },
+ { 155, 285 },
+ { 156, 163 },
+ { 157, 284 },
+ { 158, 215 },
+ { 159, 309 },
+ { 160, 225 },
+ { 161, 237 },
+ { 162, 243 },
+ { 163, 250 },
+ { 164, 241 },
+ { 165, 209 },
+ { 166, 286 },
+ { 167, 287 },
+ { 168, 292 },
+ { 169, 293 },
+ { 170, 170 },
+ { 171, 189 },
+ { 172, 308 },
+ { 173, 351 },
+ { 174, 171 },
+ { 175, 187 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 193 },
+ { 182, 194 },
+ { 183, 192 },
+ { 184, 350 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 379 },
+ { 190, 380 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 348 },
+ { 199, 349 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 164 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 202 },
+ { 211, 203 },
+ { 212, 200 },
+ { 213, 305 },
+ { 214, 205 },
+ { 215, 206 },
+ { 216, 207 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 221 },
+ { 222, 204 },
+ { 223, 9600 },
+ { 224, 211 },
+ { 225, 223 },
+ { 226, 212 },
+ { 227, 210 },
+ { 228, 288 },
+ { 229, 289 },
+ { 230, 181 },
+ { 231, 294 },
+ { 232, 295 },
+ { 233, 218 },
+ { 234, 219 },
+ { 235, 217 },
+ { 236, 364 },
+ { 237, 365 },
+ { 238, 238 },
+ { 239, 180 },
+ { 240, 173 },
+ { 241, 241 },
+ { 242, 8467 },
+ { 243, 329 },
+ { 244, 728 },
+ { 245, 167 },
+ { 246, 247 },
+ { 247, 184 },
+ { 248, 176 },
+ { 249, 168 },
+ { 250, 729 },
+ { 251, 251 },
+ { 252, 179 },
+ { 253, 178 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 195 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 227 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 464 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 78, 213 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 245 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 382 },
+};
+static convert_t cp855[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 1106 },
+ { 129, 1026 },
+ { 130, 1107 },
+ { 131, 1027 },
+ { 132, 1105 },
+ { 133, 1025 },
+ { 134, 1108 },
+ { 135, 1028 },
+ { 136, 1109 },
+ { 137, 1029 },
+ { 138, 1110 },
+ { 139, 1030 },
+ { 140, 1111 },
+ { 141, 1031 },
+ { 142, 1112 },
+ { 143, 1032 },
+ { 144, 1113 },
+ { 145, 1033 },
+ { 146, 1114 },
+ { 147, 1034 },
+ { 148, 1115 },
+ { 149, 1035 },
+ { 150, 1116 },
+ { 151, 1036 },
+ { 152, 1118 },
+ { 153, 1038 },
+ { 154, 1119 },
+ { 155, 1039 },
+ { 156, 1102 },
+ { 157, 1070 },
+ { 158, 1098 },
+ { 159, 1066 },
+ { 160, 1072 },
+ { 161, 1040 },
+ { 162, 1073 },
+ { 163, 1041 },
+ { 164, 1094 },
+ { 165, 1062 },
+ { 166, 1076 },
+ { 167, 1044 },
+ { 168, 1077 },
+ { 169, 1045 },
+ { 170, 1092 },
+ { 171, 1060 },
+ { 172, 1075 },
+ { 173, 1043 },
+ { 174, 171 },
+ { 175, 187 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 1093 },
+ { 182, 1061 },
+ { 183, 1080 },
+ { 184, 1048 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 1081 },
+ { 190, 1049 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 1082 },
+ { 199, 1050 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 164 },
+ { 208, 1083 },
+ { 209, 1051 },
+ { 210, 1084 },
+ { 211, 1052 },
+ { 212, 1085 },
+ { 213, 1053 },
+ { 214, 1086 },
+ { 215, 1054 },
+ { 216, 1087 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 1055 },
+ { 222, 1103 },
+ { 223, 9600 },
+ { 224, 1071 },
+ { 225, 1088 },
+ { 226, 1056 },
+ { 227, 1089 },
+ { 228, 1057 },
+ { 229, 1090 },
+ { 230, 1058 },
+ { 231, 1091 },
+ { 232, 1059 },
+ { 233, 1078 },
+ { 234, 1046 },
+ { 235, 1074 },
+ { 236, 1042 },
+ { 237, 1100 },
+ { 238, 1068 },
+ { 239, 8470 },
+ { 240, 173 },
+ { 241, 1099 },
+ { 242, 1067 },
+ { 243, 1079 },
+ { 244, 1047 },
+ { 245, 1096 },
+ { 246, 1064 },
+ { 247, 1101 },
+ { 248, 1069 },
+ { 249, 1097 },
+ { 250, 1065 },
+ { 251, 1095 },
+ { 252, 1063 },
+ { 253, 167 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 220 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 252 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp857[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 199 },
+ { 129, 252 },
+ { 130, 233 },
+ { 131, 226 },
+ { 132, 228 },
+ { 133, 224 },
+ { 134, 229 },
+ { 135, 231 },
+ { 136, 234 },
+ { 137, 235 },
+ { 138, 232 },
+ { 139, 239 },
+ { 140, 238 },
+ { 141, 305 },
+ { 142, 196 },
+ { 143, 197 },
+ { 144, 201 },
+ { 145, 230 },
+ { 146, 198 },
+ { 147, 244 },
+ { 148, 246 },
+ { 149, 242 },
+ { 150, 251 },
+ { 151, 249 },
+ { 152, 304 },
+ { 153, 214 },
+ { 154, 220 },
+ { 155, 248 },
+ { 156, 163 },
+ { 157, 216 },
+ { 158, 350 },
+ { 159, 351 },
+ { 160, 225 },
+ { 161, 237 },
+ { 162, 243 },
+ { 163, 250 },
+ { 164, 241 },
+ { 165, 209 },
+ { 166, 286 },
+ { 167, 287 },
+ { 168, 191 },
+ { 169, 174 },
+ { 170, 172 },
+ { 171, 189 },
+ { 172, 188 },
+ { 173, 161 },
+ { 174, 171 },
+ { 175, 187 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 193 },
+ { 182, 194 },
+ { 183, 192 },
+ { 184, 169 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 162 },
+ { 190, 165 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 227 },
+ { 199, 195 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 164 },
+ { 208, 186 },
+ { 209, 170 },
+ { 210, 202 },
+ { 211, 203 },
+ { 212, 200 },
+ { 213, 213 },
+ { 214, 205 },
+ { 215, 206 },
+ { 216, 207 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 166 },
+ { 222, 204 },
+ { 223, 9600 },
+ { 224, 211 },
+ { 225, 223 },
+ { 226, 212 },
+ { 227, 210 },
+ { 228, 245 },
+ { 229, 213 },
+ { 230, 181 },
+ { 231, 231 },
+ { 232, 215 },
+ { 233, 218 },
+ { 234, 219 },
+ { 235, 217 },
+ { 236, 236 },
+ { 237, 255 },
+ { 238, 175 },
+ { 239, 180 },
+ { 240, 173 },
+ { 241, 177 },
+ { 242, 242 },
+ { 243, 190 },
+ { 244, 182 },
+ { 245, 167 },
+ { 246, 247 },
+ { 247, 184 },
+ { 248, 176 },
+ { 249, 168 },
+ { 250, 183 },
+ { 251, 185 },
+ { 252, 179 },
+ { 253, 178 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp860[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 199 },
+ { 129, 252 },
+ { 130, 233 },
+ { 131, 226 },
+ { 132, 227 },
+ { 133, 224 },
+ { 134, 193 },
+ { 135, 231 },
+ { 136, 234 },
+ { 137, 202 },
+ { 138, 232 },
+ { 139, 205 },
+ { 140, 212 },
+ { 141, 236 },
+ { 142, 195 },
+ { 143, 194 },
+ { 144, 201 },
+ { 145, 192 },
+ { 146, 200 },
+ { 147, 244 },
+ { 148, 245 },
+ { 149, 242 },
+ { 150, 218 },
+ { 151, 249 },
+ { 152, 204 },
+ { 153, 213 },
+ { 154, 220 },
+ { 155, 162 },
+ { 156, 163 },
+ { 157, 217 },
+ { 158, 8359 },
+ { 159, 211 },
+ { 160, 225 },
+ { 161, 237 },
+ { 162, 243 },
+ { 163, 250 },
+ { 164, 241 },
+ { 165, 209 },
+ { 166, 170 },
+ { 167, 186 },
+ { 168, 191 },
+ { 169, 210 },
+ { 170, 172 },
+ { 171, 189 },
+ { 172, 188 },
+ { 173, 161 },
+ { 174, 171 },
+ { 175, 187 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 9569 },
+ { 182, 9570 },
+ { 183, 9558 },
+ { 184, 9557 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 9564 },
+ { 190, 9563 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 9566 },
+ { 199, 9567 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 9575 },
+ { 208, 9576 },
+ { 209, 9572 },
+ { 210, 9573 },
+ { 211, 9561 },
+ { 212, 9560 },
+ { 213, 9554 },
+ { 214, 9555 },
+ { 215, 9579 },
+ { 216, 9578 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 9612 },
+ { 222, 9616 },
+ { 223, 9600 },
+ { 224, 945 },
+ { 225, 223 },
+ { 226, 915 },
+ { 227, 960 },
+ { 228, 931 },
+ { 229, 963 },
+ { 230, 181 },
+ { 231, 964 },
+ { 232, 934 },
+ { 233, 920 },
+ { 234, 937 },
+ { 235, 948 },
+ { 236, 8734 },
+ { 237, 966 },
+ { 238, 949 },
+ { 239, 8745 },
+ { 240, 8801 },
+ { 241, 177 },
+ { 242, 8805 },
+ { 243, 8804 },
+ { 244, 8992 },
+ { 245, 8993 },
+ { 246, 247 },
+ { 247, 8776 },
+ { 248, 176 },
+ { 249, 8729 },
+ { 250, 183 },
+ { 251, 8730 },
+ { 252, 8319 },
+ { 253, 178 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 219 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 251 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp861[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 199 },
+ { 129, 252 },
+ { 130, 233 },
+ { 131, 226 },
+ { 132, 228 },
+ { 133, 224 },
+ { 134, 229 },
+ { 135, 231 },
+ { 136, 234 },
+ { 137, 235 },
+ { 138, 232 },
+ { 139, 208 },
+ { 140, 240 },
+ { 141, 222 },
+ { 142, 196 },
+ { 143, 197 },
+ { 144, 201 },
+ { 145, 230 },
+ { 146, 198 },
+ { 147, 244 },
+ { 148, 246 },
+ { 149, 254 },
+ { 150, 251 },
+ { 151, 221 },
+ { 152, 253 },
+ { 153, 214 },
+ { 154, 220 },
+ { 155, 248 },
+ { 156, 163 },
+ { 157, 216 },
+ { 158, 8359 },
+ { 159, 402 },
+ { 160, 225 },
+ { 161, 237 },
+ { 162, 243 },
+ { 163, 250 },
+ { 164, 193 },
+ { 165, 205 },
+ { 166, 211 },
+ { 167, 218 },
+ { 168, 191 },
+ { 169, 8976 },
+ { 170, 172 },
+ { 171, 189 },
+ { 172, 188 },
+ { 173, 161 },
+ { 174, 171 },
+ { 175, 187 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 9569 },
+ { 182, 9570 },
+ { 183, 9558 },
+ { 184, 9557 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 9564 },
+ { 190, 9563 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 9566 },
+ { 199, 9567 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 9575 },
+ { 208, 9576 },
+ { 209, 9572 },
+ { 210, 9573 },
+ { 211, 9561 },
+ { 212, 9560 },
+ { 213, 9554 },
+ { 214, 9555 },
+ { 215, 9579 },
+ { 216, 9578 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 9612 },
+ { 222, 9616 },
+ { 223, 9600 },
+ { 224, 945 },
+ { 225, 223 },
+ { 226, 915 },
+ { 227, 960 },
+ { 228, 931 },
+ { 229, 963 },
+ { 230, 181 },
+ { 231, 964 },
+ { 232, 934 },
+ { 233, 920 },
+ { 234, 937 },
+ { 235, 948 },
+ { 236, 8734 },
+ { 237, 966 },
+ { 238, 949 },
+ { 239, 8745 },
+ { 240, 8801 },
+ { 241, 177 },
+ { 242, 8805 },
+ { 243, 8804 },
+ { 244, 8992 },
+ { 245, 8993 },
+ { 246, 247 },
+ { 247, 8776 },
+ { 248, 176 },
+ { 249, 8729 },
+ { 250, 183 },
+ { 251, 8730 },
+ { 252, 8319 },
+ { 253, 178 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 227 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 245 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 219 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp862[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 1488 },
+ { 129, 1489 },
+ { 130, 1490 },
+ { 131, 1491 },
+ { 132, 1492 },
+ { 133, 1493 },
+ { 134, 1494 },
+ { 135, 1495 },
+ { 136, 1496 },
+ { 137, 1497 },
+ { 138, 1498 },
+ { 139, 1499 },
+ { 140, 1500 },
+ { 141, 1501 },
+ { 142, 1502 },
+ { 143, 1503 },
+ { 144, 1504 },
+ { 145, 1505 },
+ { 146, 1506 },
+ { 147, 1507 },
+ { 148, 1508 },
+ { 149, 1509 },
+ { 150, 1510 },
+ { 151, 1511 },
+ { 152, 1512 },
+ { 153, 1513 },
+ { 154, 1514 },
+ { 155, 162 },
+ { 156, 163 },
+ { 157, 165 },
+ { 158, 8359 },
+ { 159, 402 },
+ { 160, 225 },
+ { 161, 237 },
+ { 162, 243 },
+ { 163, 250 },
+ { 164, 241 },
+ { 165, 209 },
+ { 166, 170 },
+ { 167, 186 },
+ { 168, 191 },
+ { 169, 8976 },
+ { 170, 172 },
+ { 171, 189 },
+ { 172, 188 },
+ { 173, 161 },
+ { 174, 171 },
+ { 175, 187 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 9569 },
+ { 182, 9570 },
+ { 183, 9558 },
+ { 184, 9557 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 9564 },
+ { 190, 9563 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 9566 },
+ { 199, 9567 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 9575 },
+ { 208, 9576 },
+ { 209, 9572 },
+ { 210, 9573 },
+ { 211, 9561 },
+ { 212, 9560 },
+ { 213, 9554 },
+ { 214, 9555 },
+ { 215, 9579 },
+ { 216, 9578 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 9612 },
+ { 222, 9616 },
+ { 223, 9600 },
+ { 224, 945 },
+ { 225, 223 },
+ { 226, 915 },
+ { 227, 960 },
+ { 228, 931 },
+ { 229, 963 },
+ { 230, 181 },
+ { 231, 964 },
+ { 232, 934 },
+ { 233, 920 },
+ { 234, 937 },
+ { 235, 948 },
+ { 236, 8734 },
+ { 237, 966 },
+ { 238, 949 },
+ { 239, 8745 },
+ { 240, 8801 },
+ { 241, 177 },
+ { 242, 8805 },
+ { 243, 8804 },
+ { 244, 8992 },
+ { 245, 8993 },
+ { 246, 247 },
+ { 247, 8776 },
+ { 248, 176 },
+ { 249, 8729 },
+ { 250, 183 },
+ { 251, 8730 },
+ { 252, 8319 },
+ { 253, 178 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 220 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 251 },
+ { 117, 252 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp863[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 199 },
+ { 129, 252 },
+ { 130, 233 },
+ { 131, 226 },
+ { 132, 194 },
+ { 133, 224 },
+ { 134, 182 },
+ { 135, 231 },
+ { 136, 234 },
+ { 137, 235 },
+ { 138, 232 },
+ { 139, 239 },
+ { 140, 238 },
+ { 141, 8215 },
+ { 142, 192 },
+ { 143, 167 },
+ { 144, 201 },
+ { 145, 200 },
+ { 146, 202 },
+ { 147, 244 },
+ { 148, 203 },
+ { 149, 207 },
+ { 150, 251 },
+ { 151, 249 },
+ { 152, 164 },
+ { 153, 212 },
+ { 154, 220 },
+ { 155, 162 },
+ { 156, 163 },
+ { 157, 217 },
+ { 158, 219 },
+ { 159, 402 },
+ { 160, 166 },
+ { 161, 180 },
+ { 162, 243 },
+ { 163, 250 },
+ { 164, 168 },
+ { 165, 184 },
+ { 166, 179 },
+ { 167, 175 },
+ { 168, 206 },
+ { 169, 8976 },
+ { 170, 172 },
+ { 171, 189 },
+ { 172, 188 },
+ { 173, 190 },
+ { 174, 171 },
+ { 175, 187 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 9569 },
+ { 182, 9570 },
+ { 183, 9558 },
+ { 184, 9557 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 9564 },
+ { 190, 9563 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 9566 },
+ { 199, 9567 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 9575 },
+ { 208, 9576 },
+ { 209, 9572 },
+ { 210, 9573 },
+ { 211, 9561 },
+ { 212, 9560 },
+ { 213, 9554 },
+ { 214, 9555 },
+ { 215, 9579 },
+ { 216, 9578 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 9612 },
+ { 222, 9616 },
+ { 223, 9600 },
+ { 224, 945 },
+ { 225, 223 },
+ { 226, 915 },
+ { 227, 960 },
+ { 228, 931 },
+ { 229, 963 },
+ { 230, 181 },
+ { 231, 964 },
+ { 232, 934 },
+ { 233, 920 },
+ { 234, 937 },
+ { 235, 948 },
+ { 236, 8734 },
+ { 237, 966 },
+ { 238, 949 },
+ { 239, 8745 },
+ { 240, 8801 },
+ { 241, 177 },
+ { 242, 8805 },
+ { 243, 8804 },
+ { 244, 8992 },
+ { 245, 8993 },
+ { 246, 247 },
+ { 247, 8776 },
+ { 248, 176 },
+ { 249, 8729 },
+ { 250, 183 },
+ { 251, 8730 },
+ { 252, 8319 },
+ { 253, 178 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 193 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 225 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 218 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp864[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 176 },
+ { 129, 183 },
+ { 130, 8729 },
+ { 131, 8730 },
+ { 132, 9618 },
+ { 133, 9472 },
+ { 134, 9474 },
+ { 135, 9532 },
+ { 136, 9508 },
+ { 137, 9516 },
+ { 138, 9500 },
+ { 139, 9524 },
+ { 140, 9488 },
+ { 141, 9484 },
+ { 142, 9492 },
+ { 143, 9496 },
+ { 144, 946 },
+ { 145, 8734 },
+ { 146, 966 },
+ { 147, 177 },
+ { 148, 189 },
+ { 149, 188 },
+ { 150, 8776 },
+ { 151, 171 },
+ { 152, 187 },
+ { 153, 65271 },
+ { 154, 65272 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 65275 },
+ { 158, 65276 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 173 },
+ { 162, 65154 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 65156 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 65166 },
+ { 169, 1576 },
+ { 170, 1578 },
+ { 171, 1579 },
+ { 172, 1548 },
+ { 173, 1580 },
+ { 174, 1581 },
+ { 175, 1582 },
+ { 176, 1632 },
+ { 177, 1633 },
+ { 178, 1634 },
+ { 179, 1635 },
+ { 180, 1636 },
+ { 181, 1637 },
+ { 182, 1638 },
+ { 183, 1639 },
+ { 184, 1640 },
+ { 185, 1641 },
+ { 186, 1601 },
+ { 187, 1563 },
+ { 188, 1587 },
+ { 189, 1588 },
+ { 190, 1589 },
+ { 191, 1567 },
+ { 192, 162 },
+ { 193, 1569 },
+ { 194, 1570 },
+ { 195, 1571 },
+ { 196, 1572 },
+ { 197, 65226 },
+ { 198, 65163 },
+ { 199, 1575 },
+ { 200, 65169 },
+ { 201, 1577 },
+ { 202, 65175 },
+ { 203, 65179 },
+ { 204, 65183 },
+ { 205, 65187 },
+ { 206, 65191 },
+ { 207, 1583 },
+ { 208, 1584 },
+ { 209, 1585 },
+ { 210, 1586 },
+ { 211, 65203 },
+ { 212, 65207 },
+ { 213, 65211 },
+ { 214, 65215 },
+ { 215, 1591 },
+ { 216, 1592 },
+ { 217, 65227 },
+ { 218, 65231 },
+ { 219, 166 },
+ { 220, 172 },
+ { 221, 247 },
+ { 222, 215 },
+ { 223, 1593 },
+ { 224, 1600 },
+ { 225, 65235 },
+ { 226, 65239 },
+ { 227, 65243 },
+ { 228, 65247 },
+ { 229, 65251 },
+ { 230, 65255 },
+ { 231, 65259 },
+ { 232, 1608 },
+ { 233, 1609 },
+ { 234, 65267 },
+ { 235, 1590 },
+ { 236, 65228 },
+ { 237, 65230 },
+ { 238, 1594 },
+ { 239, 1605 },
+ { 240, 65149 },
+ { 241, 1617 },
+ { 242, 1606 },
+ { 243, 1607 },
+ { 244, 65260 },
+ { 245, 65264 },
+ { 246, 65266 },
+ { 247, 65232 },
+ { 248, 1602 },
+ { 249, 65269 },
+ { 250, 65270 },
+ { 251, 1604 },
+ { 252, 1603 },
+ { 253, 1610 },
+ { 254, 9632 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 220 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 252 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp865[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 199 },
+ { 129, 252 },
+ { 130, 233 },
+ { 131, 226 },
+ { 132, 228 },
+ { 133, 224 },
+ { 134, 229 },
+ { 135, 231 },
+ { 136, 234 },
+ { 137, 235 },
+ { 138, 232 },
+ { 139, 239 },
+ { 140, 238 },
+ { 141, 236 },
+ { 142, 196 },
+ { 143, 197 },
+ { 144, 201 },
+ { 145, 230 },
+ { 146, 198 },
+ { 147, 244 },
+ { 148, 246 },
+ { 149, 242 },
+ { 150, 251 },
+ { 151, 249 },
+ { 152, 255 },
+ { 153, 214 },
+ { 154, 220 },
+ { 155, 248 },
+ { 156, 163 },
+ { 157, 216 },
+ { 158, 8359 },
+ { 159, 402 },
+ { 160, 225 },
+ { 161, 237 },
+ { 162, 243 },
+ { 163, 250 },
+ { 164, 241 },
+ { 165, 209 },
+ { 166, 170 },
+ { 167, 186 },
+ { 168, 191 },
+ { 169, 8976 },
+ { 170, 172 },
+ { 171, 189 },
+ { 172, 188 },
+ { 173, 161 },
+ { 174, 171 },
+ { 175, 164 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 9569 },
+ { 182, 9570 },
+ { 183, 9558 },
+ { 184, 9557 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 9564 },
+ { 190, 9563 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 9566 },
+ { 199, 9567 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 9575 },
+ { 208, 9576 },
+ { 209, 9572 },
+ { 210, 9573 },
+ { 211, 9561 },
+ { 212, 9560 },
+ { 213, 9554 },
+ { 214, 9555 },
+ { 215, 9579 },
+ { 216, 9578 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 9612 },
+ { 222, 9616 },
+ { 223, 9600 },
+ { 224, 945 },
+ { 225, 223 },
+ { 226, 915 },
+ { 227, 960 },
+ { 228, 931 },
+ { 229, 963 },
+ { 230, 181 },
+ { 231, 964 },
+ { 232, 934 },
+ { 233, 920 },
+ { 234, 937 },
+ { 235, 948 },
+ { 236, 8734 },
+ { 237, 966 },
+ { 238, 949 },
+ { 239, 8745 },
+ { 240, 8801 },
+ { 241, 177 },
+ { 242, 8805 },
+ { 243, 8804 },
+ { 244, 8992 },
+ { 245, 8993 },
+ { 246, 247 },
+ { 247, 8776 },
+ { 248, 176 },
+ { 249, 8729 },
+ { 250, 183 },
+ { 251, 8730 },
+ { 252, 8319 },
+ { 253, 178 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 227 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 245 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp866[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 1040 },
+ { 129, 1041 },
+ { 130, 1042 },
+ { 131, 1043 },
+ { 132, 1044 },
+ { 133, 1045 },
+ { 134, 1046 },
+ { 135, 1047 },
+ { 136, 1048 },
+ { 137, 1049 },
+ { 138, 1050 },
+ { 139, 1051 },
+ { 140, 1052 },
+ { 141, 1053 },
+ { 142, 1054 },
+ { 143, 1055 },
+ { 144, 1056 },
+ { 145, 1057 },
+ { 146, 1058 },
+ { 147, 1059 },
+ { 148, 1060 },
+ { 149, 1061 },
+ { 150, 1062 },
+ { 151, 1063 },
+ { 152, 1064 },
+ { 153, 1065 },
+ { 154, 1066 },
+ { 155, 1067 },
+ { 156, 1068 },
+ { 157, 1069 },
+ { 158, 1070 },
+ { 159, 1071 },
+ { 160, 1072 },
+ { 161, 1073 },
+ { 162, 1074 },
+ { 163, 1075 },
+ { 164, 1076 },
+ { 165, 1077 },
+ { 166, 1078 },
+ { 167, 1079 },
+ { 168, 1080 },
+ { 169, 1081 },
+ { 170, 1082 },
+ { 171, 1083 },
+ { 172, 1084 },
+ { 173, 1085 },
+ { 174, 1086 },
+ { 175, 1087 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 9569 },
+ { 182, 9570 },
+ { 183, 9558 },
+ { 184, 9557 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 9564 },
+ { 190, 9563 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 9566 },
+ { 199, 9567 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 9575 },
+ { 208, 9576 },
+ { 209, 9572 },
+ { 210, 9573 },
+ { 211, 9561 },
+ { 212, 9560 },
+ { 213, 9554 },
+ { 214, 9555 },
+ { 215, 9579 },
+ { 216, 9578 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 9612 },
+ { 222, 9616 },
+ { 223, 9600 },
+ { 224, 1088 },
+ { 225, 1089 },
+ { 226, 1090 },
+ { 227, 1091 },
+ { 228, 1092 },
+ { 229, 1093 },
+ { 230, 1094 },
+ { 231, 1095 },
+ { 232, 1096 },
+ { 233, 1097 },
+ { 234, 1098 },
+ { 235, 1099 },
+ { 236, 1100 },
+ { 237, 1101 },
+ { 238, 1102 },
+ { 239, 1103 },
+ { 240, 1025 },
+ { 241, 1105 },
+ { 242, 1028 },
+ { 243, 1108 },
+ { 244, 1031 },
+ { 245, 1111 },
+ { 246, 1038 },
+ { 247, 1118 },
+ { 248, 176 },
+ { 249, 8729 },
+ { 250, 183 },
+ { 251, 8730 },
+ { 252, 8470 },
+ { 253, 164 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 220 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 252 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp869[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 902 },
+ { 135, 135 },
+ { 136, 183 },
+ { 137, 172 },
+ { 138, 166 },
+ { 139, 8216 },
+ { 140, 8217 },
+ { 141, 904 },
+ { 142, 8213 },
+ { 143, 905 },
+ { 144, 906 },
+ { 145, 938 },
+ { 146, 908 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 910 },
+ { 150, 939 },
+ { 151, 169 },
+ { 152, 911 },
+ { 153, 178 },
+ { 154, 179 },
+ { 155, 940 },
+ { 156, 163 },
+ { 157, 941 },
+ { 158, 942 },
+ { 159, 943 },
+ { 160, 970 },
+ { 161, 912 },
+ { 162, 972 },
+ { 163, 973 },
+ { 164, 913 },
+ { 165, 914 },
+ { 166, 915 },
+ { 167, 916 },
+ { 168, 917 },
+ { 169, 918 },
+ { 170, 919 },
+ { 171, 189 },
+ { 172, 920 },
+ { 173, 921 },
+ { 174, 171 },
+ { 175, 187 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 922 },
+ { 182, 923 },
+ { 183, 924 },
+ { 184, 925 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 926 },
+ { 190, 927 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 928 },
+ { 199, 929 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 931 },
+ { 208, 932 },
+ { 209, 933 },
+ { 210, 934 },
+ { 211, 935 },
+ { 212, 936 },
+ { 213, 937 },
+ { 214, 945 },
+ { 215, 946 },
+ { 216, 947 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 948 },
+ { 222, 949 },
+ { 223, 9600 },
+ { 224, 950 },
+ { 225, 951 },
+ { 226, 952 },
+ { 227, 953 },
+ { 228, 954 },
+ { 229, 955 },
+ { 230, 956 },
+ { 231, 957 },
+ { 232, 958 },
+ { 233, 959 },
+ { 234, 960 },
+ { 235, 961 },
+ { 236, 963 },
+ { 237, 962 },
+ { 238, 964 },
+ { 239, 900 },
+ { 240, 173 },
+ { 241, 177 },
+ { 242, 965 },
+ { 243, 966 },
+ { 244, 967 },
+ { 245, 167 },
+ { 246, 968 },
+ { 247, 901 },
+ { 248, 176 },
+ { 249, 168 },
+ { 250, 969 },
+ { 251, 971 },
+ { 252, 944 },
+ { 253, 974 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 220 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 252 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp874[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 8364 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 8230 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 8216 },
+ { 146, 8217 },
+ { 147, 8220 },
+ { 148, 8221 },
+ { 149, 8226 },
+ { 150, 8211 },
+ { 151, 8212 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 3585 },
+ { 162, 3586 },
+ { 163, 3587 },
+ { 164, 3588 },
+ { 165, 3589 },
+ { 166, 3590 },
+ { 167, 3591 },
+ { 168, 3592 },
+ { 169, 3593 },
+ { 170, 3594 },
+ { 171, 3595 },
+ { 172, 3596 },
+ { 173, 3597 },
+ { 174, 3598 },
+ { 175, 3599 },
+ { 176, 3600 },
+ { 177, 3601 },
+ { 178, 3602 },
+ { 179, 3603 },
+ { 180, 3604 },
+ { 181, 3605 },
+ { 182, 3606 },
+ { 183, 3607 },
+ { 184, 3608 },
+ { 185, 3609 },
+ { 186, 3610 },
+ { 187, 3611 },
+ { 188, 3612 },
+ { 189, 3613 },
+ { 190, 3614 },
+ { 191, 3615 },
+ { 192, 3616 },
+ { 193, 3617 },
+ { 194, 3618 },
+ { 195, 3619 },
+ { 196, 3620 },
+ { 197, 3621 },
+ { 198, 3622 },
+ { 199, 3623 },
+ { 200, 3624 },
+ { 201, 3625 },
+ { 202, 3626 },
+ { 203, 3627 },
+ { 204, 3628 },
+ { 205, 3629 },
+ { 206, 3630 },
+ { 207, 3631 },
+ { 208, 3632 },
+ { 209, 3633 },
+ { 210, 3634 },
+ { 211, 3635 },
+ { 212, 3636 },
+ { 213, 3637 },
+ { 214, 3638 },
+ { 215, 3639 },
+ { 216, 3640 },
+ { 217, 3641 },
+ { 218, 3642 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 3647 },
+ { 224, 3648 },
+ { 225, 3649 },
+ { 226, 3650 },
+ { 227, 3651 },
+ { 228, 3652 },
+ { 229, 3653 },
+ { 230, 3654 },
+ { 231, 3655 },
+ { 232, 3656 },
+ { 233, 3657 },
+ { 234, 3658 },
+ { 235, 3659 },
+ { 236, 3660 },
+ { 237, 3661 },
+ { 238, 3662 },
+ { 239, 3663 },
+ { 240, 3664 },
+ { 241, 3665 },
+ { 242, 3666 },
+ { 243, 3667 },
+ { 244, 3668 },
+ { 245, 3669 },
+ { 246, 3670 },
+ { 247, 3671 },
+ { 248, 3672 },
+ { 249, 3673 },
+ { 250, 3674 },
+ { 251, 3675 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp895[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 268 },
+ { 129, 252 },
+ { 130, 233 },
+ { 131, 271 },
+ { 132, 228 },
+ { 133, 270 },
+ { 134, 356 },
+ { 135, 269 },
+ { 136, 283 },
+ { 137, 282 },
+ { 138, 313 },
+ { 139, 205 },
+ { 140, 318 },
+ { 141, 314 },
+ { 142, 196 },
+ { 143, 193 },
+ { 144, 201 },
+ { 145, 382 },
+ { 146, 381 },
+ { 147, 244 },
+ { 148, 246 },
+ { 149, 211 },
+ { 150, 367 },
+ { 151, 218 },
+ { 152, 253 },
+ { 153, 214 },
+ { 154, 220 },
+ { 155, 352 },
+ { 156, 317 },
+ { 157, 221 },
+ { 158, 344 },
+ { 159, 357 },
+ { 160, 225 },
+ { 161, 237 },
+ { 162, 243 },
+ { 163, 250 },
+ { 164, 328 },
+ { 165, 327 },
+ { 166, 366 },
+ { 167, 212 },
+ { 168, 353 },
+ { 169, 345 },
+ { 170, 341 },
+ { 171, 340 },
+ { 172, 188 },
+ { 173, 161 },
+ { 174, 171 },
+ { 175, 187 },
+ { 176, 9617 },
+ { 177, 9618 },
+ { 178, 9619 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 9569 },
+ { 182, 9570 },
+ { 183, 9558 },
+ { 184, 9557 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 9564 },
+ { 190, 9563 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 9566 },
+ { 199, 9567 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 9575 },
+ { 208, 9576 },
+ { 209, 9572 },
+ { 210, 9573 },
+ { 211, 9561 },
+ { 212, 9560 },
+ { 213, 9554 },
+ { 214, 9555 },
+ { 215, 9579 },
+ { 216, 9578 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 9612 },
+ { 222, 9616 },
+ { 223, 9600 },
+ { 224, 945 },
+ { 225, 223 },
+ { 226, 915 },
+ { 227, 960 },
+ { 228, 931 },
+ { 229, 963 },
+ { 230, 181 },
+ { 231, 964 },
+ { 232, 934 },
+ { 233, 920 },
+ { 234, 937 },
+ { 235, 948 },
+ { 236, 8734 },
+ { 237, 966 },
+ { 238, 949 },
+ { 239, 8745 },
+ { 240, 8801 },
+ { 241, 177 },
+ { 242, 8805 },
+ { 243, 8804 },
+ { 244, 8992 },
+ { 245, 8993 },
+ { 246, 247 },
+ { 247, 8776 },
+ { 248, 176 },
+ { 249, 8729 },
+ { 250, 183 },
+ { 251, 8730 },
+ { 252, 8319 },
+ { 253, 178 },
+ { 254, 9632 },
+ { 255, 160 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 69, 200 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 101, 232 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 315 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 316 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 213 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 245 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 342 },
+ { 114, 343 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 84, 354 },
+ { 116, 355 },
+ { 85, 217 },
+ { 85, 219 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 251 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 122, 378 },
+ { 122, 380 },
+};
+static convert_t cp1250[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 8364 },
+ { 129, 129 },
+ { 130, 8218 },
+ { 131, 131 },
+ { 132, 8222 },
+ { 133, 8230 },
+ { 134, 8224 },
+ { 135, 8225 },
+ { 136, 136 },
+ { 137, 8240 },
+ { 138, 352 },
+ { 139, 8249 },
+ { 140, 346 },
+ { 141, 356 },
+ { 142, 381 },
+ { 143, 377 },
+ { 144, 144 },
+ { 145, 8216 },
+ { 146, 8217 },
+ { 147, 8220 },
+ { 148, 8221 },
+ { 149, 8226 },
+ { 150, 8211 },
+ { 151, 8212 },
+ { 152, 152 },
+ { 153, 8482 },
+ { 154, 353 },
+ { 155, 8250 },
+ { 156, 347 },
+ { 157, 357 },
+ { 158, 382 },
+ { 159, 378 },
+ { 160, 160 },
+ { 161, 711 },
+ { 162, 728 },
+ { 163, 321 },
+ { 164, 164 },
+ { 165, 260 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 350 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 379 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 731 },
+ { 179, 322 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 261 },
+ { 186, 351 },
+ { 187, 187 },
+ { 188, 376 },
+ { 189, 733 },
+ { 190, 317 },
+ { 191, 380 },
+ { 192, 340 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 258 },
+ { 196, 196 },
+ { 197, 313 },
+ { 198, 262 },
+ { 199, 199 },
+ { 200, 268 },
+ { 201, 201 },
+ { 202, 280 },
+ { 203, 203 },
+ { 204, 282 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 270 },
+ { 208, 272 },
+ { 209, 323 },
+ { 210, 327 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 336 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 344 },
+ { 217, 366 },
+ { 218, 218 },
+ { 219, 368 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 354 },
+ { 223, 223 },
+ { 224, 341 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 259 },
+ { 228, 228 },
+ { 229, 314 },
+ { 230, 263 },
+ { 231, 231 },
+ { 232, 269 },
+ { 233, 233 },
+ { 234, 281 },
+ { 235, 235 },
+ { 236, 283 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 271 },
+ { 240, 273 },
+ { 241, 324 },
+ { 242, 328 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 337 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 345 },
+ { 249, 367 },
+ { 250, 250 },
+ { 251, 369 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 355 },
+ { 255, 729 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 195 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 227 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 462 },
+ { 67, 264 },
+ { 67, 266 },
+ { 99, 265 },
+ { 99, 267 },
+ { 69, 200 },
+ { 69, 202 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 101, 232 },
+ { 101, 234 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 315 },
+ { 76, 319 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 77, 209 },
+ { 77, 325 },
+ { 109, 241 },
+ { 109, 326 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 213 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 245 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 342 },
+ { 114, 343 },
+ { 83, 348 },
+ { 115, 349 },
+ { 85, 217 },
+ { 85, 219 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 251 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 121, 255 },
+ { 121, 375 },
+};
+static convert_t cp1251[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 1026 },
+ { 129, 1027 },
+ { 130, 8218 },
+ { 131, 1107 },
+ { 132, 8222 },
+ { 133, 8230 },
+ { 134, 8224 },
+ { 135, 8225 },
+ { 136, 8364 },
+ { 137, 8240 },
+ { 138, 1033 },
+ { 139, 8249 },
+ { 140, 1034 },
+ { 141, 1036 },
+ { 142, 1035 },
+ { 143, 1039 },
+ { 144, 1106 },
+ { 145, 8216 },
+ { 146, 8217 },
+ { 147, 8220 },
+ { 148, 8221 },
+ { 149, 8226 },
+ { 150, 8211 },
+ { 151, 8212 },
+ { 152, 152 },
+ { 153, 8482 },
+ { 154, 1113 },
+ { 155, 8250 },
+ { 156, 1114 },
+ { 157, 1116 },
+ { 158, 1115 },
+ { 159, 1119 },
+ { 160, 160 },
+ { 161, 1038 },
+ { 162, 1118 },
+ { 163, 1032 },
+ { 164, 164 },
+ { 165, 1168 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 1025 },
+ { 169, 169 },
+ { 170, 1028 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 1031 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 1030 },
+ { 179, 1110 },
+ { 180, 1169 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 1105 },
+ { 185, 8470 },
+ { 186, 1108 },
+ { 187, 187 },
+ { 188, 1112 },
+ { 189, 1029 },
+ { 190, 1109 },
+ { 191, 1111 },
+ { 192, 1040 },
+ { 193, 1041 },
+ { 194, 1042 },
+ { 195, 1043 },
+ { 196, 1044 },
+ { 197, 1045 },
+ { 198, 1046 },
+ { 199, 1047 },
+ { 200, 1048 },
+ { 201, 1049 },
+ { 202, 1050 },
+ { 203, 1051 },
+ { 204, 1052 },
+ { 205, 1053 },
+ { 206, 1054 },
+ { 207, 1055 },
+ { 208, 1056 },
+ { 209, 1057 },
+ { 210, 1058 },
+ { 211, 1059 },
+ { 212, 1060 },
+ { 213, 1061 },
+ { 214, 1062 },
+ { 215, 1063 },
+ { 216, 1064 },
+ { 217, 1065 },
+ { 218, 1066 },
+ { 219, 1067 },
+ { 220, 1068 },
+ { 221, 1069 },
+ { 222, 1070 },
+ { 223, 1071 },
+ { 224, 1072 },
+ { 225, 1073 },
+ { 226, 1074 },
+ { 227, 1075 },
+ { 228, 1076 },
+ { 229, 1077 },
+ { 230, 1078 },
+ { 231, 1079 },
+ { 232, 1080 },
+ { 233, 1081 },
+ { 234, 1082 },
+ { 235, 1083 },
+ { 236, 1084 },
+ { 237, 1085 },
+ { 238, 1086 },
+ { 239, 1087 },
+ { 240, 1088 },
+ { 241, 1089 },
+ { 242, 1090 },
+ { 243, 1091 },
+ { 244, 1092 },
+ { 245, 1093 },
+ { 246, 1094 },
+ { 247, 1095 },
+ { 248, 1096 },
+ { 249, 1097 },
+ { 250, 1098 },
+ { 251, 1099 },
+ { 252, 1100 },
+ { 253, 1101 },
+ { 254, 1102 },
+ { 255, 1103 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 220 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 252 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp1252[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 8364 },
+ { 129, 129 },
+ { 130, 8218 },
+ { 131, 402 },
+ { 132, 8222 },
+ { 133, 8230 },
+ { 134, 8224 },
+ { 135, 8225 },
+ { 136, 710 },
+ { 137, 8240 },
+ { 138, 352 },
+ { 139, 8249 },
+ { 140, 338 },
+ { 141, 141 },
+ { 142, 381 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 8216 },
+ { 146, 8217 },
+ { 147, 8220 },
+ { 148, 8221 },
+ { 149, 8226 },
+ { 150, 8211 },
+ { 151, 8212 },
+ { 152, 732 },
+ { 153, 8482 },
+ { 154, 353 },
+ { 155, 8250 },
+ { 156, 339 },
+ { 157, 157 },
+ { 158, 382 },
+ { 159, 376 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 122, 378 },
+ { 122, 380 },
+};
+static convert_t cp1253[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 8364 },
+ { 129, 129 },
+ { 130, 8218 },
+ { 131, 402 },
+ { 132, 8222 },
+ { 133, 8230 },
+ { 134, 8224 },
+ { 135, 8225 },
+ { 136, 136 },
+ { 137, 8240 },
+ { 138, 138 },
+ { 139, 8249 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 8216 },
+ { 146, 8217 },
+ { 147, 8220 },
+ { 148, 8221 },
+ { 149, 8226 },
+ { 150, 8211 },
+ { 151, 8212 },
+ { 152, 152 },
+ { 153, 8482 },
+ { 154, 154 },
+ { 155, 8250 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 901 },
+ { 162, 902 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 8213 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 900 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 904 },
+ { 185, 905 },
+ { 186, 906 },
+ { 187, 187 },
+ { 188, 908 },
+ { 189, 189 },
+ { 190, 910 },
+ { 191, 911 },
+ { 192, 912 },
+ { 193, 913 },
+ { 194, 914 },
+ { 195, 915 },
+ { 196, 916 },
+ { 197, 917 },
+ { 198, 918 },
+ { 199, 919 },
+ { 200, 920 },
+ { 201, 921 },
+ { 202, 922 },
+ { 203, 923 },
+ { 204, 924 },
+ { 205, 925 },
+ { 206, 926 },
+ { 207, 927 },
+ { 208, 928 },
+ { 209, 929 },
+ { 210, 210 },
+ { 211, 931 },
+ { 212, 932 },
+ { 213, 933 },
+ { 214, 934 },
+ { 215, 935 },
+ { 216, 936 },
+ { 217, 937 },
+ { 218, 938 },
+ { 219, 939 },
+ { 220, 940 },
+ { 221, 941 },
+ { 222, 942 },
+ { 223, 943 },
+ { 224, 944 },
+ { 225, 945 },
+ { 226, 946 },
+ { 227, 947 },
+ { 228, 948 },
+ { 229, 949 },
+ { 230, 950 },
+ { 231, 951 },
+ { 232, 952 },
+ { 233, 953 },
+ { 234, 954 },
+ { 235, 955 },
+ { 236, 956 },
+ { 237, 957 },
+ { 238, 958 },
+ { 239, 959 },
+ { 240, 960 },
+ { 241, 961 },
+ { 242, 962 },
+ { 243, 963 },
+ { 244, 964 },
+ { 245, 965 },
+ { 246, 966 },
+ { 247, 967 },
+ { 248, 968 },
+ { 249, 969 },
+ { 250, 970 },
+ { 251, 971 },
+ { 252, 972 },
+ { 253, 973 },
+ { 254, 974 },
+ { 255, 255 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 220 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 252 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp1254[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 8364 },
+ { 129, 129 },
+ { 130, 8218 },
+ { 131, 402 },
+ { 132, 8222 },
+ { 133, 8230 },
+ { 134, 8224 },
+ { 135, 8225 },
+ { 136, 710 },
+ { 137, 8240 },
+ { 138, 352 },
+ { 139, 8249 },
+ { 140, 338 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 8216 },
+ { 146, 8217 },
+ { 147, 8220 },
+ { 148, 8221 },
+ { 149, 8226 },
+ { 150, 8211 },
+ { 151, 8212 },
+ { 152, 732 },
+ { 153, 8482 },
+ { 154, 353 },
+ { 155, 8250 },
+ { 156, 339 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 376 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 286 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 304 },
+ { 222, 350 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 287 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 305 },
+ { 254, 351 },
+ { 255, 255 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 115, 347 },
+ { 115, 349 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 121, 253 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp1255[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 8364 },
+ { 129, 129 },
+ { 130, 8218 },
+ { 131, 402 },
+ { 132, 8222 },
+ { 133, 8230 },
+ { 134, 8224 },
+ { 135, 8225 },
+ { 136, 136 },
+ { 137, 8240 },
+ { 138, 138 },
+ { 139, 8249 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 8216 },
+ { 146, 8217 },
+ { 147, 8220 },
+ { 148, 8221 },
+ { 149, 8226 },
+ { 150, 8211 },
+ { 151, 8212 },
+ { 152, 152 },
+ { 153, 8482 },
+ { 154, 154 },
+ { 155, 8250 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 215 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 781 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 247 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 8215 },
+ { 224, 1488 },
+ { 225, 1489 },
+ { 226, 1490 },
+ { 227, 1491 },
+ { 228, 1492 },
+ { 229, 1493 },
+ { 230, 1494 },
+ { 231, 1495 },
+ { 232, 1496 },
+ { 233, 1497 },
+ { 234, 1498 },
+ { 235, 1499 },
+ { 236, 1500 },
+ { 237, 1501 },
+ { 238, 1502 },
+ { 239, 1503 },
+ { 240, 1504 },
+ { 241, 1505 },
+ { 242, 1506 },
+ { 243, 1507 },
+ { 244, 1508 },
+ { 245, 1509 },
+ { 246, 1510 },
+ { 247, 1511 },
+ { 248, 1512 },
+ { 249, 1513 },
+ { 250, 1514 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp1256[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 1548 },
+ { 129, 129 },
+ { 130, 8218 },
+ { 131, 131 },
+ { 132, 8222 },
+ { 133, 8230 },
+ { 134, 8224 },
+ { 135, 8225 },
+ { 136, 136 },
+ { 137, 8240 },
+ { 138, 138 },
+ { 139, 8249 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 8216 },
+ { 146, 8217 },
+ { 147, 8220 },
+ { 148, 8221 },
+ { 149, 8226 },
+ { 150, 8211 },
+ { 151, 8212 },
+ { 152, 1563 },
+ { 153, 8482 },
+ { 154, 1567 },
+ { 155, 8250 },
+ { 156, 1569 },
+ { 157, 1570 },
+ { 158, 1571 },
+ { 159, 376 },
+ { 160, 160 },
+ { 161, 1572 },
+ { 162, 1573 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 1574 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 1575 },
+ { 169, 169 },
+ { 170, 1576 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 1577 },
+ { 179, 1578 },
+ { 180, 1579 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 1580 },
+ { 185, 185 },
+ { 186, 1581 },
+ { 187, 187 },
+ { 188, 1582 },
+ { 189, 1583 },
+ { 190, 1584 },
+ { 191, 1585 },
+ { 192, 192 },
+ { 193, 1586 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 1587 },
+ { 197, 1588 },
+ { 198, 1589 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 1590 },
+ { 205, 1591 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 1592 },
+ { 209, 1593 },
+ { 210, 1594 },
+ { 211, 1600 },
+ { 212, 212 },
+ { 213, 1601 },
+ { 214, 1602 },
+ { 215, 215 },
+ { 216, 1603 },
+ { 217, 217 },
+ { 218, 1711 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 1604 },
+ { 222, 1605 },
+ { 223, 1606 },
+ { 224, 224 },
+ { 225, 1607 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 1608 },
+ { 229, 1609 },
+ { 230, 1610 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 1611 },
+ { 237, 1612 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 1613 },
+ { 241, 1614 },
+ { 242, 1615 },
+ { 243, 1616 },
+ { 244, 244 },
+ { 245, 1617 },
+ { 246, 1618 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 193 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 225 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 218 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t cp1257[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 8364 },
+ { 129, 129 },
+ { 130, 8218 },
+ { 131, 131 },
+ { 132, 8222 },
+ { 133, 8230 },
+ { 134, 8224 },
+ { 135, 8225 },
+ { 136, 136 },
+ { 137, 8240 },
+ { 138, 138 },
+ { 139, 8249 },
+ { 140, 140 },
+ { 141, 168 },
+ { 142, 711 },
+ { 143, 184 },
+ { 144, 144 },
+ { 145, 8216 },
+ { 146, 8217 },
+ { 147, 8220 },
+ { 148, 8221 },
+ { 149, 8226 },
+ { 150, 8211 },
+ { 151, 8212 },
+ { 152, 152 },
+ { 153, 8482 },
+ { 154, 154 },
+ { 155, 8250 },
+ { 156, 156 },
+ { 157, 175 },
+ { 158, 731 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 216 },
+ { 169, 169 },
+ { 170, 342 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 198 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 248 },
+ { 185, 185 },
+ { 186, 343 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 230 },
+ { 192, 260 },
+ { 193, 302 },
+ { 194, 256 },
+ { 195, 262 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 280 },
+ { 199, 274 },
+ { 200, 268 },
+ { 201, 201 },
+ { 202, 377 },
+ { 203, 278 },
+ { 204, 290 },
+ { 205, 310 },
+ { 206, 298 },
+ { 207, 315 },
+ { 208, 352 },
+ { 209, 323 },
+ { 210, 325 },
+ { 211, 211 },
+ { 212, 332 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 370 },
+ { 217, 321 },
+ { 218, 340 },
+ { 219, 362 },
+ { 220, 220 },
+ { 221, 379 },
+ { 222, 381 },
+ { 223, 223 },
+ { 224, 261 },
+ { 225, 303 },
+ { 226, 257 },
+ { 227, 263 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 281 },
+ { 231, 275 },
+ { 232, 269 },
+ { 233, 233 },
+ { 234, 378 },
+ { 235, 279 },
+ { 236, 291 },
+ { 237, 311 },
+ { 238, 299 },
+ { 239, 316 },
+ { 240, 353 },
+ { 241, 324 },
+ { 242, 326 },
+ { 243, 243 },
+ { 244, 333 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 371 },
+ { 249, 322 },
+ { 250, 347 },
+ { 251, 363 },
+ { 252, 252 },
+ { 253, 380 },
+ { 254, 382 },
+ { 255, 729 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 258 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 259 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 264 },
+ { 67, 266 },
+ { 99, 231 },
+ { 99, 265 },
+ { 99, 267 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 276 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 277 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 300 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 301 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 488 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 317 },
+ { 76, 319 },
+ { 108, 314 },
+ { 108, 318 },
+ { 108, 320 },
+ { 77, 209 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 212 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 244 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 115, 349 },
+ { 115, 351 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 360 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 361 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+};
+static convert_t cp1258[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 8364 },
+ { 129, 129 },
+ { 130, 8218 },
+ { 131, 402 },
+ { 132, 8222 },
+ { 133, 8230 },
+ { 134, 8224 },
+ { 135, 8225 },
+ { 136, 710 },
+ { 137, 8240 },
+ { 138, 138 },
+ { 139, 8249 },
+ { 140, 338 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 8216 },
+ { 146, 8217 },
+ { 147, 8220 },
+ { 148, 8221 },
+ { 149, 8226 },
+ { 150, 8211 },
+ { 151, 8212 },
+ { 152, 732 },
+ { 153, 8482 },
+ { 154, 154 },
+ { 155, 8250 },
+ { 156, 339 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 376 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 258 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 832 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 272 },
+ { 209, 209 },
+ { 210, 777 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 416 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 431 },
+ { 222, 771 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 259 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 833 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 273 },
+ { 241, 241 },
+ { 242, 803 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 417 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 432 },
+ { 254, 8363 },
+ { 255, 255 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 195 },
+ { 65, 256 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 227 },
+ { 97, 257 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 213 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 245 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 121, 253 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t decmcs[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 164 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 338 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 376 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 339 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 255 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 121, 253 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t ebc037[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 32 },
+ { 65, 160 },
+ { 66, 226 },
+ { 67, 228 },
+ { 68, 224 },
+ { 69, 225 },
+ { 70, 227 },
+ { 71, 229 },
+ { 72, 231 },
+ { 73, 241 },
+ { 74, 162 },
+ { 75, 46 },
+ { 76, 60 },
+ { 77, 40 },
+ { 78, 43 },
+ { 79, 124 },
+ { 80, 38 },
+ { 81, 233 },
+ { 82, 234 },
+ { 83, 235 },
+ { 84, 232 },
+ { 85, 237 },
+ { 86, 238 },
+ { 87, 239 },
+ { 88, 236 },
+ { 89, 223 },
+ { 90, 33 },
+ { 91, 36 },
+ { 92, 42 },
+ { 93, 41 },
+ { 94, 59 },
+ { 95, 172 },
+ { 96, 45 },
+ { 97, 47 },
+ { 98, 194 },
+ { 99, 196 },
+ { 100, 192 },
+ { 101, 193 },
+ { 102, 195 },
+ { 103, 197 },
+ { 104, 199 },
+ { 105, 209 },
+ { 106, 166 },
+ { 107, 44 },
+ { 108, 37 },
+ { 109, 95 },
+ { 110, 62 },
+ { 111, 63 },
+ { 112, 248 },
+ { 113, 201 },
+ { 114, 202 },
+ { 115, 203 },
+ { 116, 200 },
+ { 117, 205 },
+ { 118, 206 },
+ { 119, 207 },
+ { 120, 204 },
+ { 121, 96 },
+ { 122, 58 },
+ { 123, 35 },
+ { 124, 64 },
+ { 125, 39 },
+ { 126, 61 },
+ { 127, 34 },
+ { 128, 216 },
+ { 129, 97 },
+ { 130, 98 },
+ { 131, 99 },
+ { 132, 100 },
+ { 133, 101 },
+ { 134, 102 },
+ { 135, 103 },
+ { 136, 104 },
+ { 137, 105 },
+ { 138, 171 },
+ { 139, 187 },
+ { 140, 240 },
+ { 141, 253 },
+ { 142, 254 },
+ { 143, 177 },
+ { 144, 176 },
+ { 145, 106 },
+ { 146, 107 },
+ { 147, 108 },
+ { 148, 109 },
+ { 149, 110 },
+ { 150, 111 },
+ { 151, 112 },
+ { 152, 113 },
+ { 153, 114 },
+ { 154, 170 },
+ { 155, 186 },
+ { 156, 230 },
+ { 157, 184 },
+ { 158, 198 },
+ { 159, 164 },
+ { 160, 181 },
+ { 161, 126 },
+ { 162, 115 },
+ { 163, 116 },
+ { 164, 117 },
+ { 165, 118 },
+ { 166, 119 },
+ { 167, 120 },
+ { 168, 121 },
+ { 169, 122 },
+ { 170, 161 },
+ { 171, 191 },
+ { 172, 208 },
+ { 173, 221 },
+ { 174, 222 },
+ { 175, 174 },
+ { 176, 94 },
+ { 177, 163 },
+ { 178, 165 },
+ { 179, 183 },
+ { 180, 169 },
+ { 181, 167 },
+ { 182, 182 },
+ { 183, 188 },
+ { 184, 189 },
+ { 185, 190 },
+ { 186, 91 },
+ { 187, 93 },
+ { 188, 175 },
+ { 189, 168 },
+ { 190, 180 },
+ { 191, 215 },
+ { 192, 123 },
+ { 193, 65 },
+ { 194, 66 },
+ { 195, 67 },
+ { 196, 68 },
+ { 197, 69 },
+ { 198, 70 },
+ { 199, 71 },
+ { 200, 72 },
+ { 201, 73 },
+ { 202, 173 },
+ { 203, 244 },
+ { 204, 246 },
+ { 205, 242 },
+ { 206, 243 },
+ { 207, 245 },
+ { 208, 125 },
+ { 209, 74 },
+ { 210, 75 },
+ { 211, 76 },
+ { 212, 77 },
+ { 213, 78 },
+ { 214, 79 },
+ { 215, 80 },
+ { 216, 81 },
+ { 217, 82 },
+ { 218, 185 },
+ { 219, 251 },
+ { 220, 252 },
+ { 221, 249 },
+ { 222, 250 },
+ { 223, 255 },
+ { 224, 92 },
+ { 225, 247 },
+ { 226, 83 },
+ { 227, 84 },
+ { 228, 85 },
+ { 229, 86 },
+ { 230, 87 },
+ { 231, 88 },
+ { 232, 89 },
+ { 233, 90 },
+ { 234, 178 },
+ { 235, 212 },
+ { 236, 214 },
+ { 237, 210 },
+ { 238, 211 },
+ { 239, 213 },
+ { 240, 48 },
+ { 241, 49 },
+ { 242, 50 },
+ { 243, 51 },
+ { 244, 52 },
+ { 245, 53 },
+ { 246, 54 },
+ { 247, 55 },
+ { 248, 56 },
+ { 249, 57 },
+ { 250, 179 },
+ { 251, 219 },
+ { 252, 220 },
+ { 253, 217 },
+ { 254, 218 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 193, 256 },
+ { 193, 258 },
+ { 193, 260 },
+ { 193, 461 },
+ { 129, 257 },
+ { 129, 259 },
+ { 129, 261 },
+ { 129, 462 },
+ { 195, 262 },
+ { 195, 264 },
+ { 195, 266 },
+ { 195, 268 },
+ { 131, 263 },
+ { 131, 265 },
+ { 131, 267 },
+ { 131, 269 },
+ { 196, 270 },
+ { 132, 271 },
+ { 197, 274 },
+ { 197, 276 },
+ { 197, 278 },
+ { 197, 280 },
+ { 197, 282 },
+ { 133, 275 },
+ { 133, 277 },
+ { 133, 279 },
+ { 133, 281 },
+ { 133, 283 },
+ { 199, 284 },
+ { 199, 286 },
+ { 199, 288 },
+ { 199, 290 },
+ { 199, 486 },
+ { 199, 500 },
+ { 135, 285 },
+ { 135, 287 },
+ { 135, 289 },
+ { 135, 291 },
+ { 135, 487 },
+ { 135, 501 },
+ { 200, 292 },
+ { 136, 293 },
+ { 201, 296 },
+ { 201, 298 },
+ { 201, 300 },
+ { 201, 302 },
+ { 201, 304 },
+ { 201, 463 },
+ { 137, 297 },
+ { 137, 299 },
+ { 137, 301 },
+ { 137, 303 },
+ { 137, 305 },
+ { 137, 464 },
+ { 209, 308 },
+ { 145, 309 },
+ { 210, 310 },
+ { 210, 488 },
+ { 146, 311 },
+ { 146, 489 },
+ { 211, 313 },
+ { 211, 315 },
+ { 211, 317 },
+ { 211, 319 },
+ { 211, 321 },
+ { 147, 314 },
+ { 147, 316 },
+ { 147, 318 },
+ { 147, 320 },
+ { 147, 322 },
+ { 212, 323 },
+ { 212, 325 },
+ { 212, 327 },
+ { 148, 324 },
+ { 148, 326 },
+ { 148, 328 },
+ { 148, 329 },
+ { 213, 332 },
+ { 213, 334 },
+ { 213, 336 },
+ { 213, 465 },
+ { 213, 490 },
+ { 149, 333 },
+ { 149, 335 },
+ { 149, 337 },
+ { 149, 466 },
+ { 149, 491 },
+ { 217, 340 },
+ { 217, 342 },
+ { 217, 344 },
+ { 153, 341 },
+ { 153, 343 },
+ { 153, 345 },
+ { 226, 346 },
+ { 226, 348 },
+ { 226, 350 },
+ { 226, 352 },
+ { 162, 347 },
+ { 162, 349 },
+ { 162, 351 },
+ { 162, 353 },
+ { 227, 354 },
+ { 227, 356 },
+ { 163, 355 },
+ { 163, 357 },
+ { 228, 360 },
+ { 228, 362 },
+ { 228, 364 },
+ { 228, 366 },
+ { 228, 368 },
+ { 228, 370 },
+ { 228, 467 },
+ { 164, 361 },
+ { 164, 363 },
+ { 164, 365 },
+ { 164, 367 },
+ { 164, 369 },
+ { 164, 371 },
+ { 164, 468 },
+ { 230, 372 },
+ { 166, 373 },
+ { 232, 374 },
+ { 232, 376 },
+ { 168, 375 },
+ { 233, 377 },
+ { 233, 379 },
+ { 233, 381 },
+ { 169, 378 },
+ { 169, 380 },
+ { 169, 382 },
+};
+static convert_t ebc1026[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 32 },
+ { 65, 160 },
+ { 66, 226 },
+ { 67, 228 },
+ { 68, 224 },
+ { 69, 225 },
+ { 70, 227 },
+ { 71, 229 },
+ { 72, 123 },
+ { 73, 241 },
+ { 74, 199 },
+ { 75, 46 },
+ { 76, 60 },
+ { 77, 40 },
+ { 78, 43 },
+ { 79, 33 },
+ { 80, 38 },
+ { 81, 233 },
+ { 82, 234 },
+ { 83, 235 },
+ { 84, 232 },
+ { 85, 237 },
+ { 86, 238 },
+ { 87, 239 },
+ { 88, 236 },
+ { 89, 223 },
+ { 90, 286 },
+ { 91, 304 },
+ { 92, 42 },
+ { 93, 41 },
+ { 94, 59 },
+ { 95, 94 },
+ { 96, 45 },
+ { 97, 47 },
+ { 98, 194 },
+ { 99, 196 },
+ { 100, 192 },
+ { 101, 193 },
+ { 102, 195 },
+ { 103, 197 },
+ { 104, 91 },
+ { 105, 209 },
+ { 106, 351 },
+ { 107, 44 },
+ { 108, 37 },
+ { 109, 95 },
+ { 110, 62 },
+ { 111, 63 },
+ { 112, 248 },
+ { 113, 201 },
+ { 114, 202 },
+ { 115, 203 },
+ { 116, 200 },
+ { 117, 205 },
+ { 118, 206 },
+ { 119, 207 },
+ { 120, 204 },
+ { 121, 305 },
+ { 122, 58 },
+ { 123, 214 },
+ { 124, 350 },
+ { 125, 39 },
+ { 126, 61 },
+ { 127, 220 },
+ { 128, 216 },
+ { 129, 97 },
+ { 130, 98 },
+ { 131, 99 },
+ { 132, 100 },
+ { 133, 101 },
+ { 134, 102 },
+ { 135, 103 },
+ { 136, 104 },
+ { 137, 105 },
+ { 138, 171 },
+ { 139, 187 },
+ { 140, 125 },
+ { 141, 96 },
+ { 142, 166 },
+ { 143, 177 },
+ { 144, 176 },
+ { 145, 106 },
+ { 146, 107 },
+ { 147, 108 },
+ { 148, 109 },
+ { 149, 110 },
+ { 150, 111 },
+ { 151, 112 },
+ { 152, 113 },
+ { 153, 114 },
+ { 154, 170 },
+ { 155, 186 },
+ { 156, 230 },
+ { 157, 184 },
+ { 158, 198 },
+ { 159, 164 },
+ { 160, 181 },
+ { 161, 246 },
+ { 162, 115 },
+ { 163, 116 },
+ { 164, 117 },
+ { 165, 118 },
+ { 166, 119 },
+ { 167, 120 },
+ { 168, 121 },
+ { 169, 122 },
+ { 170, 161 },
+ { 171, 191 },
+ { 172, 93 },
+ { 173, 36 },
+ { 174, 64 },
+ { 175, 174 },
+ { 176, 162 },
+ { 177, 163 },
+ { 178, 165 },
+ { 179, 183 },
+ { 180, 169 },
+ { 181, 167 },
+ { 182, 182 },
+ { 183, 188 },
+ { 184, 189 },
+ { 185, 190 },
+ { 186, 172 },
+ { 187, 124 },
+ { 188, 175 },
+ { 189, 168 },
+ { 190, 180 },
+ { 191, 215 },
+ { 192, 231 },
+ { 193, 65 },
+ { 194, 66 },
+ { 195, 67 },
+ { 196, 68 },
+ { 197, 69 },
+ { 198, 70 },
+ { 199, 71 },
+ { 200, 72 },
+ { 201, 73 },
+ { 202, 173 },
+ { 203, 244 },
+ { 204, 126 },
+ { 205, 242 },
+ { 206, 243 },
+ { 207, 245 },
+ { 208, 287 },
+ { 209, 74 },
+ { 210, 75 },
+ { 211, 76 },
+ { 212, 77 },
+ { 213, 78 },
+ { 214, 79 },
+ { 215, 80 },
+ { 216, 81 },
+ { 217, 82 },
+ { 218, 185 },
+ { 219, 251 },
+ { 220, 92 },
+ { 221, 249 },
+ { 222, 250 },
+ { 223, 255 },
+ { 224, 252 },
+ { 225, 247 },
+ { 226, 83 },
+ { 227, 84 },
+ { 228, 85 },
+ { 229, 86 },
+ { 230, 87 },
+ { 231, 88 },
+ { 232, 89 },
+ { 233, 90 },
+ { 234, 178 },
+ { 235, 212 },
+ { 236, 35 },
+ { 237, 210 },
+ { 238, 211 },
+ { 239, 213 },
+ { 240, 48 },
+ { 241, 49 },
+ { 242, 50 },
+ { 243, 51 },
+ { 244, 52 },
+ { 245, 53 },
+ { 246, 54 },
+ { 247, 55 },
+ { 248, 56 },
+ { 249, 57 },
+ { 250, 179 },
+ { 251, 219 },
+ { 252, 34 },
+ { 253, 217 },
+ { 254, 218 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 193, 256 },
+ { 193, 258 },
+ { 193, 260 },
+ { 193, 461 },
+ { 129, 257 },
+ { 129, 259 },
+ { 129, 261 },
+ { 129, 462 },
+ { 195, 262 },
+ { 195, 264 },
+ { 195, 266 },
+ { 195, 268 },
+ { 131, 263 },
+ { 131, 265 },
+ { 131, 267 },
+ { 131, 269 },
+ { 196, 270 },
+ { 132, 271 },
+ { 197, 274 },
+ { 197, 276 },
+ { 197, 278 },
+ { 197, 280 },
+ { 197, 282 },
+ { 133, 275 },
+ { 133, 277 },
+ { 133, 279 },
+ { 133, 281 },
+ { 133, 283 },
+ { 199, 284 },
+ { 199, 288 },
+ { 199, 290 },
+ { 199, 486 },
+ { 199, 500 },
+ { 135, 285 },
+ { 135, 289 },
+ { 135, 291 },
+ { 135, 487 },
+ { 135, 501 },
+ { 200, 292 },
+ { 136, 293 },
+ { 201, 296 },
+ { 201, 298 },
+ { 201, 300 },
+ { 201, 302 },
+ { 201, 463 },
+ { 137, 297 },
+ { 137, 299 },
+ { 137, 301 },
+ { 137, 303 },
+ { 137, 464 },
+ { 209, 308 },
+ { 145, 309 },
+ { 210, 310 },
+ { 210, 488 },
+ { 146, 311 },
+ { 146, 489 },
+ { 211, 313 },
+ { 211, 315 },
+ { 211, 317 },
+ { 211, 319 },
+ { 211, 321 },
+ { 147, 314 },
+ { 147, 316 },
+ { 147, 318 },
+ { 147, 320 },
+ { 147, 322 },
+ { 212, 323 },
+ { 212, 325 },
+ { 212, 327 },
+ { 148, 324 },
+ { 148, 326 },
+ { 148, 328 },
+ { 148, 329 },
+ { 213, 332 },
+ { 213, 334 },
+ { 213, 336 },
+ { 213, 465 },
+ { 213, 490 },
+ { 149, 333 },
+ { 149, 335 },
+ { 149, 337 },
+ { 149, 466 },
+ { 149, 491 },
+ { 217, 340 },
+ { 217, 342 },
+ { 217, 344 },
+ { 153, 341 },
+ { 153, 343 },
+ { 153, 345 },
+ { 226, 346 },
+ { 226, 348 },
+ { 226, 352 },
+ { 162, 347 },
+ { 162, 349 },
+ { 162, 353 },
+ { 227, 354 },
+ { 227, 356 },
+ { 163, 355 },
+ { 163, 357 },
+ { 228, 360 },
+ { 228, 362 },
+ { 228, 364 },
+ { 228, 366 },
+ { 228, 368 },
+ { 228, 370 },
+ { 228, 467 },
+ { 164, 361 },
+ { 164, 363 },
+ { 164, 365 },
+ { 164, 367 },
+ { 164, 369 },
+ { 164, 371 },
+ { 164, 468 },
+ { 230, 372 },
+ { 166, 373 },
+ { 232, 221 },
+ { 232, 374 },
+ { 232, 376 },
+ { 168, 253 },
+ { 168, 375 },
+ { 233, 377 },
+ { 233, 379 },
+ { 233, 381 },
+ { 169, 378 },
+ { 169, 380 },
+ { 169, 382 },
+};
+static convert_t ebc1047[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 32 },
+ { 65, 160 },
+ { 66, 226 },
+ { 67, 228 },
+ { 68, 224 },
+ { 69, 225 },
+ { 70, 227 },
+ { 71, 229 },
+ { 72, 231 },
+ { 73, 241 },
+ { 74, 162 },
+ { 75, 46 },
+ { 76, 60 },
+ { 77, 40 },
+ { 78, 43 },
+ { 79, 124 },
+ { 80, 38 },
+ { 81, 233 },
+ { 82, 234 },
+ { 83, 235 },
+ { 84, 232 },
+ { 85, 237 },
+ { 86, 238 },
+ { 87, 239 },
+ { 88, 236 },
+ { 89, 223 },
+ { 90, 33 },
+ { 91, 36 },
+ { 92, 42 },
+ { 93, 41 },
+ { 94, 59 },
+ { 95, 94 },
+ { 96, 45 },
+ { 97, 47 },
+ { 98, 194 },
+ { 99, 196 },
+ { 100, 192 },
+ { 101, 193 },
+ { 102, 195 },
+ { 103, 197 },
+ { 104, 199 },
+ { 105, 209 },
+ { 106, 166 },
+ { 107, 44 },
+ { 108, 37 },
+ { 109, 95 },
+ { 110, 62 },
+ { 111, 63 },
+ { 112, 248 },
+ { 113, 201 },
+ { 114, 202 },
+ { 115, 203 },
+ { 116, 200 },
+ { 117, 205 },
+ { 118, 206 },
+ { 119, 207 },
+ { 120, 204 },
+ { 121, 96 },
+ { 122, 58 },
+ { 123, 35 },
+ { 124, 64 },
+ { 125, 39 },
+ { 126, 61 },
+ { 127, 34 },
+ { 128, 216 },
+ { 129, 97 },
+ { 130, 98 },
+ { 131, 99 },
+ { 132, 100 },
+ { 133, 101 },
+ { 134, 102 },
+ { 135, 103 },
+ { 136, 104 },
+ { 137, 105 },
+ { 138, 171 },
+ { 139, 187 },
+ { 140, 240 },
+ { 141, 253 },
+ { 142, 254 },
+ { 143, 177 },
+ { 144, 176 },
+ { 145, 106 },
+ { 146, 107 },
+ { 147, 108 },
+ { 148, 109 },
+ { 149, 110 },
+ { 150, 111 },
+ { 151, 112 },
+ { 152, 113 },
+ { 153, 114 },
+ { 154, 170 },
+ { 155, 186 },
+ { 156, 230 },
+ { 157, 184 },
+ { 158, 198 },
+ { 159, 164 },
+ { 160, 181 },
+ { 161, 126 },
+ { 162, 115 },
+ { 163, 116 },
+ { 164, 117 },
+ { 165, 118 },
+ { 166, 119 },
+ { 167, 120 },
+ { 168, 121 },
+ { 169, 122 },
+ { 170, 161 },
+ { 171, 191 },
+ { 172, 208 },
+ { 173, 91 },
+ { 174, 222 },
+ { 175, 174 },
+ { 176, 172 },
+ { 177, 163 },
+ { 178, 165 },
+ { 179, 183 },
+ { 180, 169 },
+ { 181, 167 },
+ { 182, 182 },
+ { 183, 188 },
+ { 184, 189 },
+ { 185, 190 },
+ { 186, 221 },
+ { 187, 168 },
+ { 188, 175 },
+ { 189, 93 },
+ { 190, 180 },
+ { 191, 215 },
+ { 192, 123 },
+ { 193, 65 },
+ { 194, 66 },
+ { 195, 67 },
+ { 196, 68 },
+ { 197, 69 },
+ { 198, 70 },
+ { 199, 71 },
+ { 200, 72 },
+ { 201, 73 },
+ { 202, 173 },
+ { 203, 244 },
+ { 204, 246 },
+ { 205, 242 },
+ { 206, 243 },
+ { 207, 245 },
+ { 208, 125 },
+ { 209, 74 },
+ { 210, 75 },
+ { 211, 76 },
+ { 212, 77 },
+ { 213, 78 },
+ { 214, 79 },
+ { 215, 80 },
+ { 216, 81 },
+ { 217, 82 },
+ { 218, 185 },
+ { 219, 251 },
+ { 220, 252 },
+ { 221, 249 },
+ { 222, 250 },
+ { 223, 255 },
+ { 224, 92 },
+ { 225, 247 },
+ { 226, 83 },
+ { 227, 84 },
+ { 228, 85 },
+ { 229, 86 },
+ { 230, 87 },
+ { 231, 88 },
+ { 232, 89 },
+ { 233, 90 },
+ { 234, 178 },
+ { 235, 212 },
+ { 236, 214 },
+ { 237, 210 },
+ { 238, 211 },
+ { 239, 213 },
+ { 240, 48 },
+ { 241, 49 },
+ { 242, 50 },
+ { 243, 51 },
+ { 244, 52 },
+ { 245, 53 },
+ { 246, 54 },
+ { 247, 55 },
+ { 248, 56 },
+ { 249, 57 },
+ { 250, 179 },
+ { 251, 219 },
+ { 252, 220 },
+ { 253, 217 },
+ { 254, 218 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 193, 256 },
+ { 193, 258 },
+ { 193, 260 },
+ { 193, 461 },
+ { 129, 257 },
+ { 129, 259 },
+ { 129, 261 },
+ { 129, 462 },
+ { 195, 262 },
+ { 195, 264 },
+ { 195, 266 },
+ { 195, 268 },
+ { 131, 263 },
+ { 131, 265 },
+ { 131, 267 },
+ { 131, 269 },
+ { 196, 270 },
+ { 132, 271 },
+ { 197, 274 },
+ { 197, 276 },
+ { 197, 278 },
+ { 197, 280 },
+ { 197, 282 },
+ { 133, 275 },
+ { 133, 277 },
+ { 133, 279 },
+ { 133, 281 },
+ { 133, 283 },
+ { 199, 284 },
+ { 199, 286 },
+ { 199, 288 },
+ { 199, 290 },
+ { 199, 486 },
+ { 199, 500 },
+ { 135, 285 },
+ { 135, 287 },
+ { 135, 289 },
+ { 135, 291 },
+ { 135, 487 },
+ { 135, 501 },
+ { 200, 292 },
+ { 136, 293 },
+ { 201, 296 },
+ { 201, 298 },
+ { 201, 300 },
+ { 201, 302 },
+ { 201, 304 },
+ { 201, 463 },
+ { 137, 297 },
+ { 137, 299 },
+ { 137, 301 },
+ { 137, 303 },
+ { 137, 305 },
+ { 137, 464 },
+ { 209, 308 },
+ { 145, 309 },
+ { 210, 310 },
+ { 210, 488 },
+ { 146, 311 },
+ { 146, 489 },
+ { 211, 313 },
+ { 211, 315 },
+ { 211, 317 },
+ { 211, 319 },
+ { 211, 321 },
+ { 147, 314 },
+ { 147, 316 },
+ { 147, 318 },
+ { 147, 320 },
+ { 147, 322 },
+ { 212, 323 },
+ { 212, 325 },
+ { 212, 327 },
+ { 148, 324 },
+ { 148, 326 },
+ { 148, 328 },
+ { 148, 329 },
+ { 213, 332 },
+ { 213, 334 },
+ { 213, 336 },
+ { 213, 465 },
+ { 213, 490 },
+ { 149, 333 },
+ { 149, 335 },
+ { 149, 337 },
+ { 149, 466 },
+ { 149, 491 },
+ { 217, 340 },
+ { 217, 342 },
+ { 217, 344 },
+ { 153, 341 },
+ { 153, 343 },
+ { 153, 345 },
+ { 226, 346 },
+ { 226, 348 },
+ { 226, 350 },
+ { 226, 352 },
+ { 162, 347 },
+ { 162, 349 },
+ { 162, 351 },
+ { 162, 353 },
+ { 227, 354 },
+ { 227, 356 },
+ { 163, 355 },
+ { 163, 357 },
+ { 228, 360 },
+ { 228, 362 },
+ { 228, 364 },
+ { 228, 366 },
+ { 228, 368 },
+ { 228, 370 },
+ { 228, 467 },
+ { 164, 361 },
+ { 164, 363 },
+ { 164, 365 },
+ { 164, 367 },
+ { 164, 369 },
+ { 164, 371 },
+ { 164, 468 },
+ { 230, 372 },
+ { 166, 373 },
+ { 232, 374 },
+ { 232, 376 },
+ { 168, 375 },
+ { 233, 377 },
+ { 233, 379 },
+ { 233, 381 },
+ { 169, 378 },
+ { 169, 380 },
+ { 169, 382 },
+};
+static convert_t ebc500[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 32 },
+ { 65, 160 },
+ { 66, 226 },
+ { 67, 228 },
+ { 68, 224 },
+ { 69, 225 },
+ { 70, 227 },
+ { 71, 229 },
+ { 72, 231 },
+ { 73, 241 },
+ { 74, 91 },
+ { 75, 46 },
+ { 76, 60 },
+ { 77, 40 },
+ { 78, 43 },
+ { 79, 33 },
+ { 80, 38 },
+ { 81, 233 },
+ { 82, 234 },
+ { 83, 235 },
+ { 84, 232 },
+ { 85, 237 },
+ { 86, 238 },
+ { 87, 239 },
+ { 88, 236 },
+ { 89, 223 },
+ { 90, 93 },
+ { 91, 36 },
+ { 92, 42 },
+ { 93, 41 },
+ { 94, 59 },
+ { 95, 94 },
+ { 96, 45 },
+ { 97, 47 },
+ { 98, 194 },
+ { 99, 196 },
+ { 100, 192 },
+ { 101, 193 },
+ { 102, 195 },
+ { 103, 197 },
+ { 104, 199 },
+ { 105, 209 },
+ { 106, 166 },
+ { 107, 44 },
+ { 108, 37 },
+ { 109, 95 },
+ { 110, 62 },
+ { 111, 63 },
+ { 112, 248 },
+ { 113, 201 },
+ { 114, 202 },
+ { 115, 203 },
+ { 116, 200 },
+ { 117, 205 },
+ { 118, 206 },
+ { 119, 207 },
+ { 120, 204 },
+ { 121, 96 },
+ { 122, 58 },
+ { 123, 35 },
+ { 124, 64 },
+ { 125, 39 },
+ { 126, 61 },
+ { 127, 34 },
+ { 128, 216 },
+ { 129, 97 },
+ { 130, 98 },
+ { 131, 99 },
+ { 132, 100 },
+ { 133, 101 },
+ { 134, 102 },
+ { 135, 103 },
+ { 136, 104 },
+ { 137, 105 },
+ { 138, 171 },
+ { 139, 187 },
+ { 140, 240 },
+ { 141, 253 },
+ { 142, 254 },
+ { 143, 177 },
+ { 144, 176 },
+ { 145, 106 },
+ { 146, 107 },
+ { 147, 108 },
+ { 148, 109 },
+ { 149, 110 },
+ { 150, 111 },
+ { 151, 112 },
+ { 152, 113 },
+ { 153, 114 },
+ { 154, 170 },
+ { 155, 186 },
+ { 156, 230 },
+ { 157, 184 },
+ { 158, 198 },
+ { 159, 164 },
+ { 160, 181 },
+ { 161, 126 },
+ { 162, 115 },
+ { 163, 116 },
+ { 164, 117 },
+ { 165, 118 },
+ { 166, 119 },
+ { 167, 120 },
+ { 168, 121 },
+ { 169, 122 },
+ { 170, 161 },
+ { 171, 191 },
+ { 172, 208 },
+ { 173, 221 },
+ { 174, 222 },
+ { 175, 174 },
+ { 176, 162 },
+ { 177, 163 },
+ { 178, 165 },
+ { 179, 183 },
+ { 180, 169 },
+ { 181, 167 },
+ { 182, 182 },
+ { 183, 188 },
+ { 184, 189 },
+ { 185, 190 },
+ { 186, 172 },
+ { 187, 124 },
+ { 188, 175 },
+ { 189, 168 },
+ { 190, 180 },
+ { 191, 215 },
+ { 192, 123 },
+ { 193, 65 },
+ { 194, 66 },
+ { 195, 67 },
+ { 196, 68 },
+ { 197, 69 },
+ { 198, 70 },
+ { 199, 71 },
+ { 200, 72 },
+ { 201, 73 },
+ { 202, 173 },
+ { 203, 244 },
+ { 204, 246 },
+ { 205, 242 },
+ { 206, 243 },
+ { 207, 245 },
+ { 208, 125 },
+ { 209, 74 },
+ { 210, 75 },
+ { 211, 76 },
+ { 212, 77 },
+ { 213, 78 },
+ { 214, 79 },
+ { 215, 80 },
+ { 216, 81 },
+ { 217, 82 },
+ { 218, 185 },
+ { 219, 251 },
+ { 220, 252 },
+ { 221, 249 },
+ { 222, 250 },
+ { 223, 255 },
+ { 224, 92 },
+ { 225, 247 },
+ { 226, 83 },
+ { 227, 84 },
+ { 228, 85 },
+ { 229, 86 },
+ { 230, 87 },
+ { 231, 88 },
+ { 232, 89 },
+ { 233, 90 },
+ { 234, 178 },
+ { 235, 212 },
+ { 236, 214 },
+ { 237, 210 },
+ { 238, 211 },
+ { 239, 213 },
+ { 240, 48 },
+ { 241, 49 },
+ { 242, 50 },
+ { 243, 51 },
+ { 244, 52 },
+ { 245, 53 },
+ { 246, 54 },
+ { 247, 55 },
+ { 248, 56 },
+ { 249, 57 },
+ { 250, 179 },
+ { 251, 219 },
+ { 252, 220 },
+ { 253, 217 },
+ { 254, 218 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 193, 256 },
+ { 193, 258 },
+ { 193, 260 },
+ { 193, 461 },
+ { 129, 257 },
+ { 129, 259 },
+ { 129, 261 },
+ { 129, 462 },
+ { 195, 262 },
+ { 195, 264 },
+ { 195, 266 },
+ { 195, 268 },
+ { 131, 263 },
+ { 131, 265 },
+ { 131, 267 },
+ { 131, 269 },
+ { 196, 270 },
+ { 132, 271 },
+ { 197, 274 },
+ { 197, 276 },
+ { 197, 278 },
+ { 197, 280 },
+ { 197, 282 },
+ { 133, 275 },
+ { 133, 277 },
+ { 133, 279 },
+ { 133, 281 },
+ { 133, 283 },
+ { 199, 284 },
+ { 199, 286 },
+ { 199, 288 },
+ { 199, 290 },
+ { 199, 486 },
+ { 199, 500 },
+ { 135, 285 },
+ { 135, 287 },
+ { 135, 289 },
+ { 135, 291 },
+ { 135, 487 },
+ { 135, 501 },
+ { 200, 292 },
+ { 136, 293 },
+ { 201, 296 },
+ { 201, 298 },
+ { 201, 300 },
+ { 201, 302 },
+ { 201, 304 },
+ { 201, 463 },
+ { 137, 297 },
+ { 137, 299 },
+ { 137, 301 },
+ { 137, 303 },
+ { 137, 305 },
+ { 137, 464 },
+ { 209, 308 },
+ { 145, 309 },
+ { 210, 310 },
+ { 210, 488 },
+ { 146, 311 },
+ { 146, 489 },
+ { 211, 313 },
+ { 211, 315 },
+ { 211, 317 },
+ { 211, 319 },
+ { 211, 321 },
+ { 147, 314 },
+ { 147, 316 },
+ { 147, 318 },
+ { 147, 320 },
+ { 147, 322 },
+ { 212, 323 },
+ { 212, 325 },
+ { 212, 327 },
+ { 148, 324 },
+ { 148, 326 },
+ { 148, 328 },
+ { 148, 329 },
+ { 213, 332 },
+ { 213, 334 },
+ { 213, 336 },
+ { 213, 465 },
+ { 213, 490 },
+ { 149, 333 },
+ { 149, 335 },
+ { 149, 337 },
+ { 149, 466 },
+ { 149, 491 },
+ { 217, 340 },
+ { 217, 342 },
+ { 217, 344 },
+ { 153, 341 },
+ { 153, 343 },
+ { 153, 345 },
+ { 226, 346 },
+ { 226, 348 },
+ { 226, 350 },
+ { 226, 352 },
+ { 162, 347 },
+ { 162, 349 },
+ { 162, 351 },
+ { 162, 353 },
+ { 227, 354 },
+ { 227, 356 },
+ { 163, 355 },
+ { 163, 357 },
+ { 228, 360 },
+ { 228, 362 },
+ { 228, 364 },
+ { 228, 366 },
+ { 228, 368 },
+ { 228, 370 },
+ { 228, 467 },
+ { 164, 361 },
+ { 164, 363 },
+ { 164, 365 },
+ { 164, 367 },
+ { 164, 369 },
+ { 164, 371 },
+ { 164, 468 },
+ { 230, 372 },
+ { 166, 373 },
+ { 232, 374 },
+ { 232, 376 },
+ { 168, 375 },
+ { 233, 377 },
+ { 233, 379 },
+ { 233, 381 },
+ { 169, 378 },
+ { 169, 380 },
+ { 169, 382 },
+};
+static convert_t ebc875[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 32 },
+ { 65, 913 },
+ { 66, 914 },
+ { 67, 915 },
+ { 68, 916 },
+ { 69, 917 },
+ { 70, 918 },
+ { 71, 919 },
+ { 72, 920 },
+ { 73, 921 },
+ { 74, 91 },
+ { 75, 46 },
+ { 76, 60 },
+ { 77, 40 },
+ { 78, 43 },
+ { 79, 33 },
+ { 80, 38 },
+ { 81, 922 },
+ { 82, 923 },
+ { 83, 924 },
+ { 84, 925 },
+ { 85, 926 },
+ { 86, 927 },
+ { 87, 928 },
+ { 88, 929 },
+ { 89, 931 },
+ { 90, 93 },
+ { 91, 36 },
+ { 92, 42 },
+ { 93, 41 },
+ { 94, 59 },
+ { 95, 94 },
+ { 96, 45 },
+ { 97, 47 },
+ { 98, 932 },
+ { 99, 933 },
+ { 100, 934 },
+ { 101, 935 },
+ { 102, 936 },
+ { 103, 937 },
+ { 104, 938 },
+ { 105, 939 },
+ { 106, 124 },
+ { 107, 44 },
+ { 108, 37 },
+ { 109, 95 },
+ { 110, 62 },
+ { 111, 63 },
+ { 112, 168 },
+ { 113, 902 },
+ { 114, 904 },
+ { 115, 905 },
+ { 116, 160 },
+ { 117, 906 },
+ { 118, 908 },
+ { 119, 910 },
+ { 120, 911 },
+ { 121, 96 },
+ { 122, 58 },
+ { 123, 35 },
+ { 124, 64 },
+ { 125, 39 },
+ { 126, 61 },
+ { 127, 34 },
+ { 128, 901 },
+ { 129, 97 },
+ { 130, 98 },
+ { 131, 99 },
+ { 132, 100 },
+ { 133, 101 },
+ { 134, 102 },
+ { 135, 103 },
+ { 136, 104 },
+ { 137, 105 },
+ { 138, 945 },
+ { 139, 946 },
+ { 140, 947 },
+ { 141, 948 },
+ { 142, 949 },
+ { 143, 950 },
+ { 144, 176 },
+ { 145, 106 },
+ { 146, 107 },
+ { 147, 108 },
+ { 148, 109 },
+ { 149, 110 },
+ { 150, 111 },
+ { 151, 112 },
+ { 152, 113 },
+ { 153, 114 },
+ { 154, 951 },
+ { 155, 952 },
+ { 156, 953 },
+ { 157, 954 },
+ { 158, 955 },
+ { 159, 956 },
+ { 160, 180 },
+ { 161, 126 },
+ { 162, 115 },
+ { 163, 116 },
+ { 164, 117 },
+ { 165, 118 },
+ { 166, 119 },
+ { 167, 120 },
+ { 168, 121 },
+ { 169, 122 },
+ { 170, 957 },
+ { 171, 958 },
+ { 172, 959 },
+ { 173, 960 },
+ { 174, 961 },
+ { 175, 963 },
+ { 176, 163 },
+ { 177, 940 },
+ { 178, 941 },
+ { 179, 942 },
+ { 180, 970 },
+ { 181, 943 },
+ { 182, 972 },
+ { 183, 973 },
+ { 184, 971 },
+ { 185, 974 },
+ { 186, 962 },
+ { 187, 964 },
+ { 188, 965 },
+ { 189, 966 },
+ { 190, 967 },
+ { 191, 968 },
+ { 192, 123 },
+ { 193, 65 },
+ { 194, 66 },
+ { 195, 67 },
+ { 196, 68 },
+ { 197, 69 },
+ { 198, 70 },
+ { 199, 71 },
+ { 200, 72 },
+ { 201, 73 },
+ { 202, 173 },
+ { 203, 969 },
+ { 204, 912 },
+ { 205, 944 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 125 },
+ { 209, 74 },
+ { 210, 75 },
+ { 211, 76 },
+ { 212, 77 },
+ { 213, 78 },
+ { 214, 79 },
+ { 215, 80 },
+ { 216, 81 },
+ { 217, 82 },
+ { 218, 177 },
+ { 219, 189 },
+ { 220, 220 },
+ { 221, 183 },
+ { 222, 222 },
+ { 223, 166 },
+ { 224, 92 },
+ { 225, 225 },
+ { 226, 83 },
+ { 227, 84 },
+ { 228, 85 },
+ { 229, 86 },
+ { 230, 87 },
+ { 231, 88 },
+ { 232, 89 },
+ { 233, 90 },
+ { 234, 178 },
+ { 235, 167 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 171 },
+ { 239, 172 },
+ { 240, 48 },
+ { 241, 49 },
+ { 242, 50 },
+ { 243, 51 },
+ { 244, 52 },
+ { 245, 53 },
+ { 246, 54 },
+ { 247, 55 },
+ { 248, 56 },
+ { 249, 57 },
+ { 250, 179 },
+ { 251, 169 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 187 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 193, 192 },
+ { 193, 193 },
+ { 193, 194 },
+ { 193, 195 },
+ { 193, 196 },
+ { 193, 197 },
+ { 193, 256 },
+ { 193, 258 },
+ { 193, 260 },
+ { 193, 461 },
+ { 129, 224 },
+ { 129, 226 },
+ { 129, 227 },
+ { 129, 228 },
+ { 129, 229 },
+ { 129, 257 },
+ { 129, 259 },
+ { 129, 261 },
+ { 129, 462 },
+ { 195, 199 },
+ { 195, 262 },
+ { 195, 264 },
+ { 195, 266 },
+ { 195, 268 },
+ { 131, 231 },
+ { 131, 263 },
+ { 131, 265 },
+ { 131, 267 },
+ { 131, 269 },
+ { 196, 270 },
+ { 132, 271 },
+ { 197, 200 },
+ { 197, 201 },
+ { 197, 202 },
+ { 197, 203 },
+ { 197, 274 },
+ { 197, 276 },
+ { 197, 278 },
+ { 197, 280 },
+ { 197, 282 },
+ { 133, 232 },
+ { 133, 233 },
+ { 133, 234 },
+ { 133, 235 },
+ { 133, 275 },
+ { 133, 277 },
+ { 133, 279 },
+ { 133, 281 },
+ { 133, 283 },
+ { 199, 284 },
+ { 199, 286 },
+ { 199, 288 },
+ { 199, 290 },
+ { 199, 486 },
+ { 199, 500 },
+ { 135, 285 },
+ { 135, 287 },
+ { 135, 289 },
+ { 135, 291 },
+ { 135, 487 },
+ { 135, 501 },
+ { 200, 292 },
+ { 136, 293 },
+ { 201, 204 },
+ { 201, 205 },
+ { 201, 296 },
+ { 201, 298 },
+ { 201, 300 },
+ { 201, 302 },
+ { 201, 304 },
+ { 201, 463 },
+ { 137, 238 },
+ { 137, 239 },
+ { 137, 297 },
+ { 137, 299 },
+ { 137, 301 },
+ { 137, 303 },
+ { 137, 305 },
+ { 137, 464 },
+ { 209, 308 },
+ { 145, 309 },
+ { 210, 310 },
+ { 210, 488 },
+ { 146, 311 },
+ { 146, 489 },
+ { 211, 313 },
+ { 211, 315 },
+ { 211, 317 },
+ { 211, 319 },
+ { 211, 321 },
+ { 147, 314 },
+ { 147, 316 },
+ { 147, 318 },
+ { 147, 320 },
+ { 147, 322 },
+ { 212, 209 },
+ { 212, 323 },
+ { 212, 325 },
+ { 212, 327 },
+ { 148, 241 },
+ { 148, 324 },
+ { 148, 326 },
+ { 148, 328 },
+ { 148, 329 },
+ { 213, 210 },
+ { 213, 211 },
+ { 213, 212 },
+ { 213, 213 },
+ { 213, 214 },
+ { 213, 216 },
+ { 213, 332 },
+ { 213, 334 },
+ { 213, 336 },
+ { 213, 465 },
+ { 213, 490 },
+ { 149, 242 },
+ { 149, 243 },
+ { 149, 244 },
+ { 149, 245 },
+ { 149, 246 },
+ { 149, 248 },
+ { 149, 333 },
+ { 149, 335 },
+ { 149, 337 },
+ { 149, 466 },
+ { 149, 491 },
+ { 217, 340 },
+ { 217, 342 },
+ { 217, 344 },
+ { 153, 341 },
+ { 153, 343 },
+ { 153, 345 },
+ { 226, 346 },
+ { 226, 348 },
+ { 226, 350 },
+ { 226, 352 },
+ { 162, 347 },
+ { 162, 349 },
+ { 162, 351 },
+ { 162, 353 },
+ { 227, 354 },
+ { 227, 356 },
+ { 163, 355 },
+ { 163, 357 },
+ { 228, 217 },
+ { 228, 218 },
+ { 228, 219 },
+ { 228, 360 },
+ { 228, 362 },
+ { 228, 364 },
+ { 228, 366 },
+ { 228, 368 },
+ { 228, 370 },
+ { 228, 467 },
+ { 164, 249 },
+ { 164, 250 },
+ { 164, 251 },
+ { 164, 361 },
+ { 164, 363 },
+ { 164, 365 },
+ { 164, 367 },
+ { 164, 369 },
+ { 164, 371 },
+ { 164, 468 },
+ { 230, 372 },
+ { 166, 373 },
+ { 232, 221 },
+ { 232, 374 },
+ { 232, 376 },
+ { 168, 375 },
+ { 233, 377 },
+ { 233, 379 },
+ { 233, 381 },
+ { 169, 378 },
+ { 169, 380 },
+ { 169, 382 },
+};
+static convert_t hp48[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 8735 },
+ { 129, 129 },
+ { 130, 8711 },
+ { 131, 8730 },
+ { 132, 8747 },
+ { 133, 8721 },
+ { 134, 9654 },
+ { 135, 960 },
+ { 136, 8706 },
+ { 137, 8804 },
+ { 138, 8805 },
+ { 139, 8800 },
+ { 140, 945 },
+ { 141, 8594 },
+ { 142, 8592 },
+ { 143, 8595 },
+ { 144, 8593 },
+ { 145, 947 },
+ { 146, 948 },
+ { 147, 949 },
+ { 148, 951 },
+ { 149, 952 },
+ { 150, 955 },
+ { 151, 961 },
+ { 152, 963 },
+ { 153, 964 },
+ { 154, 969 },
+ { 155, 916 },
+ { 156, 928 },
+ { 157, 937 },
+ { 158, 9644 },
+ { 159, 8734 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t hproman8[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 192 },
+ { 162, 194 },
+ { 163, 200 },
+ { 164, 202 },
+ { 165, 203 },
+ { 166, 206 },
+ { 167, 207 },
+ { 168, 180 },
+ { 169, 768 },
+ { 170, 770 },
+ { 171, 168 },
+ { 172, 771 },
+ { 173, 217 },
+ { 174, 219 },
+ { 175, 8356 },
+ { 176, 175 },
+ { 177, 221 },
+ { 178, 253 },
+ { 179, 176 },
+ { 180, 199 },
+ { 181, 231 },
+ { 182, 209 },
+ { 183, 241 },
+ { 184, 161 },
+ { 185, 191 },
+ { 186, 164 },
+ { 187, 163 },
+ { 188, 165 },
+ { 189, 167 },
+ { 190, 402 },
+ { 191, 162 },
+ { 192, 226 },
+ { 193, 234 },
+ { 194, 244 },
+ { 195, 251 },
+ { 196, 225 },
+ { 197, 233 },
+ { 198, 243 },
+ { 199, 250 },
+ { 200, 224 },
+ { 201, 232 },
+ { 202, 242 },
+ { 203, 249 },
+ { 204, 228 },
+ { 205, 235 },
+ { 206, 246 },
+ { 207, 252 },
+ { 208, 197 },
+ { 209, 238 },
+ { 210, 216 },
+ { 211, 198 },
+ { 212, 229 },
+ { 213, 237 },
+ { 214, 248 },
+ { 215, 230 },
+ { 216, 196 },
+ { 217, 236 },
+ { 218, 214 },
+ { 219, 220 },
+ { 220, 201 },
+ { 221, 239 },
+ { 222, 223 },
+ { 223, 212 },
+ { 224, 193 },
+ { 225, 195 },
+ { 226, 227 },
+ { 227, 208 },
+ { 228, 240 },
+ { 229, 205 },
+ { 230, 204 },
+ { 231, 211 },
+ { 232, 210 },
+ { 233, 213 },
+ { 234, 245 },
+ { 235, 352 },
+ { 236, 353 },
+ { 237, 218 },
+ { 238, 376 },
+ { 239, 255 },
+ { 240, 222 },
+ { 241, 254 },
+ { 242, 183 },
+ { 243, 181 },
+ { 244, 182 },
+ { 245, 190 },
+ { 246, 173 },
+ { 247, 188 },
+ { 248, 189 },
+ { 249, 170 },
+ { 250, 186 },
+ { 251, 171 },
+ { 252, 9632 },
+ { 253, 187 },
+ { 254, 177 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso646[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso646_irv[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso646_ca[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 224 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 226 },
+ { 92, 231 },
+ { 93, 234 },
+ { 94, 238 },
+ { 95, 95 },
+ { 96, 244 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 233 },
+ { 124, 249 },
+ { 125, 232 },
+ { 126, 251 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso646_ch[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 249 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 224 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 233 },
+ { 92, 231 },
+ { 93, 234 },
+ { 94, 238 },
+ { 95, 232 },
+ { 96, 244 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 228 },
+ { 124, 246 },
+ { 125, 252 },
+ { 126, 251 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso646_de[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 167 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 196 },
+ { 92, 214 },
+ { 93, 220 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 228 },
+ { 124, 246 },
+ { 125, 252 },
+ { 126, 223 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso646_es[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 163 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 167 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 161 },
+ { 92, 209 },
+ { 93, 191 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 176 },
+ { 124, 241 },
+ { 125, 231 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso646_fi[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 196 },
+ { 92, 214 },
+ { 93, 197 },
+ { 94, 220 },
+ { 95, 95 },
+ { 96, 233 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 228 },
+ { 124, 246 },
+ { 125, 229 },
+ { 126, 252 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso646_fr[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 163 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 224 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 176 },
+ { 92, 231 },
+ { 93, 167 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 233 },
+ { 124, 249 },
+ { 125, 232 },
+ { 126, 168 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso646_gb[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 163 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso646_it[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 163 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 167 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 176 },
+ { 92, 231 },
+ { 93, 233 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 249 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 224 },
+ { 124, 242 },
+ { 125, 232 },
+ { 126, 236 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso646_nl[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 163 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 190 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 255 },
+ { 92, 189 },
+ { 93, 124 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 168 },
+ { 124, 402 },
+ { 125, 188 },
+ { 126, 180 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso646_no[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 198 },
+ { 92, 216 },
+ { 93, 197 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 230 },
+ { 124, 248 },
+ { 125, 229 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso646_pt[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 195 },
+ { 92, 199 },
+ { 93, 213 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 227 },
+ { 124, 231 },
+ { 125, 245 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso646_se[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 201 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 196 },
+ { 92, 214 },
+ { 93, 197 },
+ { 94, 220 },
+ { 95, 95 },
+ { 96, 233 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 228 },
+ { 124, 246 },
+ { 125, 229 },
+ { 126, 252 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso8859_1[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso8859_2[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 260 },
+ { 162, 728 },
+ { 163, 321 },
+ { 164, 164 },
+ { 165, 317 },
+ { 166, 346 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 352 },
+ { 170, 350 },
+ { 171, 356 },
+ { 172, 377 },
+ { 173, 173 },
+ { 174, 381 },
+ { 175, 379 },
+ { 176, 176 },
+ { 177, 261 },
+ { 178, 731 },
+ { 179, 322 },
+ { 180, 180 },
+ { 181, 318 },
+ { 182, 347 },
+ { 183, 711 },
+ { 184, 184 },
+ { 185, 353 },
+ { 186, 351 },
+ { 187, 357 },
+ { 188, 378 },
+ { 189, 733 },
+ { 190, 382 },
+ { 191, 380 },
+ { 192, 340 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 258 },
+ { 196, 196 },
+ { 197, 313 },
+ { 198, 262 },
+ { 199, 199 },
+ { 200, 268 },
+ { 201, 201 },
+ { 202, 280 },
+ { 203, 203 },
+ { 204, 282 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 270 },
+ { 208, 272 },
+ { 209, 323 },
+ { 210, 327 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 336 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 344 },
+ { 217, 366 },
+ { 218, 218 },
+ { 219, 368 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 354 },
+ { 223, 223 },
+ { 224, 341 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 259 },
+ { 228, 228 },
+ { 229, 314 },
+ { 230, 263 },
+ { 231, 231 },
+ { 232, 269 },
+ { 233, 233 },
+ { 234, 281 },
+ { 235, 235 },
+ { 236, 283 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 271 },
+ { 240, 273 },
+ { 241, 324 },
+ { 242, 328 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 337 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 345 },
+ { 249, 367 },
+ { 250, 250 },
+ { 251, 369 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 355 },
+ { 255, 729 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 195 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 227 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 462 },
+ { 67, 264 },
+ { 67, 266 },
+ { 99, 265 },
+ { 99, 267 },
+ { 69, 200 },
+ { 69, 202 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 101, 232 },
+ { 101, 234 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 315 },
+ { 76, 319 },
+ { 108, 316 },
+ { 108, 320 },
+ { 77, 209 },
+ { 77, 325 },
+ { 109, 241 },
+ { 109, 326 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 213 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 245 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 342 },
+ { 114, 343 },
+ { 83, 348 },
+ { 115, 349 },
+ { 85, 217 },
+ { 85, 219 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 251 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 255 },
+ { 121, 375 },
+};
+static convert_t iso8859_3[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 294 },
+ { 162, 728 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 292 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 304 },
+ { 170, 350 },
+ { 171, 286 },
+ { 172, 308 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 379 },
+ { 176, 176 },
+ { 177, 295 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 293 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 305 },
+ { 186, 351 },
+ { 187, 287 },
+ { 188, 309 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 380 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 266 },
+ { 198, 264 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 288 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 284 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 364 },
+ { 222, 348 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 267 },
+ { 230, 265 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 289 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 285 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 365 },
+ { 254, 349 },
+ { 255, 729 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 464 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 213 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 245 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 382 },
+};
+static convert_t iso8859_4[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 260 },
+ { 162, 312 },
+ { 163, 342 },
+ { 164, 164 },
+ { 165, 296 },
+ { 166, 315 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 352 },
+ { 170, 274 },
+ { 171, 290 },
+ { 172, 358 },
+ { 173, 173 },
+ { 174, 381 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 261 },
+ { 178, 731 },
+ { 179, 343 },
+ { 180, 180 },
+ { 181, 297 },
+ { 182, 316 },
+ { 183, 711 },
+ { 184, 184 },
+ { 185, 353 },
+ { 186, 275 },
+ { 187, 291 },
+ { 188, 359 },
+ { 189, 330 },
+ { 190, 382 },
+ { 191, 331 },
+ { 192, 256 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 302 },
+ { 200, 268 },
+ { 201, 201 },
+ { 202, 280 },
+ { 203, 203 },
+ { 204, 278 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 298 },
+ { 208, 272 },
+ { 209, 325 },
+ { 210, 332 },
+ { 211, 310 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 370 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 360 },
+ { 222, 362 },
+ { 223, 223 },
+ { 224, 257 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 303 },
+ { 232, 269 },
+ { 233, 233 },
+ { 234, 281 },
+ { 235, 235 },
+ { 236, 279 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 299 },
+ { 240, 273 },
+ { 241, 326 },
+ { 242, 333 },
+ { 243, 311 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 371 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 361 },
+ { 254, 363 },
+ { 255, 729 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 258 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 259 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 202 },
+ { 69, 276 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 234 },
+ { 101, 277 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 207 },
+ { 73, 300 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 239 },
+ { 105, 301 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 488 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 122, 378 },
+ { 122, 380 },
+};
+static convert_t iso8859_5[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 1025 },
+ { 162, 1026 },
+ { 163, 1027 },
+ { 164, 1028 },
+ { 165, 1029 },
+ { 166, 1030 },
+ { 167, 1031 },
+ { 168, 1032 },
+ { 169, 1033 },
+ { 170, 1034 },
+ { 171, 1035 },
+ { 172, 1036 },
+ { 173, 173 },
+ { 174, 1038 },
+ { 175, 1039 },
+ { 176, 1040 },
+ { 177, 1041 },
+ { 178, 1042 },
+ { 179, 1043 },
+ { 180, 1044 },
+ { 181, 1045 },
+ { 182, 1046 },
+ { 183, 1047 },
+ { 184, 1048 },
+ { 185, 1049 },
+ { 186, 1050 },
+ { 187, 1051 },
+ { 188, 1052 },
+ { 189, 1053 },
+ { 190, 1054 },
+ { 191, 1055 },
+ { 192, 1056 },
+ { 193, 1057 },
+ { 194, 1058 },
+ { 195, 1059 },
+ { 196, 1060 },
+ { 197, 1061 },
+ { 198, 1062 },
+ { 199, 1063 },
+ { 200, 1064 },
+ { 201, 1065 },
+ { 202, 1066 },
+ { 203, 1067 },
+ { 204, 1068 },
+ { 205, 1069 },
+ { 206, 1070 },
+ { 207, 1071 },
+ { 208, 1072 },
+ { 209, 1073 },
+ { 210, 1074 },
+ { 211, 1075 },
+ { 212, 1076 },
+ { 213, 1077 },
+ { 214, 1078 },
+ { 215, 1079 },
+ { 216, 1080 },
+ { 217, 1081 },
+ { 218, 1082 },
+ { 219, 1083 },
+ { 220, 1084 },
+ { 221, 1085 },
+ { 222, 1086 },
+ { 223, 1087 },
+ { 224, 1088 },
+ { 225, 1089 },
+ { 226, 1090 },
+ { 227, 1091 },
+ { 228, 1092 },
+ { 229, 1093 },
+ { 230, 1094 },
+ { 231, 1095 },
+ { 232, 1096 },
+ { 233, 1097 },
+ { 234, 1098 },
+ { 235, 1099 },
+ { 236, 1100 },
+ { 237, 1101 },
+ { 238, 1102 },
+ { 239, 1103 },
+ { 240, 8470 },
+ { 241, 1105 },
+ { 242, 1106 },
+ { 243, 1107 },
+ { 244, 1108 },
+ { 245, 1109 },
+ { 246, 1110 },
+ { 247, 1111 },
+ { 248, 1112 },
+ { 249, 1113 },
+ { 250, 1114 },
+ { 251, 1115 },
+ { 252, 1116 },
+ { 253, 167 },
+ { 254, 1118 },
+ { 255, 1119 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 220 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 252 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso8859_6[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 1548 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 1563 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 1567 },
+ { 192, 192 },
+ { 193, 1569 },
+ { 194, 1570 },
+ { 195, 1571 },
+ { 196, 1572 },
+ { 197, 1573 },
+ { 198, 1574 },
+ { 199, 1575 },
+ { 200, 1576 },
+ { 201, 1577 },
+ { 202, 1578 },
+ { 203, 1579 },
+ { 204, 1580 },
+ { 205, 1581 },
+ { 206, 1582 },
+ { 207, 1583 },
+ { 208, 1584 },
+ { 209, 1585 },
+ { 210, 1586 },
+ { 211, 1587 },
+ { 212, 1588 },
+ { 213, 1589 },
+ { 214, 1590 },
+ { 215, 1591 },
+ { 216, 1592 },
+ { 217, 1593 },
+ { 218, 1594 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 1600 },
+ { 225, 1601 },
+ { 226, 1602 },
+ { 227, 1603 },
+ { 228, 1604 },
+ { 229, 1605 },
+ { 230, 1606 },
+ { 231, 1607 },
+ { 232, 1608 },
+ { 233, 1609 },
+ { 234, 1610 },
+ { 235, 1611 },
+ { 236, 1612 },
+ { 237, 1613 },
+ { 238, 1614 },
+ { 239, 1615 },
+ { 240, 1616 },
+ { 241, 1617 },
+ { 242, 1618 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso8859_7[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 8216 },
+ { 162, 8217 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 8213 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 900 },
+ { 181, 901 },
+ { 182, 902 },
+ { 183, 183 },
+ { 184, 904 },
+ { 185, 905 },
+ { 186, 906 },
+ { 187, 187 },
+ { 188, 908 },
+ { 189, 189 },
+ { 190, 910 },
+ { 191, 911 },
+ { 192, 912 },
+ { 193, 913 },
+ { 194, 914 },
+ { 195, 915 },
+ { 196, 916 },
+ { 197, 917 },
+ { 198, 918 },
+ { 199, 919 },
+ { 200, 920 },
+ { 201, 921 },
+ { 202, 922 },
+ { 203, 923 },
+ { 204, 924 },
+ { 205, 925 },
+ { 206, 926 },
+ { 207, 927 },
+ { 208, 928 },
+ { 209, 929 },
+ { 210, 210 },
+ { 211, 931 },
+ { 212, 932 },
+ { 213, 933 },
+ { 214, 934 },
+ { 215, 935 },
+ { 216, 936 },
+ { 217, 937 },
+ { 218, 938 },
+ { 219, 939 },
+ { 220, 940 },
+ { 221, 941 },
+ { 222, 942 },
+ { 223, 943 },
+ { 224, 944 },
+ { 225, 945 },
+ { 226, 946 },
+ { 227, 947 },
+ { 228, 948 },
+ { 229, 949 },
+ { 230, 950 },
+ { 231, 951 },
+ { 232, 952 },
+ { 233, 953 },
+ { 234, 954 },
+ { 235, 955 },
+ { 236, 956 },
+ { 237, 957 },
+ { 238, 958 },
+ { 239, 959 },
+ { 240, 960 },
+ { 241, 961 },
+ { 242, 962 },
+ { 243, 963 },
+ { 244, 964 },
+ { 245, 965 },
+ { 246, 966 },
+ { 247, 967 },
+ { 248, 968 },
+ { 249, 969 },
+ { 250, 970 },
+ { 251, 971 },
+ { 252, 972 },
+ { 253, 973 },
+ { 254, 974 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 220 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 252 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso8859_8[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 215 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 247 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 8215 },
+ { 224, 1488 },
+ { 225, 1489 },
+ { 226, 1490 },
+ { 227, 1491 },
+ { 228, 1492 },
+ { 229, 1493 },
+ { 230, 1494 },
+ { 231, 1495 },
+ { 232, 1496 },
+ { 233, 1497 },
+ { 234, 1498 },
+ { 235, 1499 },
+ { 236, 1500 },
+ { 237, 1501 },
+ { 238, 1502 },
+ { 239, 1503 },
+ { 240, 1504 },
+ { 241, 1505 },
+ { 242, 1506 },
+ { 243, 1507 },
+ { 244, 1508 },
+ { 245, 1509 },
+ { 246, 1510 },
+ { 247, 1511 },
+ { 248, 1512 },
+ { 249, 1513 },
+ { 250, 1514 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 8206 },
+ { 254, 8207 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso8859_9[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 180 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 184 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 286 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 304 },
+ { 222, 350 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 287 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 305 },
+ { 254, 351 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso8859_10[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 260 },
+ { 162, 274 },
+ { 163, 290 },
+ { 164, 298 },
+ { 165, 296 },
+ { 166, 310 },
+ { 167, 167 },
+ { 168, 315 },
+ { 169, 272 },
+ { 170, 352 },
+ { 171, 358 },
+ { 172, 381 },
+ { 173, 173 },
+ { 174, 362 },
+ { 175, 330 },
+ { 176, 176 },
+ { 177, 261 },
+ { 178, 275 },
+ { 179, 291 },
+ { 180, 299 },
+ { 181, 297 },
+ { 182, 311 },
+ { 183, 183 },
+ { 184, 316 },
+ { 185, 273 },
+ { 186, 353 },
+ { 187, 359 },
+ { 188, 382 },
+ { 189, 8213 },
+ { 190, 363 },
+ { 191, 331 },
+ { 192, 256 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 302 },
+ { 200, 268 },
+ { 201, 201 },
+ { 202, 280 },
+ { 203, 203 },
+ { 204, 278 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 325 },
+ { 210, 332 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 360 },
+ { 216, 216 },
+ { 217, 370 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 257 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 303 },
+ { 232, 269 },
+ { 233, 233 },
+ { 234, 281 },
+ { 235, 235 },
+ { 236, 279 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 326 },
+ { 242, 333 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 361 },
+ { 248, 248 },
+ { 249, 371 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 312 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 258 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 259 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 202 },
+ { 69, 276 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 234 },
+ { 101, 277 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 300 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 301 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 488 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 122, 378 },
+ { 122, 380 },
+};
+static convert_t iso8859_11[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 3585 },
+ { 162, 3586 },
+ { 163, 3587 },
+ { 164, 3588 },
+ { 165, 3589 },
+ { 166, 3590 },
+ { 167, 3591 },
+ { 168, 3592 },
+ { 169, 3593 },
+ { 170, 3594 },
+ { 171, 3595 },
+ { 172, 3596 },
+ { 173, 3597 },
+ { 174, 3598 },
+ { 175, 3599 },
+ { 176, 3600 },
+ { 177, 3601 },
+ { 178, 3602 },
+ { 179, 3603 },
+ { 180, 3604 },
+ { 181, 3605 },
+ { 182, 3606 },
+ { 183, 3607 },
+ { 184, 3608 },
+ { 185, 3609 },
+ { 186, 3610 },
+ { 187, 3611 },
+ { 188, 3612 },
+ { 189, 3613 },
+ { 190, 3614 },
+ { 191, 3615 },
+ { 192, 3616 },
+ { 193, 3617 },
+ { 194, 3618 },
+ { 195, 3619 },
+ { 196, 3620 },
+ { 197, 3621 },
+ { 198, 3622 },
+ { 199, 3623 },
+ { 200, 3624 },
+ { 201, 3625 },
+ { 202, 3626 },
+ { 203, 3627 },
+ { 204, 3628 },
+ { 205, 3629 },
+ { 206, 3630 },
+ { 207, 3631 },
+ { 208, 3632 },
+ { 209, 3633 },
+ { 210, 3634 },
+ { 211, 3635 },
+ { 212, 3636 },
+ { 213, 3637 },
+ { 214, 3638 },
+ { 215, 3639 },
+ { 216, 3640 },
+ { 217, 3641 },
+ { 218, 3642 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 3647 },
+ { 224, 3648 },
+ { 225, 3649 },
+ { 226, 3650 },
+ { 227, 3651 },
+ { 228, 3652 },
+ { 229, 3653 },
+ { 230, 3654 },
+ { 231, 3655 },
+ { 232, 3656 },
+ { 233, 3657 },
+ { 234, 3658 },
+ { 235, 3659 },
+ { 236, 3660 },
+ { 237, 3661 },
+ { 238, 3662 },
+ { 239, 3663 },
+ { 240, 3664 },
+ { 241, 3665 },
+ { 242, 3666 },
+ { 243, 3667 },
+ { 244, 3668 },
+ { 245, 3669 },
+ { 246, 3670 },
+ { 247, 3671 },
+ { 248, 3672 },
+ { 249, 3673 },
+ { 250, 3674 },
+ { 251, 3675 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso8859_13[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 8221 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 8222 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 216 },
+ { 169, 169 },
+ { 170, 342 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 198 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 8220 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 248 },
+ { 185, 185 },
+ { 186, 343 },
+ { 187, 187 },
+ { 188, 188 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 230 },
+ { 192, 260 },
+ { 193, 302 },
+ { 194, 256 },
+ { 195, 262 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 280 },
+ { 199, 274 },
+ { 200, 268 },
+ { 201, 201 },
+ { 202, 377 },
+ { 203, 278 },
+ { 204, 290 },
+ { 205, 310 },
+ { 206, 298 },
+ { 207, 315 },
+ { 208, 352 },
+ { 209, 323 },
+ { 210, 325 },
+ { 211, 211 },
+ { 212, 332 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 370 },
+ { 217, 321 },
+ { 218, 346 },
+ { 219, 362 },
+ { 220, 220 },
+ { 221, 379 },
+ { 222, 381 },
+ { 223, 223 },
+ { 224, 261 },
+ { 225, 303 },
+ { 226, 257 },
+ { 227, 263 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 281 },
+ { 231, 275 },
+ { 232, 269 },
+ { 233, 233 },
+ { 234, 378 },
+ { 235, 279 },
+ { 236, 291 },
+ { 237, 311 },
+ { 238, 299 },
+ { 239, 316 },
+ { 240, 353 },
+ { 241, 324 },
+ { 242, 326 },
+ { 243, 243 },
+ { 244, 333 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 371 },
+ { 249, 322 },
+ { 250, 347 },
+ { 251, 363 },
+ { 252, 252 },
+ { 253, 380 },
+ { 254, 382 },
+ { 255, 8217 },
+ { 39, 8216 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 258 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 259 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 264 },
+ { 67, 266 },
+ { 99, 231 },
+ { 99, 265 },
+ { 99, 267 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 276 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 277 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 300 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 301 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 488 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 317 },
+ { 76, 319 },
+ { 108, 314 },
+ { 108, 318 },
+ { 108, 320 },
+ { 77, 209 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 212 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 244 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 345 },
+ { 83, 348 },
+ { 83, 350 },
+ { 115, 349 },
+ { 115, 351 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 360 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 361 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+};
+static convert_t iso8859_14[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 7682 },
+ { 162, 7683 },
+ { 163, 163 },
+ { 164, 266 },
+ { 165, 267 },
+ { 166, 7690 },
+ { 167, 167 },
+ { 168, 7808 },
+ { 169, 169 },
+ { 170, 7810 },
+ { 171, 7691 },
+ { 172, 7922 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 376 },
+ { 176, 7710 },
+ { 177, 7711 },
+ { 178, 288 },
+ { 179, 289 },
+ { 180, 7744 },
+ { 181, 7745 },
+ { 182, 182 },
+ { 183, 7766 },
+ { 184, 7809 },
+ { 185, 7767 },
+ { 186, 7811 },
+ { 187, 7776 },
+ { 188, 7923 },
+ { 189, 7812 },
+ { 190, 7813 },
+ { 191, 7777 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 372 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 7786 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 374 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 373 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 7787 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 375 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t iso8859_15[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 8364 },
+ { 165, 165 },
+ { 166, 352 },
+ { 167, 167 },
+ { 168, 353 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 178 },
+ { 179, 179 },
+ { 180, 381 },
+ { 181, 181 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 382 },
+ { 185, 185 },
+ { 186, 186 },
+ { 187, 187 },
+ { 188, 338 },
+ { 189, 339 },
+ { 190, 376 },
+ { 191, 191 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 215 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 122, 378 },
+ { 122, 380 },
+};
+static convert_t iso8859_16[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 260 },
+ { 162, 261 },
+ { 163, 321 },
+ { 164, 8364 },
+ { 165, 8222 },
+ { 166, 352 },
+ { 167, 167 },
+ { 168, 353 },
+ { 169, 169 },
+ { 170, 536 },
+ { 171, 171 },
+ { 172, 377 },
+ { 173, 173 },
+ { 174, 378 },
+ { 175, 379 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 268 },
+ { 179, 322 },
+ { 180, 381 },
+ { 181, 8221 },
+ { 182, 182 },
+ { 183, 183 },
+ { 184, 382 },
+ { 185, 269 },
+ { 186, 537 },
+ { 187, 187 },
+ { 188, 338 },
+ { 189, 339 },
+ { 190, 376 },
+ { 191, 380 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 258 },
+ { 196, 196 },
+ { 197, 262 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 272 },
+ { 209, 323 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 336 },
+ { 214, 214 },
+ { 215, 346 },
+ { 216, 368 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 280 },
+ { 222, 538 },
+ { 223, 223 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 259 },
+ { 228, 228 },
+ { 229, 263 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 273 },
+ { 241, 324 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 337 },
+ { 246, 246 },
+ { 247, 347 },
+ { 248, 369 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 281 },
+ { 254, 539 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 195 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 461 },
+ { 97, 227 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 462 },
+ { 67, 264 },
+ { 67, 266 },
+ { 99, 265 },
+ { 99, 267 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 77, 209 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 213 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 245 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 348 },
+ { 83, 350 },
+ { 115, 349 },
+ { 115, 351 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 121, 253 },
+ { 121, 375 },
+};
+static convert_t koi8_r[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 9472 },
+ { 129, 9474 },
+ { 130, 9484 },
+ { 131, 9488 },
+ { 132, 9492 },
+ { 133, 9496 },
+ { 134, 9500 },
+ { 135, 9508 },
+ { 136, 9516 },
+ { 137, 9524 },
+ { 138, 9532 },
+ { 139, 9600 },
+ { 140, 9604 },
+ { 141, 9608 },
+ { 142, 9612 },
+ { 143, 9616 },
+ { 144, 9617 },
+ { 145, 9618 },
+ { 146, 9619 },
+ { 147, 8992 },
+ { 148, 9632 },
+ { 149, 8729 },
+ { 150, 8730 },
+ { 151, 8776 },
+ { 152, 8804 },
+ { 153, 8805 },
+ { 154, 160 },
+ { 155, 8993 },
+ { 156, 176 },
+ { 157, 178 },
+ { 158, 183 },
+ { 159, 247 },
+ { 160, 9552 },
+ { 161, 9553 },
+ { 162, 9554 },
+ { 163, 1105 },
+ { 164, 9555 },
+ { 165, 9556 },
+ { 166, 9557 },
+ { 167, 9558 },
+ { 168, 9559 },
+ { 169, 9560 },
+ { 170, 9561 },
+ { 171, 9562 },
+ { 172, 9563 },
+ { 173, 9564 },
+ { 174, 9565 },
+ { 175, 9566 },
+ { 176, 9567 },
+ { 177, 9568 },
+ { 178, 9569 },
+ { 179, 1025 },
+ { 180, 9570 },
+ { 181, 9571 },
+ { 182, 9572 },
+ { 183, 9573 },
+ { 184, 9574 },
+ { 185, 9575 },
+ { 186, 9576 },
+ { 187, 9577 },
+ { 188, 9578 },
+ { 189, 9579 },
+ { 190, 9580 },
+ { 191, 169 },
+ { 192, 1102 },
+ { 193, 1072 },
+ { 194, 1073 },
+ { 195, 1094 },
+ { 196, 1076 },
+ { 197, 1077 },
+ { 198, 1092 },
+ { 199, 1075 },
+ { 200, 1093 },
+ { 201, 1080 },
+ { 202, 1081 },
+ { 203, 1082 },
+ { 204, 1083 },
+ { 205, 1084 },
+ { 206, 1085 },
+ { 207, 1086 },
+ { 208, 1087 },
+ { 209, 1103 },
+ { 210, 1088 },
+ { 211, 1089 },
+ { 212, 1090 },
+ { 213, 1091 },
+ { 214, 1078 },
+ { 215, 1074 },
+ { 216, 1100 },
+ { 217, 1099 },
+ { 218, 1079 },
+ { 219, 1096 },
+ { 220, 1101 },
+ { 221, 1097 },
+ { 222, 1095 },
+ { 223, 1098 },
+ { 224, 1070 },
+ { 225, 1040 },
+ { 226, 1041 },
+ { 227, 1062 },
+ { 228, 1044 },
+ { 229, 1045 },
+ { 230, 1060 },
+ { 231, 1043 },
+ { 232, 1061 },
+ { 233, 1048 },
+ { 234, 1049 },
+ { 235, 1050 },
+ { 236, 1051 },
+ { 237, 1052 },
+ { 238, 1053 },
+ { 239, 1054 },
+ { 240, 1055 },
+ { 241, 1071 },
+ { 242, 1056 },
+ { 243, 1057 },
+ { 244, 1058 },
+ { 245, 1059 },
+ { 246, 1046 },
+ { 247, 1042 },
+ { 248, 1068 },
+ { 249, 1067 },
+ { 250, 1047 },
+ { 251, 1064 },
+ { 252, 1069 },
+ { 253, 1065 },
+ { 254, 1063 },
+ { 255, 1066 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 220 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 252 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t koi8_u[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 9472 },
+ { 129, 9474 },
+ { 130, 9484 },
+ { 131, 9488 },
+ { 132, 9492 },
+ { 133, 9496 },
+ { 134, 9500 },
+ { 135, 9508 },
+ { 136, 9516 },
+ { 137, 9524 },
+ { 138, 9532 },
+ { 139, 9600 },
+ { 140, 9604 },
+ { 141, 9608 },
+ { 142, 9612 },
+ { 143, 9616 },
+ { 144, 9617 },
+ { 145, 9618 },
+ { 146, 9619 },
+ { 147, 8992 },
+ { 148, 9632 },
+ { 149, 8729 },
+ { 150, 8730 },
+ { 151, 8776 },
+ { 152, 8804 },
+ { 153, 8805 },
+ { 154, 160 },
+ { 155, 8993 },
+ { 156, 176 },
+ { 157, 178 },
+ { 158, 183 },
+ { 159, 247 },
+ { 160, 9552 },
+ { 161, 9553 },
+ { 162, 9554 },
+ { 163, 1105 },
+ { 164, 1108 },
+ { 165, 9556 },
+ { 166, 1110 },
+ { 167, 1111 },
+ { 168, 9559 },
+ { 169, 9560 },
+ { 170, 9561 },
+ { 171, 9562 },
+ { 172, 9563 },
+ { 173, 1169 },
+ { 174, 9565 },
+ { 175, 9566 },
+ { 176, 9567 },
+ { 177, 9568 },
+ { 178, 9569 },
+ { 179, 1025 },
+ { 180, 1028 },
+ { 181, 9571 },
+ { 182, 1030 },
+ { 183, 1031 },
+ { 184, 9574 },
+ { 185, 9575 },
+ { 186, 9576 },
+ { 187, 9577 },
+ { 188, 9578 },
+ { 189, 1168 },
+ { 190, 9580 },
+ { 191, 169 },
+ { 192, 1102 },
+ { 193, 1072 },
+ { 194, 1073 },
+ { 195, 1094 },
+ { 196, 1076 },
+ { 197, 1077 },
+ { 198, 1092 },
+ { 199, 1075 },
+ { 200, 1093 },
+ { 201, 1080 },
+ { 202, 1081 },
+ { 203, 1082 },
+ { 204, 1083 },
+ { 205, 1084 },
+ { 206, 1085 },
+ { 207, 1086 },
+ { 208, 1087 },
+ { 209, 1103 },
+ { 210, 1088 },
+ { 211, 1089 },
+ { 212, 1090 },
+ { 213, 1091 },
+ { 214, 1078 },
+ { 215, 1074 },
+ { 216, 1100 },
+ { 217, 1099 },
+ { 218, 1079 },
+ { 219, 1096 },
+ { 220, 1101 },
+ { 221, 1097 },
+ { 222, 1095 },
+ { 223, 1098 },
+ { 224, 1070 },
+ { 225, 1040 },
+ { 226, 1041 },
+ { 227, 1062 },
+ { 228, 1044 },
+ { 229, 1045 },
+ { 230, 1060 },
+ { 231, 1043 },
+ { 232, 1061 },
+ { 233, 1048 },
+ { 234, 1049 },
+ { 235, 1050 },
+ { 236, 1051 },
+ { 237, 1052 },
+ { 238, 1053 },
+ { 239, 1054 },
+ { 240, 1055 },
+ { 241, 1071 },
+ { 242, 1056 },
+ { 243, 1057 },
+ { 244, 1058 },
+ { 245, 1059 },
+ { 246, 1046 },
+ { 247, 1042 },
+ { 248, 1068 },
+ { 249, 1067 },
+ { 250, 1047 },
+ { 251, 1064 },
+ { 252, 1069 },
+ { 253, 1065 },
+ { 254, 1063 },
+ { 255, 1066 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 224 },
+ { 97, 225 },
+ { 97, 226 },
+ { 97, 227 },
+ { 97, 228 },
+ { 97, 229 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 231 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 232 },
+ { 101, 233 },
+ { 101, 234 },
+ { 101, 235 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 236 },
+ { 105, 237 },
+ { 105, 238 },
+ { 105, 239 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 241 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 242 },
+ { 110, 243 },
+ { 110, 244 },
+ { 110, 245 },
+ { 110, 246 },
+ { 110, 248 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 220 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 249 },
+ { 117, 250 },
+ { 117, 251 },
+ { 117, 252 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 253 },
+ { 121, 255 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t mslinedr[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 164 },
+ { 165, 165 },
+ { 166, 166 },
+ { 167, 167 },
+ { 168, 168 },
+ { 169, 169 },
+ { 170, 170 },
+ { 171, 171 },
+ { 172, 172 },
+ { 173, 173 },
+ { 174, 174 },
+ { 175, 175 },
+ { 176, 9639 },
+ { 177, 9638 },
+ { 178, 9640 },
+ { 179, 9474 },
+ { 180, 9508 },
+ { 181, 9569 },
+ { 182, 9570 },
+ { 183, 9558 },
+ { 184, 9557 },
+ { 185, 9571 },
+ { 186, 9553 },
+ { 187, 9559 },
+ { 188, 9565 },
+ { 189, 9564 },
+ { 190, 9563 },
+ { 191, 9488 },
+ { 192, 9492 },
+ { 193, 9524 },
+ { 194, 9516 },
+ { 195, 9500 },
+ { 196, 9472 },
+ { 197, 9532 },
+ { 198, 9566 },
+ { 199, 9567 },
+ { 200, 9562 },
+ { 201, 9556 },
+ { 202, 9577 },
+ { 203, 9574 },
+ { 204, 9568 },
+ { 205, 9552 },
+ { 206, 9580 },
+ { 207, 9575 },
+ { 208, 9576 },
+ { 209, 9572 },
+ { 210, 9573 },
+ { 211, 9561 },
+ { 212, 9560 },
+ { 213, 9554 },
+ { 214, 9555 },
+ { 215, 9579 },
+ { 216, 9578 },
+ { 217, 9496 },
+ { 218, 9484 },
+ { 219, 9608 },
+ { 220, 9604 },
+ { 221, 9612 },
+ { 222, 9616 },
+ { 223, 9600 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 192 },
+ { 65, 193 },
+ { 65, 194 },
+ { 65, 195 },
+ { 65, 196 },
+ { 65, 197 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 199 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 200 },
+ { 69, 201 },
+ { 69, 202 },
+ { 69, 203 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 204 },
+ { 73, 205 },
+ { 73, 206 },
+ { 73, 207 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 76, 321 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 108, 322 },
+ { 77, 209 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 210 },
+ { 78, 211 },
+ { 78, 212 },
+ { 78, 213 },
+ { 78, 214 },
+ { 78, 216 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 217 },
+ { 85, 218 },
+ { 85, 219 },
+ { 85, 220 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 221 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t nextstep[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 160 },
+ { 129, 192 },
+ { 130, 193 },
+ { 131, 194 },
+ { 132, 195 },
+ { 133, 196 },
+ { 134, 197 },
+ { 135, 199 },
+ { 136, 200 },
+ { 137, 201 },
+ { 138, 202 },
+ { 139, 203 },
+ { 140, 204 },
+ { 141, 205 },
+ { 142, 206 },
+ { 143, 207 },
+ { 144, 208 },
+ { 145, 209 },
+ { 146, 210 },
+ { 147, 211 },
+ { 148, 212 },
+ { 149, 213 },
+ { 150, 214 },
+ { 151, 217 },
+ { 152, 218 },
+ { 153, 219 },
+ { 154, 220 },
+ { 155, 221 },
+ { 156, 222 },
+ { 157, 181 },
+ { 158, 215 },
+ { 159, 247 },
+ { 160, 169 },
+ { 161, 161 },
+ { 162, 162 },
+ { 163, 163 },
+ { 164, 8260 },
+ { 165, 165 },
+ { 166, 402 },
+ { 167, 167 },
+ { 168, 164 },
+ { 169, 169 },
+ { 170, 8220 },
+ { 171, 171 },
+ { 172, 8249 },
+ { 173, 8250 },
+ { 174, 64257 },
+ { 175, 64258 },
+ { 176, 174 },
+ { 177, 8211 },
+ { 178, 8224 },
+ { 179, 8225 },
+ { 180, 183 },
+ { 181, 166 },
+ { 182, 182 },
+ { 183, 8729 },
+ { 184, 8218 },
+ { 185, 8222 },
+ { 186, 8221 },
+ { 187, 187 },
+ { 188, 8943 },
+ { 189, 8240 },
+ { 190, 172 },
+ { 191, 191 },
+ { 192, 185 },
+ { 193, 768 },
+ { 194, 180 },
+ { 195, 770 },
+ { 196, 771 },
+ { 197, 175 },
+ { 198, 728 },
+ { 199, 729 },
+ { 200, 168 },
+ { 201, 178 },
+ { 202, 176 },
+ { 203, 184 },
+ { 204, 179 },
+ { 205, 733 },
+ { 206, 731 },
+ { 207, 711 },
+ { 208, 8212 },
+ { 209, 177 },
+ { 210, 188 },
+ { 211, 189 },
+ { 212, 190 },
+ { 213, 224 },
+ { 214, 225 },
+ { 215, 226 },
+ { 216, 227 },
+ { 217, 228 },
+ { 218, 229 },
+ { 219, 231 },
+ { 220, 232 },
+ { 221, 233 },
+ { 222, 234 },
+ { 223, 235 },
+ { 224, 236 },
+ { 225, 198 },
+ { 226, 237 },
+ { 227, 170 },
+ { 228, 238 },
+ { 229, 239 },
+ { 230, 240 },
+ { 231, 241 },
+ { 232, 321 },
+ { 233, 216 },
+ { 234, 338 },
+ { 235, 186 },
+ { 236, 242 },
+ { 237, 243 },
+ { 238, 244 },
+ { 239, 245 },
+ { 240, 246 },
+ { 241, 230 },
+ { 242, 249 },
+ { 243, 250 },
+ { 244, 251 },
+ { 245, 305 },
+ { 246, 252 },
+ { 247, 253 },
+ { 248, 322 },
+ { 249, 248 },
+ { 250, 339 },
+ { 251, 223 },
+ { 252, 254 },
+ { 253, 255 },
+ { 254, 254 },
+ { 255, 255 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 258 },
+ { 65, 260 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 259 },
+ { 97, 261 },
+ { 97, 462 },
+ { 67, 262 },
+ { 67, 264 },
+ { 67, 266 },
+ { 67, 268 },
+ { 99, 263 },
+ { 99, 265 },
+ { 99, 267 },
+ { 99, 269 },
+ { 68, 270 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 69, 280 },
+ { 69, 282 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 101, 281 },
+ { 101, 283 },
+ { 71, 284 },
+ { 71, 286 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 287 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 304 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 313 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 108, 314 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 77, 323 },
+ { 77, 325 },
+ { 77, 327 },
+ { 109, 324 },
+ { 109, 326 },
+ { 109, 328 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 336 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 337 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 340 },
+ { 82, 342 },
+ { 82, 344 },
+ { 114, 341 },
+ { 114, 343 },
+ { 114, 345 },
+ { 83, 346 },
+ { 83, 348 },
+ { 83, 350 },
+ { 83, 352 },
+ { 115, 347 },
+ { 115, 349 },
+ { 115, 351 },
+ { 115, 353 },
+ { 84, 354 },
+ { 84, 356 },
+ { 116, 355 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 366 },
+ { 85, 368 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 367 },
+ { 117, 369 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 89, 376 },
+ { 121, 375 },
+ { 90, 377 },
+ { 90, 379 },
+ { 90, 381 },
+ { 122, 378 },
+ { 122, 380 },
+ { 122, 382 },
+};
+static convert_t symbol[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 8704 },
+ { 35, 35 },
+ { 36, 8707 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 8715 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 8727 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 8722 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 8773 },
+ { 65, 913 },
+ { 66, 914 },
+ { 67, 935 },
+ { 68, 916 },
+ { 69, 917 },
+ { 70, 934 },
+ { 71, 915 },
+ { 72, 919 },
+ { 73, 921 },
+ { 74, 977 },
+ { 75, 922 },
+ { 76, 923 },
+ { 77, 924 },
+ { 78, 925 },
+ { 79, 927 },
+ { 80, 928 },
+ { 81, 920 },
+ { 82, 929 },
+ { 83, 931 },
+ { 84, 932 },
+ { 85, 933 },
+ { 86, 962 },
+ { 87, 937 },
+ { 88, 926 },
+ { 89, 936 },
+ { 90, 918 },
+ { 91, 91 },
+ { 92, 8756 },
+ { 93, 93 },
+ { 94, 8869 },
+ { 95, 95 },
+ { 96, 8254 },
+ { 97, 945 },
+ { 98, 946 },
+ { 99, 967 },
+ { 100, 948 },
+ { 101, 949 },
+ { 102, 966 },
+ { 103, 947 },
+ { 104, 951 },
+ { 105, 953 },
+ { 106, 981 },
+ { 107, 954 },
+ { 108, 955 },
+ { 109, 956 },
+ { 110, 957 },
+ { 111, 959 },
+ { 112, 960 },
+ { 113, 952 },
+ { 114, 961 },
+ { 115, 963 },
+ { 116, 964 },
+ { 117, 965 },
+ { 118, 982 },
+ { 119, 969 },
+ { 120, 958 },
+ { 121, 968 },
+ { 122, 950 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 8764 },
+ { 127, 127 },
+ { 128, 128 },
+ { 129, 129 },
+ { 130, 130 },
+ { 131, 131 },
+ { 132, 132 },
+ { 133, 133 },
+ { 134, 134 },
+ { 135, 135 },
+ { 136, 136 },
+ { 137, 137 },
+ { 138, 138 },
+ { 139, 139 },
+ { 140, 140 },
+ { 141, 141 },
+ { 142, 142 },
+ { 143, 143 },
+ { 144, 144 },
+ { 145, 145 },
+ { 146, 146 },
+ { 147, 147 },
+ { 148, 148 },
+ { 149, 149 },
+ { 150, 150 },
+ { 151, 151 },
+ { 152, 152 },
+ { 153, 153 },
+ { 154, 154 },
+ { 155, 155 },
+ { 156, 156 },
+ { 157, 157 },
+ { 158, 158 },
+ { 159, 159 },
+ { 160, 160 },
+ { 161, 978 },
+ { 162, 8242 },
+ { 163, 8804 },
+ { 164, 8725 },
+ { 165, 8734 },
+ { 166, 402 },
+ { 167, 9827 },
+ { 168, 9830 },
+ { 169, 9829 },
+ { 170, 9824 },
+ { 171, 8596 },
+ { 172, 8592 },
+ { 173, 8593 },
+ { 174, 8594 },
+ { 175, 8595 },
+ { 176, 176 },
+ { 177, 177 },
+ { 178, 8243 },
+ { 179, 8805 },
+ { 180, 215 },
+ { 181, 8733 },
+ { 182, 8706 },
+ { 183, 8729 },
+ { 184, 247 },
+ { 185, 8800 },
+ { 186, 8801 },
+ { 187, 8776 },
+ { 188, 8943 },
+ { 189, 189 },
+ { 190, 190 },
+ { 191, 8629 },
+ { 192, 192 },
+ { 193, 8465 },
+ { 194, 8476 },
+ { 195, 8472 },
+ { 196, 8855 },
+ { 197, 8853 },
+ { 198, 8709 },
+ { 199, 8745 },
+ { 200, 8746 },
+ { 201, 8835 },
+ { 202, 8839 },
+ { 203, 8836 },
+ { 204, 8834 },
+ { 205, 8838 },
+ { 206, 8712 },
+ { 207, 8713 },
+ { 208, 8736 },
+ { 209, 8711 },
+ { 210, 174 },
+ { 211, 169 },
+ { 212, 8482 },
+ { 213, 8719 },
+ { 214, 8730 },
+ { 215, 8901 },
+ { 216, 172 },
+ { 217, 8743 },
+ { 218, 8744 },
+ { 219, 8660 },
+ { 220, 8656 },
+ { 221, 8657 },
+ { 222, 8658 },
+ { 223, 8659 },
+ { 224, 9674 },
+ { 225, 9001 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 8721 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 9002 },
+ { 242, 8747 },
+ { 243, 8992 },
+ { 244, 244 },
+ { 245, 8993 },
+ { 246, 246 },
+ { 247, 247 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 255 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 192, 65 },
+ { 192, 193 },
+ { 192, 194 },
+ { 192, 195 },
+ { 192, 196 },
+ { 192, 197 },
+ { 192, 256 },
+ { 192, 258 },
+ { 192, 260 },
+ { 192, 461 },
+ { 226, 97 },
+ { 226, 224 },
+ { 226, 225 },
+ { 226, 229 },
+ { 226, 257 },
+ { 226, 259 },
+ { 226, 261 },
+ { 226, 462 },
+ { 231, 99 },
+ { 231, 263 },
+ { 231, 265 },
+ { 231, 267 },
+ { 231, 269 },
+ { 232, 101 },
+ { 232, 275 },
+ { 232, 277 },
+ { 232, 279 },
+ { 232, 281 },
+ { 232, 283 },
+ { 236, 105 },
+ { 236, 297 },
+ { 236, 299 },
+ { 236, 301 },
+ { 236, 303 },
+ { 236, 305 },
+ { 236, 464 },
+ { 244, 110 },
+ { 244, 242 },
+ { 244, 243 },
+ { 244, 245 },
+ { 244, 333 },
+ { 244, 335 },
+ { 244, 337 },
+ { 244, 466 },
+ { 244, 491 },
+ { 249, 117 },
+ { 249, 361 },
+ { 249, 363 },
+ { 249, 365 },
+ { 249, 367 },
+ { 249, 369 },
+ { 249, 371 },
+ { 249, 468 },
+ { 253, 121 },
+ { 253, 375 },
+};
+static convert_t tex_dcr_in[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 258 },
+ { 129, 260 },
+ { 130, 262 },
+ { 131, 268 },
+ { 132, 270 },
+ { 133, 282 },
+ { 134, 280 },
+ { 135, 286 },
+ { 136, 313 },
+ { 137, 65534 },
+ { 138, 321 },
+ { 139, 323 },
+ { 140, 327 },
+ { 141, 330 },
+ { 142, 336 },
+ { 143, 340 },
+ { 144, 344 },
+ { 145, 346 },
+ { 146, 352 },
+ { 147, 350 },
+ { 148, 356 },
+ { 149, 354 },
+ { 150, 368 },
+ { 151, 366 },
+ { 152, 376 },
+ { 153, 377 },
+ { 154, 381 },
+ { 155, 379 },
+ { 156, 306 },
+ { 157, 304 },
+ { 158, 272 },
+ { 159, 167 },
+ { 160, 259 },
+ { 161, 261 },
+ { 162, 263 },
+ { 163, 269 },
+ { 164, 65534 },
+ { 165, 283 },
+ { 166, 281 },
+ { 167, 287 },
+ { 168, 314 },
+ { 169, 65534 },
+ { 170, 322 },
+ { 171, 324 },
+ { 172, 328 },
+ { 173, 331 },
+ { 174, 337 },
+ { 175, 341 },
+ { 176, 345 },
+ { 177, 347 },
+ { 178, 353 },
+ { 179, 351 },
+ { 180, 65534 },
+ { 181, 355 },
+ { 182, 369 },
+ { 183, 367 },
+ { 184, 255 },
+ { 185, 378 },
+ { 186, 382 },
+ { 187, 380 },
+ { 188, 307 },
+ { 189, 161 },
+ { 190, 191 },
+ { 191, 163 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 338 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 65534 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 339 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 223 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 462 },
+ { 67, 264 },
+ { 67, 266 },
+ { 99, 265 },
+ { 99, 267 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 71, 284 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 77, 325 },
+ { 109, 326 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 342 },
+ { 114, 343 },
+ { 83, 348 },
+ { 115, 349 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 121, 375 },
+};
+static convert_t tex_dcr_out[] = {
+ { 0, 0 },
+ { 1, 1 },
+ { 2, 2 },
+ { 3, 3 },
+ { 4, 4 },
+ { 5, 5 },
+ { 6, 6 },
+ { 7, 7 },
+ { 8, 8 },
+ { 9, 9 },
+ { 10, 10 },
+ { 11, 11 },
+ { 12, 12 },
+ { 13, 13 },
+ { 14, 14 },
+ { 15, 15 },
+ { 16, 16 },
+ { 17, 17 },
+ { 18, 18 },
+ { 19, 19 },
+ { 20, 20 },
+ { 21, 21 },
+ { 22, 22 },
+ { 23, 23 },
+ { 24, 24 },
+ { 25, 25 },
+ { 26, 26 },
+ { 27, 27 },
+ { 28, 28 },
+ { 29, 29 },
+ { 30, 30 },
+ { 31, 31 },
+ { 32, 32 },
+ { 33, 33 },
+ { 34, 34 },
+ { 35, 35 },
+ { 36, 36 },
+ { 37, 37 },
+ { 38, 38 },
+ { 39, 39 },
+ { 40, 40 },
+ { 41, 41 },
+ { 42, 42 },
+ { 43, 43 },
+ { 44, 44 },
+ { 45, 45 },
+ { 46, 46 },
+ { 47, 47 },
+ { 48, 48 },
+ { 49, 49 },
+ { 50, 50 },
+ { 51, 51 },
+ { 52, 52 },
+ { 53, 53 },
+ { 54, 54 },
+ { 55, 55 },
+ { 56, 56 },
+ { 57, 57 },
+ { 58, 58 },
+ { 59, 59 },
+ { 60, 60 },
+ { 61, 61 },
+ { 62, 62 },
+ { 63, 63 },
+ { 64, 64 },
+ { 65, 65 },
+ { 66, 66 },
+ { 67, 67 },
+ { 68, 68 },
+ { 69, 69 },
+ { 70, 70 },
+ { 71, 71 },
+ { 72, 72 },
+ { 73, 73 },
+ { 74, 74 },
+ { 75, 75 },
+ { 76, 76 },
+ { 77, 77 },
+ { 78, 78 },
+ { 79, 79 },
+ { 80, 80 },
+ { 81, 81 },
+ { 82, 82 },
+ { 83, 83 },
+ { 84, 84 },
+ { 85, 85 },
+ { 86, 86 },
+ { 87, 87 },
+ { 88, 88 },
+ { 89, 89 },
+ { 90, 90 },
+ { 91, 91 },
+ { 92, 92 },
+ { 93, 93 },
+ { 94, 94 },
+ { 95, 95 },
+ { 96, 96 },
+ { 97, 97 },
+ { 98, 98 },
+ { 99, 99 },
+ { 100, 100 },
+ { 101, 101 },
+ { 102, 102 },
+ { 103, 103 },
+ { 104, 104 },
+ { 105, 105 },
+ { 106, 106 },
+ { 107, 107 },
+ { 108, 108 },
+ { 109, 109 },
+ { 110, 110 },
+ { 111, 111 },
+ { 112, 112 },
+ { 113, 113 },
+ { 114, 114 },
+ { 115, 115 },
+ { 116, 116 },
+ { 117, 117 },
+ { 118, 118 },
+ { 119, 119 },
+ { 120, 120 },
+ { 121, 121 },
+ { 122, 122 },
+ { 123, 123 },
+ { 124, 124 },
+ { 125, 125 },
+ { 126, 126 },
+ { 127, 127 },
+ { 128, 258 },
+ { 129, 260 },
+ { 130, 262 },
+ { 131, 268 },
+ { 132, 270 },
+ { 133, 282 },
+ { 134, 280 },
+ { 135, 286 },
+ { 136, 313 },
+ { 137, 65534 },
+ { 138, 321 },
+ { 139, 323 },
+ { 140, 327 },
+ { 141, 330 },
+ { 142, 336 },
+ { 143, 340 },
+ { 144, 344 },
+ { 145, 346 },
+ { 146, 352 },
+ { 147, 350 },
+ { 148, 356 },
+ { 149, 354 },
+ { 150, 368 },
+ { 151, 366 },
+ { 152, 376 },
+ { 153, 377 },
+ { 154, 381 },
+ { 155, 379 },
+ { 156, 306 },
+ { 157, 304 },
+ { 158, 272 },
+ { 159, 167 },
+ { 160, 259 },
+ { 161, 261 },
+ { 162, 263 },
+ { 163, 269 },
+ { 164, 65534 },
+ { 165, 283 },
+ { 166, 281 },
+ { 167, 287 },
+ { 168, 314 },
+ { 169, 65534 },
+ { 170, 322 },
+ { 171, 324 },
+ { 172, 328 },
+ { 173, 331 },
+ { 174, 337 },
+ { 175, 341 },
+ { 176, 345 },
+ { 177, 347 },
+ { 178, 353 },
+ { 179, 351 },
+ { 180, 65534 },
+ { 181, 355 },
+ { 182, 369 },
+ { 183, 367 },
+ { 184, 255 },
+ { 185, 378 },
+ { 186, 382 },
+ { 187, 380 },
+ { 188, 307 },
+ { 189, 161 },
+ { 190, 191 },
+ { 191, 163 },
+ { 192, 192 },
+ { 193, 193 },
+ { 194, 194 },
+ { 195, 195 },
+ { 196, 196 },
+ { 197, 197 },
+ { 198, 198 },
+ { 199, 199 },
+ { 200, 200 },
+ { 201, 201 },
+ { 202, 202 },
+ { 203, 203 },
+ { 204, 204 },
+ { 205, 205 },
+ { 206, 206 },
+ { 207, 207 },
+ { 208, 208 },
+ { 209, 209 },
+ { 210, 210 },
+ { 211, 211 },
+ { 212, 212 },
+ { 213, 213 },
+ { 214, 214 },
+ { 215, 338 },
+ { 216, 216 },
+ { 217, 217 },
+ { 218, 218 },
+ { 219, 219 },
+ { 220, 220 },
+ { 221, 221 },
+ { 222, 222 },
+ { 223, 65534 },
+ { 224, 224 },
+ { 225, 225 },
+ { 226, 226 },
+ { 227, 227 },
+ { 228, 228 },
+ { 229, 229 },
+ { 230, 230 },
+ { 231, 231 },
+ { 232, 232 },
+ { 233, 233 },
+ { 234, 234 },
+ { 235, 235 },
+ { 236, 236 },
+ { 237, 237 },
+ { 238, 238 },
+ { 239, 239 },
+ { 240, 240 },
+ { 241, 241 },
+ { 242, 242 },
+ { 243, 243 },
+ { 244, 244 },
+ { 245, 245 },
+ { 246, 246 },
+ { 247, 339 },
+ { 248, 248 },
+ { 249, 249 },
+ { 250, 250 },
+ { 251, 251 },
+ { 252, 252 },
+ { 253, 253 },
+ { 254, 254 },
+ { 255, 223 },
+ { 34, 8220 },
+ { 34, 8221 },
+ { 39, 8216 },
+ { 39, 8217 },
+ { 45, 8211 },
+ { 45, 8212 },
+ { 32, 8194 },
+ { 32, 8195 },
+ { 32, 8201 },
+ { 65, 256 },
+ { 65, 461 },
+ { 97, 257 },
+ { 97, 462 },
+ { 67, 264 },
+ { 67, 266 },
+ { 99, 265 },
+ { 99, 267 },
+ { 100, 271 },
+ { 69, 274 },
+ { 69, 276 },
+ { 69, 278 },
+ { 101, 275 },
+ { 101, 277 },
+ { 101, 279 },
+ { 71, 284 },
+ { 71, 288 },
+ { 71, 290 },
+ { 71, 486 },
+ { 71, 500 },
+ { 103, 285 },
+ { 103, 289 },
+ { 103, 291 },
+ { 103, 487 },
+ { 103, 501 },
+ { 72, 292 },
+ { 104, 293 },
+ { 73, 296 },
+ { 73, 298 },
+ { 73, 300 },
+ { 73, 302 },
+ { 73, 463 },
+ { 105, 297 },
+ { 105, 299 },
+ { 105, 301 },
+ { 105, 303 },
+ { 105, 305 },
+ { 105, 464 },
+ { 74, 308 },
+ { 106, 309 },
+ { 75, 310 },
+ { 75, 488 },
+ { 107, 311 },
+ { 107, 489 },
+ { 76, 315 },
+ { 76, 317 },
+ { 76, 319 },
+ { 108, 316 },
+ { 108, 318 },
+ { 108, 320 },
+ { 77, 325 },
+ { 109, 326 },
+ { 109, 329 },
+ { 78, 332 },
+ { 78, 334 },
+ { 78, 465 },
+ { 78, 490 },
+ { 110, 333 },
+ { 110, 335 },
+ { 110, 466 },
+ { 110, 491 },
+ { 82, 342 },
+ { 114, 343 },
+ { 83, 348 },
+ { 115, 349 },
+ { 116, 357 },
+ { 85, 360 },
+ { 85, 362 },
+ { 85, 364 },
+ { 85, 370 },
+ { 85, 467 },
+ { 117, 361 },
+ { 117, 363 },
+ { 117, 365 },
+ { 117, 371 },
+ { 117, 468 },
+ { 87, 372 },
+ { 119, 373 },
+ { 89, 374 },
+ { 121, 375 },
+};
+allcharconvert_t allcharconvert[] = {
+{ "adobeiso",
+ "Adobe ISO",
+ { "ADOBEISO", "", "", "", "", "", "", },
+ CHARSETARRAY( adobeiso )
+},
+{ "adobestd",
+ "Adobe Standard",
+ { "ADOBESTD", "", "", "", "", "", "", },
+ CHARSETARRAY( adobestd )
+},
+{ "adobesym",
+ "Adobe Symbol",
+ { "ADOBESYM", "", "", "", "", "", "", },
+ CHARSETARRAY( adobesym )
+},
+{ "applecro",
+ "Apple Croatian",
+ { "APPLECRO", "MACCRO", "", "", "", "", "", },
+ CHARSETARRAY( applecro )
+},
+{ "applecyr",
+ "Apple Cyrillic",
+ { "MACCYRILLIC", "X-MAC-CYRILLIC", "", "", "", "", "", },
+ CHARSETARRAY( applecyr )
+},
+{ "applegk2",
+ "Apple Greek 2",
+ { "APPLEGK2", "", "", "", "", "", "", },
+ CHARSETARRAY( applegk2 )
+},
+{ "applegrk",
+ "Apple Greek",
+ { "MACGRK", "APPLEGRK", "", "", "", "", "", },
+ CHARSETARRAY( applegrk )
+},
+{ "macice",
+ "Macintosh Iceland(?)",
+ { "MACICE", "APPLEICE", "", "", "", "", "", },
+ CHARSETARRAY( macice )
+},
+{ "macroman",
+ "Macintosh Roman",
+ { "MACROMAN", "APPLEROM", "CSMACINTOSH", "MACINTOSH", "MAC", "", "", },
+ CHARSETARRAY( macroman )
+},
+{ "macromanian",
+ "Macintosh Romanian",
+ { "MACROMANIAN", "APPLERUM", "", "", "", "", "", },
+ CHARSETARRAY( macromanian )
+},
+{ "macturkish",
+ "Macintosh Turkish",
+ { "MACTURKISH", "APPLETURK", "", "", "", "", "", },
+ CHARSETARRAY( macturkish )
+},
+{ "atarist",
+ "Atari ST",
+ { "ATARIST", "", "", "", "", "", "", },
+ CHARSETARRAY( atarist )
+},
+{ "cp437",
+ "MS-DOS Code Page 437 from original IBM PC",
+ { "CP437", "IBM437", "437", "", "", "", "", },
+ CHARSETARRAY( cp437 )
+},
+{ "cp737",
+ "MS-DOS Code Page 737 Greek",
+ { "CP737", "IBM737", "737", "", "", "", "", },
+ CHARSETARRAY( cp737 )
+},
+{ "cp775",
+ "MS-DOS Code Page 775 Baltic languages",
+ { "CP775", "IBM775", "775", "", "", "", "", },
+ CHARSETARRAY( cp775 )
+},
+{ "cp850",
+ "MS-DOS Code Page 850 Western Europe",
+ { "CP850", "IBM850", "CSPC850MULTILINGUAL", "850", "", "", "", },
+ CHARSETARRAY( cp850 )
+},
+{ "cp851",
+ "MS-DOS Code Page 851 Greek 1",
+ { "CP851", "IBM851", "851", "", "", "", "", },
+ CHARSETARRAY( cp851 )
+},
+{ "cp852",
+ "MS-DOS Code Page 852 Central European languages",
+ { "CP852", "IBM852", "852", "", "", "", "", },
+ CHARSETARRAY( cp852 )
+},
+{ "cp853",
+ "MS-DOS Code Page 853 Multilingual Latin 3",
+ { "CP853", "IBM853", "853", "", "", "", "", },
+ CHARSETARRAY( cp853 )
+},
+{ "cp855",
+ "MS-DOS Code Page 855 Cyrillic",
+ { "CP855", "IBM855", "855", "", "", "", "", },
+ CHARSETARRAY( cp855 )
+},
+{ "cp857",
+ "MS-DOS Code Page 857 Turkish",
+ { "CP857", "IBM857", "857", "", "", "", "", },
+ CHARSETARRAY( cp857 )
+},
+{ "cp860",
+ "MS-DOS Code Page 860 Portugese",
+ { "CP860", "IBM860", "860", "", "", "", "", },
+ CHARSETARRAY( cp860 )
+},
+{ "cp861",
+ "MS-DOS Code Page 861 Icelandic languages",
+ { "CP861", "IBM861", "861", "", "", "", "", },
+ CHARSETARRAY( cp861 )
+},
+{ "cp862",
+ "MS-DOS Code Page 862 Hebrew",
+ { "CP862", "IBM862", "862", "", "", "", "", },
+ CHARSETARRAY( cp862 )
+},
+{ "cp863",
+ "MS-DOS Code Page 863 French",
+ { "CP863", "IBM863", "863", "", "", "", "", },
+ CHARSETARRAY( cp863 )
+},
+{ "cp864",
+ "MS-DOS Code Page 864 Arabic",
+ { "CP864", "IBM864", "864", "", "", "", "", },
+ CHARSETARRAY( cp864 )
+},
+{ "cp865",
+ "MS-DOS Code Page 865 Nordic languages",
+ { "CP865", "IBM865", "865", "", "", "", "", },
+ CHARSETARRAY( cp865 )
+},
+{ "cp866",
+ "MS-DOS Code Page 866 Cyrillic",
+ { "CP866", "IBM866", "866", "CSIBM866", "", "", "", },
+ CHARSETARRAY( cp866 )
+},
+{ "cp869",
+ "MS-DOS Code Page 869 Greek",
+ { "CP869", "IBM869", "869", "", "", "", "", },
+ CHARSETARRAY( cp869 )
+},
+{ "cp874",
+ "Windows-874 Thai",
+ { "CP874", "WINDOWS-874", "MS874", "X-WINDOWS-874", "X-IBM874", "874", "", },
+ CHARSETARRAY( cp874 )
+},
+{ "cp895",
+ "MS-DOS Code Page 895 Kamenicky encoding",
+ { "CP895", "895", "", "", "", "", "", },
+ CHARSETARRAY( cp895 )
+},
+{ "cp1250",
+ "Windows-1250 Central and Eastern European",
+ { "CP1250", "WINDOWS-1250", "MS-EE", "", "", "", "", },
+ CHARSETARRAY( cp1250 )
+},
+{ "cp1251",
+ "Windows-1251 Cyrillic",
+ { "CP1251", "WINDOWS-1251", "MS-CYRL", "", "", "", "", },
+ CHARSETARRAY( cp1251 )
+},
+{ "cp1252",
+ "Windows-1252 ISO 8859-1 superset",
+ { "CP1252", "WINDOWS-1252", "MS-ANSI", "", "", "", "", },
+ CHARSETARRAY( cp1252 )
+},
+{ "cp1253",
+ "Windows-1253 Greek",
+ { "CP1253", "WINDOWS-1253", "MS-GREEK", "", "", "", "", },
+ CHARSETARRAY( cp1253 )
+},
+{ "cp1254",
+ "Windows-1254 Turkish",
+ { "CP1254", "WINDOWS-1254", "MS-TURK", "", "", "", "", },
+ CHARSETARRAY( cp1254 )
+},
+{ "cp1255",
+ "Windows-1255 ISO 8859-8 Hebrew",
+ { "CP1255", "WINDOWS-1255", "MS-HEBR", "", "", "", "", },
+ CHARSETARRAY( cp1255 )
+},
+{ "cp1256",
+ "Windows-1256 Arabic",
+ { "CP1256", "WINDOWS-1256", "MS-ARAB", "", "", "", "", },
+ CHARSETARRAY( cp1256 )
+},
+{ "cp1257",
+ "Windows-1257 Baltic languages",
+ { "CP1257", "WINDOWS-1257", "WINBALTRIM", "", "", "", "", },
+ CHARSETARRAY( cp1257 )
+},
+{ "cp1258",
+ "Windows-1258 Vietnamese",
+ { "CP1258", "WINDOWS-1258", "", "", "", "", "", },
+ CHARSETARRAY( cp1258 )
+},
+{ "decmcs",
+ "DEC Multinational Character Set",
+ { "DECMCS", "", "", "", "", "", "", },
+ CHARSETARRAY( decmcs )
+},
+{ "ebc037",
+ "EBCDIC Codepage 037 Latin-1",
+ { "EBC037", "", "", "", "", "", "", },
+ CHARSETARRAY( ebc037 )
+},
+{ "ebc1026",
+ "EBCDIC 1026 Turkish",
+ { "EBC1026", "", "", "", "", "", "", },
+ CHARSETARRAY( ebc1026 )
+},
+{ "ebc1047",
+ "EBCDIC 1047 Latin 1",
+ { "EBC1047", "", "", "", "", "", "", },
+ CHARSETARRAY( ebc1047 )
+},
+{ "ebc500",
+ "EBCDIC 500 Latin 1",
+ { "EBC500", "", "", "", "", "", "", },
+ CHARSETARRAY( ebc500 )
+},
+{ "ebc875",
+ "EBCDIC 875 Greek",
+ { "EBC875", "", "", "", "", "", "", },
+ CHARSETARRAY( ebc875 )
+},
+{ "hp48",
+ "HP48",
+ { "HP48", "", "", "", "", "", "", },
+ CHARSETARRAY( hp48 )
+},
+{ "hproman8",
+ "HP Roman8",
+ { "HPROMAN8", "", "", "", "", "", "", },
+ CHARSETARRAY( hproman8 )
+},
+{ "iso646",
+ "ISO/IEC 646",
+ { "ISO646", "", "", "", "", "", "", },
+ CHARSETARRAY( iso646 )
+},
+{ "iso646_irv",
+ "ISO/IEC 646-IRV International Reference Variant",
+ { "ISO646-IRV", "", "", "", "", "", "", },
+ CHARSETARRAY( iso646_irv )
+},
+{ "iso646_ca",
+ "ISO/IEC 646-CA Canada",
+ { "ISO646-CA", "", "", "", "", "", "", },
+ CHARSETARRAY( iso646_ca )
+},
+{ "iso646_ch",
+ "ISO/IEC 646-CH",
+ { "ISO646-CH", "", "", "", "", "", "", },
+ CHARSETARRAY( iso646_ch )
+},
+{ "iso646_de",
+ "ISO/IEC 646-DE Germany",
+ { "ISO646-DE", "", "", "", "", "", "", },
+ CHARSETARRAY( iso646_de )
+},
+{ "iso646_es",
+ "ISO/IEC 646-ES Spain",
+ { "ISO646-ES", "", "", "", "", "", "", },
+ CHARSETARRAY( iso646_es )
+},
+{ "iso646_fi",
+ "ISO/IEC 646-FI Finland",
+ { "ISO646-FI", "", "", "", "", "", "", },
+ CHARSETARRAY( iso646_fi )
+},
+{ "iso646_fr",
+ "ISO/IEC 646-FR France",
+ { "ISO646-FR", "", "", "", "", "", "", },
+ CHARSETARRAY( iso646_fr )
+},
+{ "iso646_gb",
+ "ISO/IEC 646-GB United Kingdom",
+ { "ISO646-GB", "", "", "", "", "", "", },
+ CHARSETARRAY( iso646_gb )
+},
+{ "iso646_it",
+ "ISO/IEC 646-IT",
+ { "ISO646-IT", "", "", "", "", "", "", },
+ CHARSETARRAY( iso646_it )
+},
+{ "iso646_nl",
+ "ISO/IEC 646-NL",
+ { "ISO646-NL", "", "", "", "", "", "", },
+ CHARSETARRAY( iso646_nl )
+},
+{ "iso646_no",
+ "ISO/IEC 646-NO Norway",
+ { "ISO646-NO", "", "", "", "", "", "", },
+ CHARSETARRAY( iso646_no )
+},
+{ "iso646_pt",
+ "ISO/IEC 646-PT Portugal",
+ { "ISO646-PT", "", "", "", "", "", "", },
+ CHARSETARRAY( iso646_pt )
+},
+{ "iso646_se",
+ "ISO/IEC 646-SE Sweden",
+ { "ISO646-SE", "", "", "", "", "", "", },
+ CHARSETARRAY( iso646_se )
+},
+{ "iso8859_1",
+ "ISO/IEC 8859-1:1998 Latin-1",
+ { "ISO-8859-1", "CSISOLATIN", "LATIN1", "ISO-IR-100", "CP819", "IBM819", "ISO_8859-1", },
+ CHARSETARRAY( iso8859_1 )
+},
+{ "iso8859_2",
+ "ISO/IEC 8859-2:1999 Latin-2 Eastern European",
+ { "ISO-8859-2", "CSISOLATIN2", "LATIN2", "ISO-IR-101", "ISO_8859-2", "ISO_8859-2:1987", "L2", },
+ CHARSETARRAY( iso8859_2 )
+},
+{ "iso8859_3",
+ "ISO/IEC 8859-3:1999 Latin-3 South European",
+ { "ISO-8859-3", "CSISOLATIN3", "LATIN3", "ISO-IR-109", "ISO_8859-3", "ISO_8859-3:1988", "L3", },
+ CHARSETARRAY( iso8859_3 )
+},
+{ "iso8859_4",
+ "ISO/IEC 8859-4:1998 Latin-4 North European",
+ { "ISO-8859-4", "CSISOLATIN4", "LATIN4", "ISO-IR-110", "ISO_8859-4", "ISO_8859-4:1988", "L4", },
+ CHARSETARRAY( iso8859_4 )
+},
+{ "iso8859_5",
+ "ISO/IEC 8859-5:1999 Latin/Cyrillic",
+ { "ISO-8859-5", "CSISOLATINCYRILLIC", "CYRILLIC", "ISO-IR-144", "ISO_8859-5", "ISO_8859-5:1988", "", },
+ CHARSETARRAY( iso8859_5 )
+},
+{ "iso8859_6",
+ "ISO/IEC 8859-6:1999 Latin/Arabic",
+ { "ISO-8859-6", "ARABIC", "ASMO-708", "CSISOLATINARABIC", "ECMA-114", "ISO-IR-127", "ISO_8859-6", },
+ CHARSETARRAY( iso8859_6 )
+},
+{ "iso8859_7",
+ "ISO/IEC 8859-7:2003 Latin/Greek",
+ { "ISO-8859-7", "CSISOLATINGREEK", "GREEK", "ECMA-118", "ELOT_928", "GREEK8", "ISO-IR-126", },
+ CHARSETARRAY( iso8859_7 )
+},
+{ "iso8859_8",
+ "ISO/IEC 8859-8:1999 Latin/Hebrew",
+ { "ISO-8859-8", "CSISOLATINHEBREW", "HEBREW", "ISO-IR-138", "ISO_8859-8", "ISO_8859-8:1988", "", },
+ CHARSETARRAY( iso8859_8 )
+},
+{ "iso8859_9",
+ "ISO/IEC 8859-9:1999 Latin-5 Turkish",
+ { "ISO-8859-9", "CSISOLATIN5", "LATIN5", "ISO-IR-148", "ISO_8859-9", "ISO_8859-9:1989", "L5", },
+ CHARSETARRAY( iso8859_9 )
+},
+{ "iso8859_10",
+ "ISO/IEC 8859-10:1998 Latin-6 Nordic languages",
+ { "ISO-8859-10", "CSISOLATIN6", "LATIN6", "ISO-IR-157", "ISO_8859-10", "ISO_8859-10:1992", "L6", },
+ CHARSETARRAY( iso8859_10 )
+},
+{ "iso8859_11",
+ "ISO/IEC 8859-11:2001 Latin/Thai",
+ { "ISO-8859-11,", "TIS-620,", "TIS620,", "TACTIS", "", "", "", },
+ CHARSETARRAY( iso8859_11 )
+},
+{ "iso8859_13",
+ "ISO/IEC 8859-13:1998 Latin-7 Baltic Rim",
+ { "ISO-8859-13", "CSISOLATIN7", "LATIN7", "ISO-IR-179", "ISO_8859-13", "L7", "", },
+ CHARSETARRAY( iso8859_13 )
+},
+{ "iso8859_14",
+ "ISO/IEC 8859-14:1998 Latin-8 Celtic",
+ { "ISO-8859-14", "CSISOLATIN8", "LATIN8", "ISO-IR-199", "ISO_8859-14", "ISO_8859-14:1998", "L8", },
+ CHARSETARRAY( iso8859_14 )
+},
+{ "iso8859_15",
+ "ISO/IEC 8859-15:1999 Latin-9 Western European",
+ { "ISO-8859-15", "ISO-IR-203", "ISO_8859-15", "ISO_8859-15:1998", "", "", "", },
+ CHARSETARRAY( iso8859_15 )
+},
+{ "iso8859_16",
+ "ISO/IEC 8859-16:2001 Latin-10 South-Eastern European",
+ { "ISO-8859-16", "CSISOLATIN10", "LATIN10", "ISO-IR-226", "ISO_8859-16", "ISO_8859-16:2000", "", },
+ CHARSETARRAY( iso8859_16 )
+},
+{ "koi8_r",
+ "KOI8-R Kod Obmena Informatsiey, 8 bit Russian",
+ { "KOI8-R", "KOI8R", "CSKOI8R", "", "", "", "", },
+ CHARSETARRAY( koi8_r )
+},
+{ "koi8_u",
+ "KOI8-U Kod Obmena Informatsiey, 8 bit Ukranian",
+ { "KOI8-U", "KOI8U", "CSKOI8U", "", "", "", "", },
+ CHARSETARRAY( koi8_u )
+},
+{ "mslinedr",
+ "MS LineDraw",
+ { "MSLINEDR", "", "", "", "", "", "", },
+ CHARSETARRAY( mslinedr )
+},
+{ "nextstep",
+ "NextStep",
+ { "NEXTSTEP", "", "", "", "", "", "", },
+ CHARSETARRAY( nextstep )
+},
+{ "symbol",
+ "MS Windows Symbol Font",
+ { "SYMBOL", "", "", "", "", "", "", },
+ CHARSETARRAY( symbol )
+},
+{ "tex_dcr_in",
+ "TeX dcr input for European Computer Roman Font",
+ { "TEX_DCR_IN", "", "", "", "", "", "", },
+ CHARSETARRAY( tex_dcr_in )
+},
+{ "tex_dcr_out",
+ "TeX dcr output for European Computer Roman Font",
+ { "TEX_DCR_OUT", "", "", "", "", "", "", },
+ CHARSETARRAY( tex_dcr_out )
+},
+};
+int nallcharconvert = ARRAYSIZE( allcharconvert );
+
+char *
+charset_get_xmlname( int n )
+{
+ static char unknown[] = "???";
+ static char utf8[] = "UTF-8";
+ static char gb18030[] = "GB18030";
+ char *ret = unknown;
+ if ( n>=0 && n < nallcharconvert ) {
+ ret = allcharconvert[n].aliases[0];
+ } else if ( n==CHARSET_UNICODE ) {
+ ret = utf8;
+ } else if ( n==CHARSET_GB18030 ) {
+ ret = gb18030;
+ }
+ return ret;
+}
+
+int
+charset_find( char *name )
+{
+ int i, j, ret = CHARSET_UNKNOWN;
+ if ( name==NULL ) return ret;
+ for ( i=0; i<nallcharconvert && ret==CHARSET_UNKNOWN; ++i ){
+ if ( !strcasecmp( name, allcharconvert[i].cmdname ) ) ret = i;
+ else {
+ for ( j=0; j<CHARSET_NALIASES && ret==CHARSET_UNKNOWN; ++j ) {
+ if ( allcharconvert[i].aliases[j][0]=='\0' ) continue;
+ if ( !strcasecmp( name, allcharconvert[i].aliases[j] ) ) ret = i;
+ }
+ }
+ }
+ return ret;
+}
+
+void
+charset_list_all( FILE *fp )
+{
+ int i;
+ for ( i=0; i<nallcharconvert; ++i ){
+ fprintf( fp, " %s %s\n", allcharconvert[i].cmdname,
+ allcharconvert[i].descriptname );
+ }
+}
+
+unsigned int
+charset_lookupchar( int charsetin, char c )
+{
+ unsigned char uc;
+ uc = ( unsigned char ) c;
+ return allcharconvert[charsetin].table[uc].unicode;
+}
+
+unsigned int
+charset_lookupuni( int charsetout, unsigned int unicode )
+{
+ int i;
+ if ( charsetout==CHARSET_UNICODE ) return unicode;
+ for ( i=0; i<allcharconvert[charsetout].ntable; ++i ) {
+ if ( unicode == allcharconvert[charsetout].table[i].unicode )
+ return allcharconvert[charsetout].table[i].index;
+ }
+ return '?';
+}
+
diff --git a/support/texlab/crates/bibutils_sys/src/charsets.h b/support/texlab/crates/bibutils_sys/src/charsets.h
new file mode 100644
index 0000000000..da31392850
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/charsets.h
@@ -0,0 +1,25 @@
+/*
+ * charsets.h
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef CHARSETS_H
+#define CHARSETS_H
+
+#define CHARSET_UNKNOWN (-1)
+#define CHARSET_UNICODE (-2)
+#define CHARSET_GB18030 (-3)
+#define CHARSET_DEFAULT CHARSET_UNICODE
+#define CHARSET_UTF8_DEFAULT (1)
+#define CHARSET_BOM_DEFAULT (1)
+
+extern char * charset_get_xmlname( int n );
+extern int charset_find( char *name );
+extern void charset_list_all( FILE *fp );
+extern unsigned int charset_lookupchar( int charsetin, char c );
+extern unsigned int charset_lookupuni( int charsetout, unsigned int unicode );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/copacin.c b/support/texlab/crates/bibutils_sys/src/copacin.c
new file mode 100644
index 0000000000..4b876ce02a
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/copacin.c
@@ -0,0 +1,321 @@
+/*
+ * copacin.c
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "is_ws.h"
+#include "str.h"
+#include "str_conv.h"
+#include "slist.h"
+#include "name.h"
+#include "fields.h"
+#include "reftypes.h"
+#include "bibformats.h"
+#include "generic.h"
+
+extern variants copac_all[];
+extern int copac_nall;
+
+/*****************************************************
+ PUBLIC: void copacin_initparams()
+*****************************************************/
+
+static int copacin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset );
+static int copacin_processf( fields *bibin, const char *p, const char *filename, long nref, param *pm );
+static int copacin_convertf( fields *bibin, fields *info, int reftype, param *pm );
+
+int
+copacin_initparams( param *pm, const char *progname )
+{
+ pm->readformat = BIBL_COPACIN;
+ pm->charsetin = BIBL_CHARSET_DEFAULT;
+ pm->charsetin_src = BIBL_SRC_DEFAULT;
+ pm->latexin = 0;
+ pm->xmlin = 0;
+ pm->utf8in = 0;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->output_raw = 0;
+
+ pm->readf = copacin_readf;
+ pm->processf = copacin_processf;
+ pm->cleanf = NULL;
+ pm->typef = NULL;
+ pm->convertf = copacin_convertf;
+ pm->all = copac_all;
+ pm->nall = copac_nall;
+
+ slist_init( &(pm->asis) );
+ slist_init( &(pm->corps) );
+
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int copacin_readf()
+*****************************************************/
+
+/* Endnote-Refer/Copac tag definition:
+ character 1 = alphabetic character
+ character 2 = alphabetic character
+ character 3 = dash
+ character 4 = space
+*/
+static int
+copacin_istag( const char *buf )
+{
+ if (! ((buf[0]>='A' && buf[0]<='Z')) || (buf[0]>='a' && buf[0]<='z') )
+ return 0;
+ if (! ((buf[1]>='A' && buf[1]<='Z')) || (buf[1]>='a' && buf[1]<='z') )
+ return 0;
+ if (buf[2]!='-' ) return 0;
+ if (buf[3]!=' ' ) return 0;
+ return 1;
+}
+static int
+readmore( FILE *fp, char *buf, int bufsize, int *bufpos, str *line )
+{
+ if ( line->len ) return 1;
+ else return str_fget( fp, buf, bufsize, bufpos, line );
+}
+
+static int
+copacin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset )
+{
+ int haveref = 0, inref=0;
+ char *p;
+ *fcharset = CHARSET_UNKNOWN;
+ while ( !haveref && readmore( fp, buf, bufsize, bufpos, line ) ) {
+ /* blank line separates */
+ if ( line->data==NULL ) continue;
+ if ( inref && line->len==0 ) haveref=1;
+ p = &(line->data[0]);
+ /* Recognize UTF8 BOM */
+ if ( line->len > 2 &&
+ (unsigned char)(p[0])==0xEF &&
+ (unsigned char)(p[1])==0xBB &&
+ (unsigned char)(p[2])==0xBF ) {
+ *fcharset = CHARSET_UNICODE;
+ p += 3;
+ }
+ if ( copacin_istag( p ) ) {
+ if ( inref ) str_addchar( reference, '\n' );
+ str_strcatc( reference, p );
+ inref = 1;
+ } else if ( inref ) {
+ /* copac puts tag only on 1st line */
+ if ( *p ) p++;
+ if ( *p ) p++;
+ if ( *p ) p++;
+ if ( *p ) {
+ str_addchar( reference, ' ' );
+ str_strcatc( reference, p );
+ }
+ }
+ str_empty( line );
+ }
+ return haveref;
+}
+
+/*****************************************************
+ PUBLIC: int copacin_processf()
+*****************************************************/
+
+static const char*
+copacin_addtag2( const char *p, str *tag, str *data )
+{
+ int i;
+ i =0;
+ while ( i<3 && *p ) {
+ str_addchar( tag, *p++ );
+ i++;
+ }
+ while ( *p==' ' || *p=='\t' ) p++;
+ while ( *p && *p!='\r' && *p!='\n' ) {
+ str_addchar( data, *p );
+ p++;
+ }
+ str_trimendingws( data );
+ while ( *p=='\n' || *p=='\r' ) p++;
+ return p;
+}
+
+static const char *
+copacin_nextline( const char *p )
+{
+ while ( *p && *p!='\n' && *p!='\r') p++;
+ while ( *p=='\n' || *p=='\r' ) p++;
+ return p;
+}
+
+static int
+copacin_processf( fields *copacin, const char *p, const char *filename, long nref, param *pm )
+{
+ str tag, data;
+ int status;
+ str_init( &tag );
+ str_init( &data );
+ while ( *p ) {
+ p = skip_ws( p );
+ if ( copacin_istag( p ) ) {
+ p = copacin_addtag2( p, &tag, &data );
+ /* don't add empty strings */
+ if ( str_has_value( &tag ) && str_has_value( &data ) ) {
+ status = fields_add( copacin, tag.data, data.data, 0 );
+ if ( status!=FIELDS_OK ) return 0;
+ }
+ str_empty( &tag );
+ str_empty( &data );
+ }
+ else p = copacin_nextline( p );
+ }
+ str_free( &tag );
+ str_free( &data );
+ return 1;
+}
+
+/*****************************************************
+ PUBLIC: int copacin_convertf(), returns BIBL_OK or BIBL_ERR_MEMERR
+*****************************************************/
+
+/* copac names appear to always start with last name first, but don't
+ * always seem to have a comma after the name
+ *
+ * editors seem to be stuck in as authors with the tag "[Editor]" in it
+ */
+static int
+copacin_person( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ char *usetag = outtag, editor[]="EDITOR";
+ int comma = 0, i, ok, status;
+ str usename, *s;
+ slist tokens;
+
+ if ( slist_find( &(pm->asis), invalue ) !=-1 ||
+ slist_find( &(pm->corps), invalue ) !=-1 ) {
+ ok = name_add( bibout, outtag, invalue->data, level, &(pm->asis), &(pm->corps) );
+ if ( ok ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+ }
+
+ slist_init( &tokens );
+ str_init( &usename );
+
+ status = slist_tokenize( &tokens, invalue, " ", 1 );
+ if ( status!=SLIST_OK ) return BIBL_ERR_MEMERR;
+
+ for ( i=0; i<tokens.n; ++i ) {
+ s = slist_str( &tokens, i );
+ if ( !strcmp( str_cstr( s ), "[Editor]" ) ) {
+ usetag = editor;
+ str_empty( s );
+ } else if ( s->len && s->data[s->len-1]==',' ) {
+ comma++;
+ }
+ }
+
+ if ( comma==0 && tokens.n ) {
+ s = slist_str( &tokens, 0 );
+ str_addchar( s, ',' );
+ }
+
+ for ( i=0; i<tokens.n; ++i ) {
+ s = slist_str( &tokens, i );
+ if ( str_is_empty( s ) ) continue;
+ if ( i ) str_addchar( &usename, ' ' );
+ str_strcat( &usename, s );
+ }
+
+ slist_free( &tokens );
+
+ ok = name_add( bibout, usetag, str_cstr( &usename ), level, &(pm->asis), &(pm->corps) );
+
+ str_free( &usename );
+
+ if ( ok ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+}
+
+static void
+copacin_report_notag( param *p, char *tag )
+{
+ if ( p->verbose ) {
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Cannot find tag '%s'\n", tag );
+ }
+}
+
+static int
+copacin_convertf( fields *bibin, fields *bibout, int reftype, param *p )
+{
+ static int (*convertfns[NUM_REFTYPES])(fields *, int, str *, str *, int, param *, char *, fields *) = {
+ // Patch: Fix compilation on MSVC target
+ [ 0 ] = generic_null,
+ [ 1 ] = generic_null,
+ [ 2 ] = generic_null,
+ [ 3 ] = generic_null,
+ [ 4 ] = generic_null,
+ [ 5 ] = generic_null,
+ [ 6 ] = generic_null,
+ [ 7 ] = generic_null,
+ [ 8 ] = generic_null,
+ [ 9 ] = generic_null,
+ [ 10 ] = generic_null,
+ [ 11 ] = generic_null,
+ [ 12 ] = generic_null,
+ [ 13 ] = generic_null,
+ [ 14 ] = generic_null,
+ [ 15 ] = generic_null,
+ [ 16 ] = generic_null,
+ [ 17 ] = generic_null,
+ [ 18 ] = generic_null,
+ [ 19 ] = generic_null,
+ [ 20 ] = generic_null,
+ [ 21 ] = generic_null,
+ [ 22 ] = generic_null,
+ [ 23 ] = generic_null,
+ [ 24 ] = generic_null,
+ [ 25 ] = generic_null,
+ [ SIMPLE ] = generic_simple,
+ [ TITLE ] = generic_title,
+ [ NOTES ] = generic_notes,
+ [ SERIALNO ] = generic_serialno,
+ [ PERSON ] = copacin_person
+ };
+
+ int process, level, i, nfields, status = BIBL_OK;
+ str *intag, *invalue;
+ char *outtag;
+
+ nfields = fields_num( bibin );
+ for ( i=0; i<nfields; ++i ) {
+
+ intag = fields_tag( bibin, i, FIELDS_STRP );
+
+ if ( !translate_oldtag( intag->data, reftype, p->all, p->nall, &process, &level, &outtag ) ) {
+ copacin_report_notag( p, intag->data );
+ continue;
+ }
+
+ invalue = fields_value( bibin, i, FIELDS_STRP );
+
+ status = convertfns[ process ] ( bibin, i, intag, invalue, level, p, outtag, bibout );
+ if ( status!=BIBL_OK ) return status;
+
+ }
+
+ return status;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/copactypes.c b/support/texlab/crates/bibutils_sys/src/copactypes.c
new file mode 100644
index 0000000000..49797eb905
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/copactypes.c
@@ -0,0 +1,49 @@
+/*
+ * copactypes.c
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <string.h>
+#include "is_ws.h"
+#include "fields.h"
+#include "reftypes.h"
+
+/* if no specific type can be identified */
+static lookups generic[] = {
+ { "TI-", "TITLE" , TITLE, LEVEL_MAIN },
+ { "AU-", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "MV-", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "SE-", "TITLE", TITLE, LEVEL_HOST },
+ { "ED-", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "SC-", "SCALE", SIMPLE, LEVEL_MAIN }, /* for maps */
+ { "PU-", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "PY-", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "PD-", "DESCRIPTION", SIMPLE, LEVEL_MAIN }, /* physical description */
+ { "DT-", "TYPE", SIMPLE, LEVEL_MAIN },
+ { "LA-", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "IS-", "SERIALNUMBER", SERIALNO, LEVEL_MAIN },
+ { "NT-", "NOTES", NOTES, LEVEL_MAIN },
+ { "KW-", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "UL-", "URL", SIMPLE, LEVEL_MAIN },
+ { "HL-", "LOCATION", SIMPLE, LEVEL_MAIN }
+};
+
+/* order is important....."Book" matches "Book" and "Book Section", hence
+ * "Book Section must come first */
+
+#define ORIG(a) ( &(a[0]) )
+#define SIZE(a) ( sizeof( a ) / sizeof( lookups ) )
+#define REFTYPE(a,b) { a, ORIG(b), SIZE(b) }
+
+variants copac_all[] = {
+ REFTYPE( "Generic", generic ),
+};
+
+
+int copac_nall = sizeof( copac_all ) / sizeof( variants );
+
+
diff --git a/support/texlab/crates/bibutils_sys/src/ebiin.c b/support/texlab/crates/bibutils_sys/src/ebiin.c
new file mode 100644
index 0000000000..3454f0e08f
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/ebiin.c
@@ -0,0 +1,763 @@
+/*
+ * ebiin.c
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include "is_ws.h"
+#include "str.h"
+#include "str_conv.h"
+#include "fields.h"
+#include "bu_auth.h"
+#include "marc_auth.h"
+#include "xml.h"
+#include "xml_encoding.h"
+#include "bibformats.h"
+
+static int ebiin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset );
+static int ebiin_processf( fields *ebiin, const char *data, const char *filename, long nref, param *p );
+
+
+/*****************************************************
+ PUBLIC: void ebiin_initparams()
+*****************************************************/
+int
+ebiin_initparams( param *pm, const char *progname )
+{
+ pm->readformat = BIBL_EBIIN;
+ pm->charsetin = BIBL_CHARSET_UNICODE;
+ pm->charsetin_src = BIBL_SRC_DEFAULT;
+ pm->latexin = 0;
+ pm->xmlin = 1;
+ pm->utf8in = 1;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->output_raw = BIBL_RAW_WITHMAKEREFID |
+ BIBL_RAW_WITHCHARCONVERT;
+
+ pm->readf = ebiin_readf;
+ pm->processf = ebiin_processf;
+ pm->cleanf = NULL;
+ pm->typef = NULL;
+ pm->convertf = NULL;
+ pm->all = NULL;
+ pm->nall = 0;
+
+ slist_init( &(pm->asis) );
+ slist_init( &(pm->corps) );
+
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int ebiin_readf()
+*****************************************************/
+static int
+ebiin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset )
+{
+ int haveref = 0, inref = 0, file_charset = CHARSET_UNKNOWN, m;
+ char *startptr = NULL, *endptr;
+ str tmp;
+ str_init( &tmp );
+ while ( !haveref && str_fget( fp, buf, bufsize, bufpos, line ) ) {
+ if ( line->data ) {
+ m = xml_getencoding( line );
+ if ( m!=CHARSET_UNKNOWN ) file_charset = m;
+ }
+ if ( line->data )
+ startptr = xml_find_start( line->data, "Publication" );
+ if ( startptr || inref ) {
+ if ( inref ) str_strcat( &tmp, line );
+ else {
+ str_strcatc( &tmp, startptr );
+ inref = 1;
+ }
+ endptr = xml_find_end( str_cstr( &tmp ), "Publication" );
+ if ( endptr ) {
+ str_segcpy( reference, str_cstr( &tmp ), endptr );
+ haveref = 1;
+ }
+ }
+ }
+ str_free( &tmp );
+ *fcharset = file_charset;
+ return haveref;
+}
+
+/*****************************************************
+ PUBLIC: int ebiin_processf()
+*****************************************************/
+
+typedef struct xml_convert {
+ char *in; /* The input tag */
+ char *a, *aval; /* The attribute="attribute_value" pair, if nec. */
+ char *out; /* The output tag */
+ int level;
+} xml_convert;
+
+static int
+ebiin_doconvert( xml *node, fields *info, xml_convert *c, int nc, int *found )
+{
+ int i, status;
+ char *d;
+
+ if ( !xml_has_value( node ) ) goto out;
+
+ d = xml_value_cstr( node );
+ for ( i=0; i<nc; ++i ) {
+ if ( c[i].a==NULL ) {
+ if ( xml_tag_matches( node, c[i].in ) ) {
+ *found = 1;
+ status = fields_add( info, c[i].out, d, c[i].level );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ else return BIBL_OK;
+ }
+ } else {
+ if ( xml_tag_has_attribute( node, c[i].in, c[i].a, c[i].aval ) ){
+ *found = 1;
+ status = fields_add( info, c[i].out, d, c[i].level );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ else return BIBL_OK;
+ }
+ }
+
+ }
+out:
+ *found = 0;
+ return BIBL_OK;
+}
+
+/* <ArticleTitle>Mechanism and.....</ArticleTitle>
+ * and
+ * <Title>Mechanism and....</Title>
+ */
+static int
+ebiin_title( xml *node, fields *info, int title_level )
+{
+ int status;
+ if ( xml_has_value( node ) ) {
+ status = fields_add( info, "TITLE", xml_value_cstr( node ), title_level );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ return BIBL_OK;
+}
+
+/* ebiin_medlinedate()
+ *
+ * - extract medline information from entries like:
+ * <MedlineDate>2003 Jan-Feb</MedlineDate>
+ */
+static int
+ebiin_medlinedate_year( fields *info, const char *p, int level, const char **end )
+{
+ int fstatus, status = BIBL_OK;
+ str s;
+
+ str_init( &s );
+
+ *end = str_cpytodelim( &s, p, " \t\n\r", 0 );
+ if ( str_memerr( &s ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ if ( str_has_value( &s ) ) {
+ fstatus = fields_add( info, "PARTDATE:YEAR", str_cstr( &s ), level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ }
+out:
+ str_free( &s );
+ return status;
+}
+static int
+ebiin_medlinedate_month( fields *info, const char *p, int level, const char **end )
+{
+ int fstatus, status = BIBL_OK;
+ str s;
+
+ str_init( &s );
+
+ *end = str_cpytodelim( &s, p, " \t\n\r", 0 );
+ str_findreplace( &s, "-", "/" );
+ if ( str_memerr( &s ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ if ( str_has_value( &s ) ) {
+ fstatus = fields_add( info, "PARTDATE:MONTH", str_cstr( &s ), level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ }
+out:
+ str_free( &s );
+ return status;
+}
+
+static int
+ebiin_medlinedate_day( fields *info, const char *p, int level, const char **end )
+{
+ int fstatus, status = BIBL_OK;
+ str s;
+
+ str_init( &s );
+
+ *end = str_cpytodelim( &s, p, " \t\n\r", 0 );
+ if ( str_memerr( &s ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ if ( str_has_value( &s ) ) {
+ fstatus = fields_add( info, "PARTDATE:DAY", str_cstr( &s ), level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ }
+out:
+ str_free( &s );
+ return status;
+}
+
+static int
+ebiin_medlinedate( fields *info, xml *node, int level )
+{
+ int status = BIBL_OK;
+ const char *p;
+
+ if ( !xml_has_value( node ) ) return status;
+
+ p = xml_value_cstr( node );
+
+ if ( *p )
+ status = ebiin_medlinedate_year( info, skip_ws( p ), level, &p );
+ if ( *p && status==BIBL_OK )
+ status = ebiin_medlinedate_month( info, skip_ws( p ), level, &p );
+ if ( *p && status==BIBL_OK )
+ status = ebiin_medlinedate_day( info, skip_ws( p ), level, &p );
+
+ return status;
+}
+
+/* <Journal>
+ * <ISSN>0027-8424</ISSN>
+ * <JournalIssue PrintYN="Y">
+ * <Volume>100</Volume>
+ * <Issue>21</Issue>
+ * <PubDate>
+ * <Year>2003</Year>
+ * <Month>Oct</Month>
+ * <Day>14</Day>
+ * </PubDate>
+ * </Journal Issue>
+ * </Journal>
+ *
+ * or....
+ *
+ * <Journal>
+ * <ISSN IssnType="Print">0735-0414</ISSN>
+ * <JournalIssue CitedMedium="Print">
+ * <Volume>38</Volume>
+ * <Issue>1</Issue>
+ * <PubDate>
+ * <MedlineDate>2003 Jan-Feb</MedlineDate>
+ * </PubDate>
+ * </JournalIssue>
+ * <Title>Alcohol and alcoholism (Oxford, Oxfordshire) </Title>
+ * <ISOAbbreviation>Alcohol Alcohol.</ISOAbbreviation>
+ * </Journal>
+ */
+static int
+ebiin_journal1( xml *node, fields *info )
+{
+ xml_convert c[] = {
+ { "ISSN", NULL, NULL, "ISSN", 1 },
+ { "Volume", NULL, NULL, "VOLUME", 1 },
+ { "Issue", NULL, NULL, "ISSUE", 1 },
+ { "Year", NULL, NULL, "PARTDATE:YEAR", 1 },
+ { "Month", NULL, NULL, "PARTDATE:MONTH", 1 },
+ { "Day", NULL, NULL, "PARTDATE:DAY", 1 },
+ { "Language", NULL, NULL, "LANGUAGE", 1 },
+ };
+ int nc = sizeof( c ) / sizeof( c[0] ), status, found;
+ if ( xml_has_value( node ) ) {
+ status = ebiin_doconvert( node, info, c, nc, &found );
+ if ( status!=BIBL_OK ) return status;
+ if ( !found ) {
+ if ( xml_tag_matches( node, "MedlineDate" ) ) {
+ status = ebiin_medlinedate( info, node, LEVEL_HOST );
+ if ( status!=BIBL_OK ) return status;
+ }
+ }
+ }
+ if ( node->down ) {
+ status = ebiin_journal1( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) {
+ status = ebiin_journal1( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+/* <Pagination>
+ * <MedlinePgn>12111-6</MedlinePgn>
+ * </Pagination>
+ */
+static int
+ebiin_pages( fields *info, const char *p )
+{
+ int i, status, ret = BIBL_OK;
+ const int level = 1;
+ str sp, ep, *up;
+
+ strs_init( &sp, &ep, NULL );
+
+ /* ...start page */
+ p = str_cpytodelim( &sp, skip_ws( p ), "-", 1 );
+ if ( str_memerr( &sp ) ) {
+ ret = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ /* ...end page */
+ (void) str_cpytodelim( &ep, skip_ws( p ), " \t\n\r", 0 );
+ if ( str_memerr( &ep ) ) {
+ ret = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ if ( sp.len ) {
+ status = fields_add( info, "PAGES:START", sp.data, level );
+ if ( status!=FIELDS_OK ) {
+ ret = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+ if ( ep.len ) {
+ if ( sp.len > ep.len ) {
+ for ( i=sp.len-ep.len; i<sp.len; ++i )
+ sp.data[i] = ep.data[i-sp.len+ep.len];
+ up = &(sp);
+ } else up = &(ep);
+ status = fields_add( info, "PAGES:STOP", up->data, level );
+ if ( status!=FIELDS_OK ) ret = BIBL_ERR_MEMERR;
+ }
+
+out:
+ strs_free( &sp, &ep, NULL );
+ return ret;
+}
+static int
+ebiin_pagination( xml *node, fields *info )
+{
+ int status;
+ if ( xml_tag_matches_has_value( node, "Pages" ) ) {
+ status = ebiin_pages( info, xml_value_cstr( node ) );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->down ) {
+ status = ebiin_pagination( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) {
+ status = ebiin_pagination( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+/* <Abstract>
+ * <AbstractText>ljwejrelr</AbstractText>
+ * </Abstract>
+ */
+static int
+ebiin_abstract( xml *node, fields *info )
+{
+ int status;
+ if ( xml_tag_matches_has_value( node, "AbstractText" ) ) {
+ status = fields_add( info, "ABSTRACT", xml_value_cstr( node ), 0 );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ else if ( node->next ) {
+ status = ebiin_abstract( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+/* <AuthorList CompleteYN="Y">
+ * <Author>
+ * <LastName>Barondeau</LastName>
+ * <ForeName>David P</ForeName>
+ * ( or <FirstName>David P</FirstName> )
+ * <Initials>DP</Initials>
+ * </Author>
+ * </AuthorList>
+ */
+static int
+ebiin_author( xml *node, str *name )
+{
+ int status;
+ char *p;
+ if ( xml_tag_matches( node, "LastName" ) ) {
+ if ( name->len ) {
+ str_prepend( name, "|" );
+ str_prepend( name, xml_value_cstr( node ) );
+ }
+ else str_strcat( name, xml_value( node ) );
+ } else if ( xml_tag_matches( node, "ForeName" ) ||
+ xml_tag_matches( node, "FirstName" ) ) {
+ p = xml_value_cstr( node );
+ while ( p && *p ) {
+ if ( name->len ) str_addchar( name, '|' );
+ while ( *p==' ' ) p++;
+ while ( *p && *p!=' ' ) str_addchar( name, *p++ );
+ }
+ } else if ( xml_tag_matches( node, "Initials" ) && !strchr( name->data, '|' ) ) {
+ p = xml_value_cstr( node );
+ while ( p && *p ) {
+ if ( name->len ) str_addchar( name, '|' );
+ if ( !is_ws(*p ) ) str_addchar( name, *p++ );
+ }
+ }
+ if ( str_memerr( name ) ) return BIBL_ERR_MEMERR;
+
+ if ( node->down ) {
+ status = ebiin_author( node->down, name );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) {
+ status = ebiin_author( node->next, name );
+ if ( status!=BIBL_OK ) return status;
+ }
+
+ return BIBL_OK;
+}
+static int
+ebiin_authorlist( xml *node, fields *info, int level )
+{
+ int fstatus, status = BIBL_OK;
+ str name;
+
+ str_init( &name );
+ node = node->down;
+ while ( node ) {
+ if ( xml_tag_matches( node, "Author" ) && node->down ) {
+ status = ebiin_author( node->down, &name );
+ if ( status!=BIBL_OK ) goto out;
+ if ( name.len ) {
+ fstatus = fields_add(info,"AUTHOR",name.data,level);
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+ str_empty( &name );
+ }
+ }
+ node = node->next;
+ }
+out:
+ str_free( &name );
+ return status;
+}
+
+/* <PublicationTypeList>
+ * <PublicationType>Journal Article</PublicationType>
+ * </PublicationTypeList>
+ */
+
+/* <MedlineJournalInfo>
+ * <Country>United States</Country>
+ * <MedlineTA>Proc Natl Acad Sci U S A</MedlineTA>
+ * <NlmUniqueID>7507876</NlmUniqueID>
+ * </MedlineJournalInfo>
+ */
+
+static int
+ebiin_journal2( xml *node, fields *info )
+{
+ int status;
+ if ( xml_tag_matches_has_value( node, "TitleAbbreviation" ) ) {
+ status = fields_add( info, "TITLE", xml_value_cstr( node ), 1 );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ if ( node->down ) {
+ status = ebiin_journal2( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) {
+ status = ebiin_journal2( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+/*
+ * <MeshHeadingList>
+ * <MeshHeading>
+ * <DescriptorName MajorTopicYN="N">Biophysics</DescriptorName>
+ * </MeshHeading>
+ * <MeshHeading>
+ * <DescriptorName MajorTopicYN="N">Crystallography, X-Ray</DescriptorName>
+ * </MeshHeading>
+ * </MeshHeadingList>
+*/
+static int
+ebiin_meshheading( xml *node, fields *info )
+{
+ int status;
+ if ( xml_tag_matches_has_value( node, "DescriptorName" ) ) {
+ status = fields_add( info, "KEYWORD", xml_value_cstr( node ), 0 );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ if ( node->next ) {
+ status = ebiin_meshheading( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+static int
+ebiin_meshheadinglist( xml *node, fields *info )
+{
+ int status;
+ if ( xml_tag_matches( node, "MeshHeading" ) && node->down ) {
+ status = ebiin_meshheading( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) {
+ status = ebiin_meshheadinglist( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+static int
+ebiin_book( xml *node, fields *info, int book_level )
+{
+ xml_convert book[] = {
+ { "Publisher", NULL, NULL, "PUBLISHER", 0 },
+ { "Language", NULL, NULL, "LANGUAGE", 0 },
+ { "ISBN10", NULL, NULL, "ISBN", 0 },
+ { "ISBN13", NULL, NULL, "ISBN13", 0 },
+ { "Year", NULL, NULL, "DATE:YEAR", 0 },
+ { "Month", NULL, NULL, "DATE:MONTH", 0 },
+ { "Day", NULL, NULL, "DATE:DAY", 0 },
+ { "PageTotal", NULL, NULL, "PAGES:TOTAL", 0 },
+ { "SeriesName", NULL, NULL, "TITLE", 1 },
+ { "SeriesISSN", NULL, NULL, "ISSN", 0 },
+ { "OtherReportInformation", NULL, NULL, "NOTES", 0 },
+ { "Edition", NULL, NULL, "EDITION", 0 },
+ };
+ int nbook = sizeof( book ) / sizeof( book[0] );
+ xml_convert inbook[] = {
+ { "Publisher", NULL, NULL, "PUBLISHER", 1 },
+ { "Language", NULL, NULL, "LANGUAGE", 0 },
+ { "ISBN10", NULL, NULL, "ISBN", 1 },
+ { "ISBN13", NULL, NULL, "ISBN13", 1 },
+ { "Year", NULL, NULL, "PARTDATE:YEAR", 1 },
+ { "Month", NULL, NULL, "PARTDATE:MONTH", 1 },
+ { "Day", NULL, NULL, "PARTDATE:DAY", 1 },
+ { "PageTotal", NULL, NULL, "PAGES:TOTAL", 1 },
+ { "SeriesName", NULL, NULL, "TITLE", 2 },
+ { "SeriesISSN", NULL, NULL, "ISSN", 1 },
+ { "OtherReportInformation", NULL, NULL, "NOTES", 1 },
+ { "Edition", NULL, NULL, "EDITION", 1 },
+ };
+ int ninbook = sizeof( inbook ) / sizeof( inbook[0] );
+ int nc, status, found;
+ xml_convert *c;
+
+ if ( book_level==0 ) {
+ c = book;
+ nc = nbook;
+ }
+ else {
+ c = inbook;
+ nc = ninbook;
+ }
+
+ status = ebiin_doconvert( node, info, c, nc, &found );
+ if ( status!=BIBL_OK ) return status;
+
+ if ( !found ) {
+ status = BIBL_OK;
+ if ( xml_tag_matches( node, "MedlineDate" ) )
+ status = ebiin_medlinedate( info, node, book_level );
+ else if ( xml_tag_matches( node, "Title" ) )
+ status = ebiin_title( node, info, book_level );
+ else if ( xml_tag_matches( node, "Pagination" ) && node->down )
+ status = ebiin_pagination( node->down, info );
+ else if ( xml_tag_matches( node, "Abstract" ) && node->down )
+ status = ebiin_abstract( node->down, info );
+ else if ( xml_tag_matches( node, "AuthorList" ) )
+ status = ebiin_authorlist( node, info, book_level );
+ else if ( xml_tag_matches( node, "PubDate" ) && node->down )
+ status = ebiin_book( node->down, info, book_level );
+ if ( status!=BIBL_OK ) return status;
+ }
+
+ if ( node->next ) {
+ status = ebiin_book( node->next, info, book_level );
+ if ( status!=BIBL_OK ) return status;
+ }
+
+ return BIBL_OK;
+}
+
+static int
+ebiin_article( xml *node, fields *info )
+{
+ int status = BIBL_OK;
+
+ if ( xml_tag_matches( node, "Journal" ) )
+ status = ebiin_journal1( node, info );
+ else if ( node->down && ( xml_tag_matches( node, "Book" ) ||
+ xml_tag_matches(node, "Report") ))
+ status = ebiin_book( node->down, info, 1 );
+ else if ( xml_tag_matches( node, "ArticleTitle" ) )
+ status = ebiin_title( node, info, 0 );
+ else if ( xml_tag_matches( node, "Pagination" ) && node->down )
+ status = ebiin_pagination( node->down, info );
+ else if ( xml_tag_matches( node, "Abstract" ) && node->down )
+ status = ebiin_abstract( node->down, info );
+ else if ( xml_tag_matches( node, "AuthorList" ) )
+ status = ebiin_authorlist( node, info, 0 );
+ if ( status!=BIBL_OK ) return status;
+
+ if ( node->next ) {
+ status = ebiin_article( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+
+ return BIBL_OK;
+}
+
+static int
+ebiin_publication( xml *node, fields *info )
+{
+ int status = BIBL_OK;
+ if ( node->down ) {
+ if ( xml_tag_matches( node, "Article" ) )
+ status = ebiin_article( node->down, info );
+ else if ( xml_tag_matches( node, "Book" ) )
+ status = ebiin_book( node->down, info, 0 );
+ else if ( xml_tag_matches( node, "Report" ) )
+ status = ebiin_book( node->down, info, 0 );
+ else if ( xml_tag_matches( node, "JournalInfo" ) )
+ status = ebiin_journal2( node->down, info );
+ else if ( xml_tag_matches( node, "MeshHeadingList" ) )
+ status = ebiin_meshheadinglist( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) {
+ status = ebiin_publication( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+/* Call with the "Publication" node */
+static int
+ebiin_fixtype( xml *node, fields *info )
+{
+ char *resource = NULL, *issuance = NULL, *genre1 = NULL, *genre2 = NULL;
+ str *type;
+ int reslvl, isslvl, gen1lvl, gen2lvl;
+ int status;
+
+ type = xml_attribute( node, "Type" );
+ if ( !type || type->len==0 ) return BIBL_OK;
+
+ if ( !strcmp( type->data, "JournalArticle" ) ) {
+ resource = "text";
+ issuance = "continuing";
+ genre1 = "periodical";
+ genre2 = "academic journal";
+ reslvl = 0;
+ isslvl = 1;
+ gen1lvl = 1;
+ gen2lvl = 1;
+ } else if ( !strcmp( type->data, "Book" ) ) {
+ resource = "text";
+ issuance = "monographic";
+ genre1 = "book";
+ reslvl = 0;
+ isslvl = 0;
+ gen1lvl = 0;
+ } else if ( !strcmp( type->data, "BookArticle" ) ) {
+ resource = "text";
+ issuance = "monographic";
+ genre1 = "book";
+ reslvl = 0;
+ isslvl = 1;
+ gen1lvl = 1;
+ }
+
+ if ( resource ) {
+ status = fields_add( info, "RESOURCE", resource, reslvl );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ if ( issuance ) {
+ status = fields_add( info, "ISSUANCE", issuance, isslvl );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ if ( genre1 ) {
+ if ( is_marc_genre( genre1 ) )
+ status = fields_add( info, "GENRE:MARC", genre1, gen1lvl );
+ else if ( is_bu_genre( genre1 ) )
+ status = fields_add( info, "GENRE:BIBUTILS", genre1, gen1lvl );
+ else
+ status = fields_add( info, "GENRE:UNKNOWN", genre1, gen1lvl );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ if ( genre2 ) {
+ if ( is_marc_genre( genre2 ) )
+ status = fields_add( info, "GENRE:MARC", genre2, gen2lvl );
+ else if ( is_bu_genre( genre2 ) )
+ status = fields_add( info, "GENRE:BIBUTILS", genre2, gen2lvl );
+ else
+ status = fields_add( info, "GENRE:UNKNOWN", genre2, gen2lvl );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+static int
+ebiin_assembleref( xml *node, fields *info )
+{
+ int status;
+ if ( xml_tag_matches( node, "Publication" ) && node->down ) {
+ status = ebiin_fixtype( node, info );
+ if ( status!=BIBL_OK ) return status;
+ status = ebiin_publication( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ } else if ( node->down ) {
+ status = ebiin_assembleref( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) {
+ status = ebiin_assembleref( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+static int
+ebiin_processf( fields *ebiin, const char *data, const char *filename, long nref, param *p )
+{
+ int status;
+ xml top;
+
+ xml_init( &top );
+ xml_parse( data, &top );
+ status = ebiin_assembleref( &top, ebiin );
+ xml_free( &top );
+
+ return ( status==BIBL_OK ) ? 1 : 0;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/endin.c b/support/texlab/crates/bibutils_sys/src/endin.c
new file mode 100644
index 0000000000..4f0745e603
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/endin.c
@@ -0,0 +1,620 @@
+/*
+ * endin.c
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include "is_ws.h"
+#include "str.h"
+#include "str_conv.h"
+#include "fields.h"
+#include "url.h"
+#include "reftypes.h"
+#include "bibformats.h"
+#include "generic.h"
+#include "msvc_fix.h"
+
+extern variants end_all[];
+extern int end_nall;
+
+/*****************************************************
+ PUBLIC: void endin_initparams()
+*****************************************************/
+
+static int endin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset );
+static int endin_processf( fields *endin, const char *p, const char *filename, long nref, param *pm );
+int endin_typef( fields *endin, const char *filename, int nrefs, param *p );
+int endin_convertf( fields *endin, fields *info, int reftype, param *p );
+int endin_cleanf( bibl *bin, param *p );
+
+int
+endin_initparams( param *pm, const char *progname )
+{
+ pm->readformat = BIBL_ENDNOTEIN;
+ pm->charsetin = BIBL_CHARSET_DEFAULT;
+ pm->charsetin_src = BIBL_SRC_DEFAULT;
+ pm->latexin = 0;
+ pm->xmlin = 0;
+ pm->utf8in = 0;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->output_raw = 0;
+
+ pm->readf = endin_readf;
+ pm->processf = endin_processf;
+ pm->cleanf = endin_cleanf;
+ pm->typef = endin_typef;
+ pm->convertf = endin_convertf;
+ pm->all = end_all;
+ pm->nall = end_nall;
+
+ slist_init( &(pm->asis) );
+ slist_init( &(pm->corps) );
+
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+
+/*****************************************************
+ PUBLIC: int endin_readf()
+*****************************************************/
+
+/* Endnote tag definition:
+ character 1 = '%'
+ character 2 = alphabetic character or digit (or other characters)
+ character 3 = space (ansi 32)
+*/
+static int
+endin_istag( const char *buf )
+{
+ const char others[]="!@#$^&*()+=?[~>";
+ if ( buf[0]!='%' ) return 0;
+ if ( buf[2]!=' ' ) return 0;
+ if ( isalpha( (unsigned char)buf[1] ) ) return 1;
+ if ( isdigit( (unsigned char)buf[1] ) ) return 1;
+ if ( strchr( others, buf[1] ) ) return 1;
+ return 0;
+}
+
+static int
+readmore( FILE *fp, char *buf, int bufsize, int *bufpos, str *line )
+{
+ if ( line->len ) return 1;
+ else return str_fget( fp, buf, bufsize, bufpos, line );
+}
+
+static int
+endin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset )
+{
+ int haveref = 0, inref = 0;
+ unsigned char *up;
+ char *p;
+ *fcharset = CHARSET_UNKNOWN;
+ while ( !haveref && readmore( fp, buf, bufsize, bufpos, line ) ) {
+
+ if ( !line->data ) continue;
+ p = &(line->data[0]);
+
+ /* Skip <feff> Unicode header information */
+ /* <feff> = ef bb bf */
+ up = (unsigned char* ) p;
+ if ( line->len > 2 && up[0]==0xEF && up[1]==0xBB &&
+ up[2]==0xBF ) {
+ *fcharset = CHARSET_UNICODE;
+ p += 3;
+ }
+
+ if ( !*p ) {
+ if ( inref ) haveref = 1; /* blank line separates */
+ else continue; /* blank line to ignore */
+ }
+ /* Each reference starts with a tag && ends with a blank line */
+ if ( endin_istag( p ) ) {
+ if ( reference->len ) str_addchar( reference, '\n' );
+ str_strcatc( reference, p );
+ inref = 1;
+ } else if ( inref && *p ) {
+ str_addchar( reference, '\n' );
+ str_strcatc( reference, p );
+ }
+ str_empty( line );
+ }
+ if ( reference->len ) haveref = 1;
+ return haveref;
+}
+
+/*****************************************************
+ PUBLIC: int endin_processf()
+*****************************************************/
+static const char*
+process_endline( str *tag, str *data, const char *p )
+{
+ int i;
+
+ i = 0;
+ while ( i<2 && *p ) {
+ str_addchar( tag, *p++);
+ i++;
+ }
+ while ( *p==' ' || *p=='\t' ) p++;
+
+ while ( *p && *p!='\r' && *p!='\n' )
+ str_addchar( data, *p++ );
+ str_trimendingws( data );
+
+ while ( *p=='\r' || *p=='\n' ) p++;
+
+ return p;
+}
+
+static const char *
+process_endline2( str *tag, str *data, const char *p )
+{
+ while ( *p==' ' || *p=='\t' ) p++;
+ while ( *p && *p!='\r' && *p!='\n' )
+ str_addchar( data, *p++ );
+ str_trimendingws( data );
+ while ( *p=='\r' || *p=='\n' ) p++;
+ return p;
+}
+
+static int
+endin_processf( fields *endin, const char *p, const char *filename, long nref, param *pm )
+{
+ str tag, data;
+ int status, n;
+ strs_init( &tag, &data, NULL );
+ while ( *p ) {
+ strs_empty( &tag, &data, NULL );
+ if ( endin_istag( p ) ) {
+ p = process_endline( &tag, &data, p );
+ if ( str_is_empty( &data ) ) continue;
+ status = fields_add( endin, str_cstr( &tag ), str_cstr( &data ), 0 );
+ if ( status!=FIELDS_OK ) return 0;
+ } else {
+ p = process_endline2( &tag, &data, p );
+ /* endnote puts %K only on 1st line of keywords */
+ n = fields_num( endin );
+ if ( n>0 && str_has_value( &data ) ) {
+ if ( !strncmp( endin->tag[n-1].data, "%K", 2 ) ) {
+ status = fields_add( endin, "%K", str_cstr( &data ), 0 );
+ if ( status!=FIELDS_OK ) return 0;
+ } else {
+ str_addchar( &(endin->data[n-1]), ' ' );
+ str_strcat( &(endin->data[n-1]), &data );
+ }
+ }
+ }
+ }
+ strs_free( &tag, &data, NULL );
+ return 1;
+}
+
+/*****************************************************
+ PUBLIC: int endin_typef()
+*****************************************************/
+
+/* Endnote defaults if no %0 tag
+ *
+ * if %J & %V - journal article
+ * if %B - book section
+ * if %R & !%T - report
+ * if %I & !%B & !%J & !%R - book
+ * if !%B & !%J & !%R & !%I - journal article
+ */
+int
+endin_typef( fields *endin, const char *filename, int nrefs, param *p )
+{
+ int ntypename, nrefname, is_default, nj, nv, nb, nr, nt, ni;
+ char *refname = "", *typename="";
+
+ ntypename = fields_find( endin, "%0", LEVEL_MAIN );
+ nrefname = fields_find( endin, "%F", LEVEL_MAIN );
+ if ( nrefname!=-1 ) refname = fields_value( endin, nrefname, FIELDS_CHRP_NOUSE );
+ if ( ntypename!=-1 ) typename = fields_value( endin, ntypename, FIELDS_CHRP_NOUSE );
+ else {
+ nj = fields_find( endin, "%J", 0 );
+ nv = fields_find( endin, "%V", 0 );
+ nb = fields_find( endin, "%B", 0 );
+ nr = fields_find( endin, "%R", 0 );
+ nt = fields_find( endin, "%T", 0 );
+ ni = fields_find( endin, "%I", 0 );
+ if ( nj!=-1 && nv!=-1 ) {
+ typename = "Journal Article";
+ } else if ( nb!=-1 ) {
+ typename = "Book Section";
+ } else if ( nr!=-1 && nt==-1 ) {
+ typename = "Report";
+ } else if ( ni!=-1 && nb==-1 && nj==-1 && nr==-1 ) {
+ typename = "Book";
+ } else if ( nb==-1 && nj==-1 && nr==-1 && ni==-1 ) {
+ typename = "Journal Article";
+ }
+ }
+
+ return get_reftype( typename, nrefs, p->progname, p->all, p->nall, refname, &is_default, REFTYPE_CHATTY );
+}
+
+/*****************************************************
+ PUBLIC: void endin_cleanf()
+*****************************************************/
+
+/* Wiley puts multiple authors separated by commas on the %A lines.
+ * We can detect this by finding the terminal comma in the value
+ * from the tag/value pair.
+ *
+ * "%A" "Author A. X. Last, Author N. B. Next,"
+ */
+static int
+is_wiley_author( fields *endin, int n )
+{
+ str *t, *v;
+ t = fields_tag( endin, n, FIELDS_STRP_NOUSE );
+ if ( str_is_empty( t ) || strcmp( str_cstr( t ), "%A" ) ) return 0;
+ v = fields_value( endin, n, FIELDS_STRP_NOUSE );
+ if ( str_is_empty( v ) ) return 0;
+ if ( v->data[v->len-1]!=',' ) return 0;
+ return 1;
+}
+
+static int
+add_wiley_author( fields *endin, char *intag, str *instring, int inlevel, str *name, int authornum )
+{
+ int fstatus;
+
+ /* if first author, just replace the data string in the field */
+ if ( authornum==0 ) {
+ str_strcpy( instring, name );
+ if ( str_memerr( instring ) ) return BIBL_ERR_MEMERR;
+ }
+
+ /* otherwise, append the author */
+ else {
+ fstatus = fields_add( endin, intag, str_cstr( name ), inlevel );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+static int
+cleanup_wiley_author( fields *endin, int n )
+{
+ int status=BIBL_OK, inlevel, authornum = 0;
+ str *instring, copy, name;
+ char *p, *intag;
+
+ strs_init( &copy, &name, NULL );
+
+ intag = fields_tag ( endin, n, FIELDS_CHRP_NOUSE );
+ instring = fields_value( endin, n, FIELDS_STRP_NOUSE );
+ inlevel = fields_level( endin, n );
+
+ str_strcpy( &copy, instring );
+ p = str_cstr( &copy );
+
+ while ( *p ) {
+
+ if ( *p==',' ) {
+ if ( str_memerr( &name ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ status = add_wiley_author( endin, intag, instring, inlevel, &name, authornum );
+ if ( status!=BIBL_OK ) goto out;
+
+ str_empty( &name );
+ authornum++;
+
+ p++;
+ while ( is_ws( *p ) ) p++;
+ }
+
+ else {
+ str_addchar( &name, *p );
+ p++;
+ }
+ }
+
+ if ( str_has_value( &name ) )
+ status = add_wiley_author( endin, intag, instring, inlevel, &name, authornum );
+out:
+ strs_free( &copy, &name, NULL );
+ return status;
+}
+
+static int
+endin_cleanref( fields *endin )
+{
+ int i, n, status;
+ n = fields_num( endin );
+ for ( i=0; i<n; ++i ) {
+ if ( is_wiley_author( endin, i ) ) {
+ status = cleanup_wiley_author( endin, i );
+ if ( status!=BIBL_OK ) return status;
+ }
+ }
+ return BIBL_OK;
+}
+
+int
+endin_cleanf( bibl *bin, param *p )
+{
+ long i;
+ for ( i=0; i<bin->nrefs; ++i )
+ endin_cleanref( bin->ref[i] );
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int endin_convertf(), returns BIBL_OK or BIBL_ERR_MEMERR
+*****************************************************/
+
+/* month_convert()
+ * convert month name to number in format MM, e.g. "January" -> "01"
+ * if converted, return 1
+ * otherwise return 0
+ */
+static int
+month_convert( char *in, char *out )
+{
+ char *month1[12]={
+ "January", "February",
+ "March", "April",
+ "May", "June",
+ "July", "August",
+ "September", "October",
+ "November", "December"
+ };
+ char *month2[12]={
+ "Jan", "Feb",
+ "Mar", "Apr",
+ "May", "Jun",
+ "Jul", "Aug",
+ "Sep", "Oct",
+ "Nov", "Dec"
+ };
+ int i, found = -1;
+
+ for ( i=0; i<12 && found==-1; ++i ) {
+ if ( !strcasecmp( in, month1[i] ) ) found = i;
+ if ( !strcasecmp( in, month2[i] ) ) found = i;
+ }
+
+ if ( found==-1 ) return 0;
+
+ if ( found > 8 )
+ sprintf( out, "%d", found+1 );
+ else
+ sprintf( out, "0%d", found+1 );
+
+ return 1;
+}
+
+static int
+endin_date( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ char *tags[3][2] = {
+ { "DATE:YEAR", "PARTDATE:YEAR" },
+ { "DATE:MONTH", "PARTDATE:MONTH" },
+ { "DATE:DAY", "PARTDATE:DAY" }
+ };
+ const char *p = invalue->data;
+ char month[10], *m;
+ int part, status;
+ str date;
+
+ str_init( &date );
+
+ if ( !strncasecmp( outtag, "PART", 4 ) ) part = 1;
+ else part = 0;
+
+ /* %D YEAR */
+ if ( !strcasecmp( intag->data, "%D" ) ) {
+ str_cpytodelim( &date, skip_ws( p ), "", 0 );
+ if ( str_memerr( &date ) ) return BIBL_ERR_MEMERR;
+ if ( str_has_value( &date ) ) {
+ status = fields_add( bibout, tags[0][part], date.data, level );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ }
+
+ /* %8 MONTH DAY, YEAR */
+ /* %8 MONTH, YEAR */
+ /* %8 MONTH YEAR */
+ else if ( !strcasecmp( intag->data, "%8" ) ) {
+
+ /* ...get month */
+ p = str_cpytodelim( &date, skip_ws( p ), " ,\n", 0 );
+ if ( str_memerr( &date ) ) return BIBL_ERR_MEMERR;
+ if ( str_has_value( &date ) ) {
+ if ( month_convert( date.data, month ) ) m = month;
+ else m = str_cstr( &date );
+ status = fields_add( bibout, tags[1][part], m, level );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+
+ p = skip_ws( p );
+ if ( *p==',' ) p++;
+
+ /* ...get days */
+ p = str_cpytodelim( &date, skip_ws( p ), ",\n", 0 );
+ if ( str_memerr( &date ) ) return BIBL_ERR_MEMERR;
+ if ( date.len>0 && date.len<3 ) {
+ status = fields_add( bibout, tags[2][part], date.data, level );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ } else if ( date.len==4 ) {
+ status = fields_add( bibout, tags[0][part], date.data, level );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+
+ p = skip_ws( p );
+ if ( *p==',' ) p++;
+
+ /* ...get year */
+ (void) str_cpytodelim( &date, skip_ws( p ), " \t\n\r", 0 );
+ if ( str_memerr( &date ) ) return BIBL_ERR_MEMERR;
+ if ( str_has_value( &date ) ) {
+ status = fields_add( bibout, tags[0][part], date.data, level );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ }
+ str_free( &date );
+ return BIBL_OK;
+}
+
+static int
+endin_type( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ lookups types[] = {
+ { "GENERIC", "ARTICLE" },
+ { "BOOK", "BOOK" },
+ { "MANUSCRIPT", "MANUSCRIPT" },
+ { "CONFERENCE PROCEEDINGS", "INPROCEEDINGS"},
+ { "REPORT", "REPORT" },
+ { "COMPUTER PROGRAM", "BOOK" },
+ { "AUDIOVISUAL MATERIAL", "AUDIOVISUAL" },
+ { "ARTWORK", "BOOK" },
+ { "PATENT", "BOOK" },
+ { "BILL", "BILL" },
+ { "CASE", "CASE" },
+ { "JOURNAL ARTICLE", "ARTICLE" },
+ { "MAGAZINE ARTICLE", "ARTICLE" },
+ { "BOOK SECTION", "INBOOK" },
+ { "EDITED BOOK", "BOOK" },
+ { "NEWSPAPER ARTICLE", "NEWSARTICLE" },
+ { "THESIS", "PHDTHESIS" },
+ { "PERSONAL COMMUNICATION", "COMMUNICATION" },
+ { "ELECTRONIC SOURCE", "TEXT" },
+ { "FILM OR BROADCAST", "AUDIOVISUAL" },
+ { "MAP", "MAP" },
+ { "HEARING", "HEARING" },
+ { "STATUTE", "STATUTE" },
+ { "CHART OR TABLE", "CHART" },
+ { "WEB PAGE", "WEBPAGE" },
+ };
+ int ntypes = sizeof( types ) / sizeof( lookups );
+ int i, status, found=0;
+ for ( i=0; i<ntypes; ++i ) {
+ if ( !strcasecmp( types[i].oldstr, invalue->data ) ) {
+ found = 1;
+ status = fields_add( bibout, "INTERNAL_TYPE", types[i].newstr, level );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ }
+ if ( !found ) {
+ fprintf( stderr, "Did not identify reference type '%s'\n", invalue->data );
+ fprintf( stderr, "Defaulting to journal article type\n");
+ status = fields_add( bibout, "INTERNAL_TYPE", types[0].newstr, level );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ return BIBL_OK;
+}
+
+static void
+endin_notag( param *p, char *tag, char *data )
+{
+ if ( p->verbose ) {
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Cannot find tag '%s'='%s'\n", tag, data );
+ }
+}
+
+int
+endin_convertf( fields *bibin, fields *bibout, int reftype, param *p )
+{
+ static int (*convertfns[NUM_REFTYPES])(fields *, int, str *, str *, int, param *, char *, fields *) = {
+ // Patch: Fix compilation on MSVC target
+ [ 0 ] = generic_null,
+ [ 1 ] = generic_null,
+ [ 2 ] = generic_null,
+ [ 3 ] = generic_null,
+ [ 4 ] = generic_null,
+ [ 5 ] = generic_null,
+ [ 6 ] = generic_null,
+ [ 7 ] = generic_null,
+ [ 8 ] = generic_null,
+ [ 9 ] = generic_null,
+ [ 10 ] = generic_null,
+ [ 11 ] = generic_null,
+ [ 12 ] = generic_null,
+ [ 13 ] = generic_null,
+ [ 14 ] = generic_null,
+ [ 15 ] = generic_null,
+ [ 16 ] = generic_null,
+ [ 17 ] = generic_null,
+ [ 18 ] = generic_null,
+ [ 19 ] = generic_null,
+ [ 20 ] = generic_null,
+ [ 21 ] = generic_null,
+ [ 22 ] = generic_null,
+ [ 23 ] = generic_null,
+ [ 24 ] = generic_null,
+ [ 25 ] = generic_null,
+ [ SIMPLE ] = generic_simple,
+ [ TITLE ] = generic_title,
+ [ PERSON ] = generic_person,
+ [ SERIALNO ] = generic_serialno,
+ [ PAGES ] = generic_pages,
+ [ NOTES ] = generic_notes,
+ [ URL ] = generic_url,
+ [ GENRE ] = generic_genre,
+ [ TYPE ] = endin_type,
+ [ DATE ] = endin_date,
+ };
+
+ int i, level, process, nfields, fstatus, status = BIBL_OK;
+ char *outtag;
+ str *intag, *invalue;
+
+ nfields = fields_num( bibin );
+ for ( i=0; i<nfields; ++i ) {
+
+ /* Ensure we have data */
+ if ( fields_nodata( bibin, i ) ) {
+ fields_setused( bibin, i );
+ continue;
+ }
+
+ intag = fields_tag( bibin, i, FIELDS_STRP );
+ invalue = fields_value( bibin, i, FIELDS_STRP );
+
+ /*
+ * Refer format tags start with '%'. If we have one
+ * that doesn't, assume that it comes from endx2xml
+ * and just copy and paste to output
+ */
+ if ( str_has_value( intag ) && intag->data[0]!='%' ) {
+ fstatus = fields_add( bibout, str_cstr( intag ), str_cstr( invalue ), bibin->level[i] );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ continue;
+ }
+
+ if ( !translate_oldtag( str_cstr( intag ), reftype, p->all, p->nall, &process, &level, &outtag ) ) {
+ endin_notag( p, str_cstr( intag ), str_cstr( invalue ) );
+ continue;
+ }
+
+ fields_setused( bibin, i );
+
+ status = convertfns[ process ]( bibin, i, intag, invalue, level, p, outtag, bibout );
+ if ( status!=BIBL_OK ) return status;
+
+ }
+
+ return status;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/endout.c b/support/texlab/crates/bibutils_sys/src/endout.c
new file mode 100644
index 0000000000..cb3a5261fd
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/endout.c
@@ -0,0 +1,777 @@
+/*
+ * endout.c
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include "utf8.h"
+#include "str.h"
+#include "strsearch.h"
+#include "fields.h"
+#include "generic.h"
+#include "name.h"
+#include "title.h"
+#include "type.h"
+#include "url.h"
+#include "bibformats.h"
+#include "msvc_fix.h"
+
+/*****************************************************
+ PUBLIC: int endout_initparams()
+*****************************************************/
+
+static int endout_write( fields *in, FILE *fp, param *p, unsigned long refnum );
+static int endout_assemble( fields *in, fields *out, param *pm, unsigned long refnum );
+
+int
+endout_initparams( param *pm, const char *progname )
+{
+ pm->writeformat = BIBL_ENDNOTEOUT;
+ pm->format_opts = 0;
+ pm->charsetout = BIBL_CHARSET_DEFAULT;
+ pm->charsetout_src = BIBL_SRC_DEFAULT;
+ pm->latexout = 0;
+ pm->utf8out = BIBL_CHARSET_UTF8_DEFAULT;
+ pm->utf8bom = BIBL_CHARSET_BOM_DEFAULT;
+ pm->xmlout = BIBL_XMLOUT_FALSE;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->singlerefperfile = 0;
+
+ if ( pm->charsetout == BIBL_CHARSET_UNICODE ) {
+ pm->utf8out = pm->utf8bom = 1;
+ }
+
+ pm->headerf = generic_writeheader;
+ pm->footerf = NULL;
+ pm->assemblef = endout_assemble;
+ pm->writef = endout_write;
+
+ if ( !pm->progname ) {
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int endout_assemble()
+*****************************************************/
+
+enum {
+ TYPE_UNKNOWN = 0,
+ TYPE_GENERIC, /* Generic */
+ TYPE_ARTWORK, /* Artwork */
+ TYPE_AUDIOVISUAL, /* Audiovisual Material */
+ TYPE_BILL, /* Bill */
+ TYPE_BOOK, /* Book */
+ TYPE_INBOOK, /* Book Section */
+ TYPE_CASE, /* Case */
+ TYPE_CHARTTABLE, /* Chart or Table */
+ TYPE_CLASSICALWORK, /* Classical Work */
+ TYPE_PROGRAM, /* Computer Program */
+ TYPE_INPROCEEDINGS, /* Conference Paper */
+ TYPE_PROCEEDINGS, /* Conference Proceedings */
+ TYPE_EDITEDBOOK, /* Edited Book */
+ TYPE_EQUATION, /* Equation */
+ TYPE_ELECTRONICARTICLE, /* Electronic Article */
+ TYPE_ELECTRONICBOOK, /* Electronic Book */
+ TYPE_ELECTRONIC, /* Electronic Source */
+ TYPE_FIGURE, /* Figure */
+ TYPE_FILMBROADCAST, /* Film or Broadcast */
+ TYPE_GOVERNMENT, /* Government Document */
+ TYPE_HEARING, /* Hearing */
+ TYPE_ARTICLE, /* Journal Article */
+ TYPE_LEGALRULE, /* Legal Rule/Regulation */
+ TYPE_MAGARTICLE, /* Magazine Article */
+ TYPE_MANUSCRIPT, /* Manuscript */
+ TYPE_MAP, /* Map */
+ TYPE_NEWSARTICLE, /* Newspaper Article */
+ TYPE_ONLINEDATABASE, /* Online Database */
+ TYPE_ONLINEMULTIMEDIA, /* Online Multimedia */
+ TYPE_PATENT, /* Patent */
+ TYPE_COMMUNICATION, /* Personal Communication */
+ TYPE_REPORT, /* Report */
+ TYPE_STATUTE, /* Statute */
+ TYPE_THESIS, /* Thesis */
+ TYPE_MASTERSTHESIS, /* Thesis */
+ TYPE_PHDTHESIS, /* Thesis */
+ TYPE_DIPLOMATHESIS, /* Thesis */
+ TYPE_DOCTORALTHESIS, /* Thesis */
+ TYPE_HABILITATIONTHESIS, /* Thesis */
+ TYPE_LICENTIATETHESIS, /* Thesis */
+ TYPE_UNPUBLISHED, /* Unpublished Work */
+};
+
+static void
+write_type( FILE *fp, int type )
+{
+ switch( type ) {
+ case TYPE_UNKNOWN: fprintf( fp, "TYPE_UNKNOWN" ); break;
+ case TYPE_GENERIC: fprintf( fp, "TYPE_GENERIC" ); break;
+ case TYPE_ARTWORK: fprintf( fp, "TYPE_ARTWORK" ); break;
+ case TYPE_AUDIOVISUAL: fprintf( fp, "TYPE_AUDIOVISUAL" ); break;
+ case TYPE_BILL: fprintf( fp, "TYPE_BILL" ); break;
+ case TYPE_BOOK: fprintf( fp, "TYPE_BOOK" ); break;
+ case TYPE_INBOOK: fprintf( fp, "TYPE_INBOOK" ); break;
+ case TYPE_CASE: fprintf( fp, "TYPE_CASE" ); break;
+ case TYPE_CHARTTABLE: fprintf( fp, "TYPE_CHARITABLE" ); break;
+ case TYPE_CLASSICALWORK: fprintf( fp, "TYPE_CLASSICALWORK" ); break;
+ case TYPE_PROGRAM: fprintf( fp, "TYPE_PROGRAM" ); break;
+ case TYPE_INPROCEEDINGS: fprintf( fp, "TYPE_INPROCEEDINGS" ); break;
+ case TYPE_PROCEEDINGS: fprintf( fp, "TYPE_PROCEEDINGS" ); break;
+ case TYPE_EDITEDBOOK: fprintf( fp, "TYPE_EDITEDBOOK" ); break;
+ case TYPE_EQUATION: fprintf( fp, "TYPE_EQUATION" ); break;
+ case TYPE_ELECTRONICARTICLE: fprintf( fp, "TYPE_ELECTRONICARTICLE" ); break;
+ case TYPE_ELECTRONICBOOK: fprintf( fp, "TYPE_ELECTRONICBOOK" ); break;
+ case TYPE_ELECTRONIC: fprintf( fp, "TYPE_ELECTRONIC" ); break;
+ case TYPE_FIGURE: fprintf( fp, "TYPE_FIGURE" ); break;
+ case TYPE_FILMBROADCAST: fprintf( fp, "TYPE_FILMBROADCAST" ); break;
+ case TYPE_GOVERNMENT: fprintf( fp, "TYPE_GOVERNMENT" ); break;
+ case TYPE_HEARING: fprintf( fp, "TYPE_HEARING" ); break;
+ case TYPE_ARTICLE: fprintf( fp, "TYPE_ARTICLE" ); break;
+ case TYPE_LEGALRULE: fprintf( fp, "TYPE_LEGALRULE" ); break;
+ case TYPE_MAGARTICLE: fprintf( fp, "TYPE_MAGARTICLE" ); break;
+ case TYPE_MANUSCRIPT: fprintf( fp, "TYPE_MANUSCRIPT" ); break;
+ case TYPE_MAP: fprintf( fp, "TYPE_MAP" ); break;
+ case TYPE_NEWSARTICLE: fprintf( fp, "TYPE_NEWSARTICLE" ); break;
+ case TYPE_ONLINEDATABASE: fprintf( fp, "TYPE_ONLINEDATABASE" ); break;
+ case TYPE_ONLINEMULTIMEDIA: fprintf( fp, "TYPE_ONLINEMULTIMEDIA" ); break;
+ case TYPE_PATENT: fprintf( fp, "TYPE_PATENT" ); break;
+ case TYPE_COMMUNICATION: fprintf( fp, "TYPE_COMMUNICATION" ); break;
+ case TYPE_REPORT: fprintf( fp, "TYPE_REPORT" ); break;
+ case TYPE_STATUTE: fprintf( fp, "TYPE_STATUTE" ); break;
+ case TYPE_THESIS: fprintf( fp, "TYPE_THESIS" ); break;
+ case TYPE_MASTERSTHESIS: fprintf( fp, "TYPE_MASTERSTHESIS" ); break;
+ case TYPE_PHDTHESIS: fprintf( fp, "TYPE_PHDTHESIS" ); break;
+ case TYPE_DIPLOMATHESIS: fprintf( fp, "TYPE_DIPLOMATHESIS" ); break;
+ case TYPE_DOCTORALTHESIS: fprintf( fp, "TYPE_DOCTORALTHESIS" ); break;
+ case TYPE_HABILITATIONTHESIS:fprintf( fp, "TYPE_HABILITATIONTHESIS" ); break;
+ case TYPE_UNPUBLISHED: fprintf( fp, "TYPE_UNPUBLISHED" ); break;
+ default: fprintf( fp, "Error - type not in enum" );break;
+ }
+}
+
+static void
+type_report_progress( param *p, const char *element_type, int type, unsigned long refnum )
+{
+ if ( p->verbose ) {
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Type from %s element in reference %lu: ", element_type, refnum+1 );
+ write_type( stderr, type );
+ fprintf( stderr, "\n" );
+ }
+}
+
+static int
+type_from_default( fields *in, param *p, unsigned long refnum )
+{
+ int n, type;
+
+ /* default to chapter if host terms */
+ if ( fields_maxlevel( in ) > 0 ) type = TYPE_INBOOK;
+
+ /* default to generic if no host terms */
+ else type = TYPE_GENERIC;
+
+
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Cannot identify TYPE in reference %lu ", refnum+1 );
+ n = fields_find( in, "REFNUM", LEVEL_ANY );
+ if ( n!=FIELDS_NOTFOUND )
+ fprintf( stderr, " %s", (char *) fields_value( in, n, FIELDS_CHRP ) );
+ if ( type==TYPE_INBOOK )
+ fprintf( stderr, " (defaulting to book chapter)\n" );
+ else
+ fprintf( stderr, " (defaulting to generic)\n" );
+
+ return type;
+}
+
+static int
+get_type( fields *in, param *p, unsigned long refnum )
+{
+ /* Comment out TYPE_GENERIC entries as that is default, but
+ * keep in source as record of mapping decision. */
+ match_type genre_matches[] = {
+ /* MARC Authority elements */
+ { "art original", TYPE_ARTWORK, LEVEL_ANY },
+ { "art reproduction", TYPE_ARTWORK, LEVEL_ANY },
+ { "article", TYPE_ARTICLE, LEVEL_ANY },
+ { "atlas", TYPE_MAP, LEVEL_ANY },
+ { "autobiography", TYPE_BOOK, LEVEL_ANY },
+/* { "bibliography", TYPE_GENERIC, LEVEL_ANY },*/
+ { "biography", TYPE_BOOK, LEVEL_ANY },
+ { "book", TYPE_BOOK, LEVEL_MAIN },
+ { "book", TYPE_INBOOK, LEVEL_ANY },
+/* { "calendar", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "catalog", TYPE_GENERIC, LEVEL_ANY },*/
+ { "chart", TYPE_CHARTTABLE, LEVEL_ANY },
+/* { "comic or graphic novel", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "comic strip", TYPE_GENERIC, LEVEL_ANY },*/
+ { "conference publication", TYPE_PROCEEDINGS, LEVEL_ANY },
+ { "database", TYPE_ONLINEDATABASE, LEVEL_ANY },
+/* { "dictionary", TYPE_GENERIC, LEVEL_ANY },*/
+ { "diorama", TYPE_ARTWORK, LEVEL_ANY },
+/* { "directory", TYPE_GENERIC, LEVEL_ANY },*/
+ { "discography", TYPE_AUDIOVISUAL, LEVEL_ANY },
+/* { "drama", TYPE_GENERIC, LEVEL_ANY },*/
+ { "encyclopedia", TYPE_BOOK, LEVEL_ANY },
+/* { "essay", TYPE_GENERIC, LEVEL_ANY }, */
+ { "festschrift", TYPE_BOOK, LEVEL_MAIN },
+ { "festschrift", TYPE_INBOOK, LEVEL_ANY },
+ { "fiction", TYPE_BOOK, LEVEL_ANY },
+ { "filmography", TYPE_FILMBROADCAST, LEVEL_ANY },
+ { "filmstrip", TYPE_FILMBROADCAST, LEVEL_ANY },
+/* { "finding aid", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "flash card", TYPE_GENERIC, LEVEL_ANY },*/
+ { "folktale", TYPE_CLASSICALWORK, LEVEL_ANY },
+ { "font", TYPE_ELECTRONIC, LEVEL_ANY },
+/* { "game", TYPE_GENERIC, LEVEL_ANY },*/
+ { "government publication", TYPE_GOVERNMENT, LEVEL_ANY },
+ { "graphic", TYPE_FIGURE, LEVEL_ANY },
+ { "globe", TYPE_MAP, LEVEL_ANY },
+/* { "handbook", TYPE_GENERIC, LEVEL_ANY },*/
+ { "history", TYPE_BOOK, LEVEL_ANY },
+ { "hymnal", TYPE_BOOK, LEVEL_MAIN },
+ { "hymnal", TYPE_INBOOK, LEVEL_ANY },
+/* { "humor, satire", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "index", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "instruction", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "interview", TYPE_GENERIC, LEVEL_ANY },*/
+ { "issue", TYPE_ARTICLE, LEVEL_ANY },
+ { "journal", TYPE_ARTICLE, LEVEL_ANY },
+/* { "kit", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "language instruction", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "law report or digest", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "legal article", TYPE_GENERIC, LEVEL_ANY },*/
+ { "legal case and case notes", TYPE_CASE, LEVEL_ANY },
+ { "legislation", TYPE_BILL, LEVEL_ANY },
+ { "letter", TYPE_COMMUNICATION, LEVEL_ANY },
+ { "loose-leaf", TYPE_GENERIC, LEVEL_ANY },
+ { "map", TYPE_MAP, LEVEL_ANY },
+/* { "memoir", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "microscope slide", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "model", TYPE_GENERIC, LEVEL_ANY },*/
+ { "motion picture", TYPE_AUDIOVISUAL, LEVEL_ANY },
+ { "multivolume monograph", TYPE_BOOK, LEVEL_ANY },
+ { "newspaper", TYPE_NEWSARTICLE, LEVEL_ANY },
+ { "novel", TYPE_BOOK, LEVEL_ANY },
+/* { "numeric data", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "offprint", TYPE_GENERIC, LEVEL_ANY },*/
+ { "online system or service", TYPE_ELECTRONIC, LEVEL_ANY },
+ { "patent", TYPE_PATENT, LEVEL_ANY },
+ { "picture", TYPE_ARTWORK, LEVEL_ANY },
+/* { "poetry", TYPE_GENERIC, LEVEL_ANY },*/
+ { "programmed text", TYPE_PROGRAM, LEVEL_ANY },
+/* { "realia", TYPE_GENERIC, LEVEL_ANY },*/
+ { "rehearsal", TYPE_AUDIOVISUAL, LEVEL_ANY },
+/* { "remote sensing image", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "reporting", TYPE_GENERIC, LEVEL_ANY },*/
+ { "report", TYPE_REPORT, LEVEL_ANY },
+/* { "review", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "script", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "series", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "short story", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "slide", TYPE_GENERIC, LEVEL_ANY },*/
+ { "sound", TYPE_AUDIOVISUAL, LEVEL_ANY },
+/* { "speech", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "standard or specification", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "statistics", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "survey of literature", TYPE_GENERIC, LEVEL_ANY },*/
+ { "technical drawing", TYPE_ARTWORK, LEVEL_ANY },
+ { "technical report", TYPE_REPORT, LEVEL_ANY },
+/* { "toy", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "transparency", TYPE_GENERIC, LEVEL_ANY },*/
+/* { "treaty", TYPE_GENERIC, LEVEL_ANY },*/
+ { "videorecording", TYPE_AUDIOVISUAL, LEVEL_ANY },
+ { "web site", TYPE_ELECTRONIC, LEVEL_ANY },
+ /* Non-MARC Authority elements */
+ { "academic journal", TYPE_ARTICLE, LEVEL_ANY },
+ { "collection", TYPE_BOOK, LEVEL_MAIN },
+ { "collection", TYPE_INBOOK, LEVEL_ANY },
+ { "magazine", TYPE_MAGARTICLE, LEVEL_ANY },
+ { "hearing", TYPE_HEARING, LEVEL_ANY },
+ { "Ph.D. thesis", TYPE_PHDTHESIS, LEVEL_ANY },
+ { "Masters thesis", TYPE_MASTERSTHESIS, LEVEL_ANY },
+ { "Diploma thesis", TYPE_DIPLOMATHESIS, LEVEL_ANY },
+ { "Doctoral thesis", TYPE_DOCTORALTHESIS, LEVEL_ANY },
+ { "Habilitation thesis", TYPE_HABILITATIONTHESIS, LEVEL_ANY },
+ { "Licentiate thesis", TYPE_LICENTIATETHESIS, LEVEL_ANY },
+ { "communication", TYPE_COMMUNICATION, LEVEL_ANY },
+ { "manuscript", TYPE_MANUSCRIPT, LEVEL_ANY },
+ { "unpublished", TYPE_UNPUBLISHED, LEVEL_ANY },
+ /* Delayed MARC Authority elements */
+ { "thesis", TYPE_THESIS, LEVEL_ANY },
+ { "periodical", TYPE_MAGARTICLE, LEVEL_ANY },
+ };
+ int ngenre_matches = sizeof( genre_matches ) / sizeof( genre_matches[0] );
+
+ match_type resource_matches[] = {
+ { "moving image", TYPE_FILMBROADCAST, LEVEL_ANY },
+ { "software, multimedia", TYPE_PROGRAM, LEVEL_ANY },
+ };
+ int nresource_matches = sizeof( resource_matches ) / sizeof( resource_matches[0] );
+
+ match_type issuance_matches[] = {
+ { "monographic", TYPE_BOOK, LEVEL_MAIN },
+ { "monographic", TYPE_INBOOK, LEVEL_ANY },
+ };
+ int nissuance_matches = sizeof( issuance_matches ) / sizeof( issuance_matches[0] );
+
+ int type;
+
+ type = type_from_mods_hints( in, TYPE_FROM_GENRE, genre_matches, ngenre_matches, TYPE_UNKNOWN );
+ type_report_progress( p, "genre", type, refnum );
+ if ( type!=TYPE_UNKNOWN ) return type;
+
+ type = type_from_mods_hints( in, TYPE_FROM_RESOURCE, resource_matches, nresource_matches, TYPE_UNKNOWN );
+ type_report_progress( p, "resource", type, refnum );
+ if ( type!=TYPE_UNKNOWN ) return type;
+
+ type = type_from_mods_hints( in, TYPE_FROM_ISSUANCE, issuance_matches, nissuance_matches, TYPE_UNKNOWN );
+ type_report_progress( p, "issuance", type, refnum );
+ if ( type!=TYPE_UNKNOWN ) return type;
+
+ return type_from_default( in, p, refnum );
+}
+
+static void
+append_type( int type, fields *out, param *p, int *status )
+{
+ /* These are restricted to Endnote-defined types */
+ match_type genrenames[] = {
+ { "Generic", TYPE_GENERIC },
+ { "Artwork", TYPE_ARTWORK },
+ { "Audiovisual Material", TYPE_AUDIOVISUAL },
+ { "Bill", TYPE_BILL },
+ { "Book", TYPE_BOOK },
+ { "Book Section", TYPE_INBOOK },
+ { "Case", TYPE_CASE },
+ { "Chart or Table", TYPE_CHARTTABLE },
+ { "Classical Work", TYPE_CLASSICALWORK },
+ { "Computer Program", TYPE_PROGRAM },
+ { "Conference Paper", TYPE_INPROCEEDINGS },
+ { "Conference Proceedings", TYPE_PROCEEDINGS },
+ { "Edited Book", TYPE_EDITEDBOOK },
+ { "Equation", TYPE_EQUATION },
+ { "Electronic Article", TYPE_ELECTRONICARTICLE },
+ { "Electronic Book", TYPE_ELECTRONICBOOK },
+ { "Electronic Source", TYPE_ELECTRONIC },
+ { "Figure", TYPE_FIGURE },
+ { "Film or Broadcast", TYPE_FILMBROADCAST },
+ { "Government Document", TYPE_GOVERNMENT },
+ { "Hearing", TYPE_HEARING },
+ { "Journal Article", TYPE_ARTICLE },
+ { "Legal Rule/Regulation", TYPE_LEGALRULE },
+ { "Magazine Article", TYPE_MAGARTICLE },
+ { "Manuscript", TYPE_MANUSCRIPT },
+ { "Map", TYPE_MAP },
+ { "Newspaper Article", TYPE_NEWSARTICLE },
+ { "Online Database", TYPE_ONLINEDATABASE },
+ { "Online Multimedia", TYPE_ONLINEMULTIMEDIA },
+ { "Patent", TYPE_PATENT },
+ { "Personal Communication", TYPE_COMMUNICATION },
+ { "Report", TYPE_REPORT },
+ { "Statute", TYPE_STATUTE },
+ { "Thesis", TYPE_THESIS },
+ { "Thesis", TYPE_PHDTHESIS },
+ { "Thesis", TYPE_MASTERSTHESIS },
+ { "Thesis", TYPE_DIPLOMATHESIS },
+ { "Thesis", TYPE_DOCTORALTHESIS },
+ { "Thesis", TYPE_HABILITATIONTHESIS },
+ { "Unpublished Work", TYPE_UNPUBLISHED },
+ };
+ int ngenrenames = sizeof( genrenames ) / sizeof( genrenames[0] );
+ int i, fstatus, found = 0;
+ for ( i=0; i<ngenrenames && !found; ++i ) {
+ if ( genrenames[i].type == type ) {
+ fstatus = fields_add( out, "%0", genrenames[i].name, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ found = 1;
+ }
+ }
+ if ( !found ) {
+ fstatus = fields_add( out, "%0", "Generic", LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Cannot identify type %d\n", type );
+ }
+}
+
+static int
+append_title( fields *in, char *full, char *sub, char *endtag,
+ int level, fields *out, int *status )
+{
+ str *mainttl = fields_findv( in, level, FIELDS_STRP, full );
+ str *subttl = fields_findv( in, level, FIELDS_STRP, sub );
+ str fullttl;
+ int fstatus;
+
+ str_init( &fullttl );
+ title_combine( &fullttl, mainttl, subttl );
+
+ if ( str_memerr( &fullttl ) ) {
+ *status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ if ( str_has_value( &fullttl ) ) {
+ fstatus = fields_add( out, endtag, str_cstr( &fullttl ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+out:
+ str_free( &fullttl );
+ return 1;
+}
+
+static void
+append_people( fields *in, char *tag, char *entag, int level, fields *out, int *status )
+{
+ int i, n, flvl, fstatus;
+ str oneperson;
+ char *ftag;
+
+ str_init( &oneperson );
+ n = fields_num( in );
+ for ( i=0; i<n; ++i ) {
+ flvl = fields_level( in, i );
+ if ( level!=LEVEL_ANY && flvl!=level ) continue;
+ ftag = fields_tag( in, i, FIELDS_CHRP );
+ if ( !strcasecmp( ftag, tag ) ) {
+ name_build_withcomma( &oneperson, fields_value( in, i, FIELDS_CHRP ) );
+ fstatus = fields_add_can_dup( out, entag, str_cstr( &oneperson ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ }
+ str_free( &oneperson );
+}
+
+static void
+append_pages( fields *in, fields *out, int *status )
+{
+ str *sn, *en;
+ int fstatus;
+ str pages;
+ char *ar;
+
+ sn = fields_findv( in, LEVEL_ANY, FIELDS_STRP, "PAGES:START" );
+ en = fields_findv( in, LEVEL_ANY, FIELDS_STRP, "PAGES:STOP" );
+ if ( sn || en ) {
+ str_init( &pages );
+ if ( sn ) str_strcpy( &pages, sn );
+ if ( sn && en ) str_strcatc( &pages, "-" );
+ if ( en ) str_strcat( &pages, en );
+ if ( str_memerr( &pages ) ) { *status = BIBL_ERR_MEMERR; str_free( &pages ); return; }
+ fstatus = fields_add( out, "%P", str_cstr( &pages ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ str_free( &pages );
+ } else {
+ ar = fields_findv( in, LEVEL_ANY, FIELDS_CHRP, "ARTICLENUMBER" );
+ if ( ar ) {
+ fstatus = fields_add( out, "%P", ar, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ }
+}
+
+static void
+append_urls( fields *in, fields *out, int *status )
+{
+ int lstatus;
+ slist types;
+
+ lstatus = slist_init_valuesc( &types, "URL", "DOI", "PMID", "PMC", "ARXIV", "JSTOR", "MRNUMBER", NULL );
+ if ( lstatus!=SLIST_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+
+ *status = urls_merge_and_add( in, LEVEL_ANY, out, "%U", LEVEL_MAIN, &types );
+
+ slist_free( &types );
+}
+
+static void
+append_year( fields *in, fields *out, int *status )
+{
+ int fstatus;
+ char *year;
+
+ year = fields_findv_firstof( in, LEVEL_ANY, FIELDS_CHRP, "DATE:YEAR", "PARTDATE:YEAR", NULL );
+ if ( year ) {
+ fstatus = fields_add( out, "%D", year, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+}
+
+static void
+append_monthday( fields *in, fields *out, int *status )
+{
+ char *months[12] = { "January", "February", "March", "April",
+ "May", "June", "July", "August", "September", "October",
+ "November", "December" };
+ char *month, *day;
+ int m, fstatus;
+ str monday;
+
+ str_init( &monday );
+ month = fields_findv_firstof( in, LEVEL_ANY, FIELDS_CHRP, "DATE:MONTH", "PARTDATE:MONTH", NULL );
+ day = fields_findv_firstof( in, LEVEL_ANY, FIELDS_CHRP, "DATE:DAY", "PARTDATE:DAY", NULL );
+ if ( month || day ) {
+ if ( month ) {
+ m = atoi( month );
+ if ( m>0 && m<13 ) str_strcpyc( &monday, months[m-1] );
+ else str_strcpyc( &monday, month );
+ }
+ if ( month && day ) str_strcatc( &monday, " " );
+ if ( day ) str_strcatc( &monday, day );
+ fstatus = fields_add( out, "%8", str_cstr( &monday ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ str_free( &monday );
+}
+
+static void
+append_genrehint( int type, fields *out, vplist *a, int *status )
+{
+ vplist_index i;
+ int fstatus;
+ char *g;
+
+ for ( i=0; i<a->n; ++i ) {
+ g = ( char * ) vplist_get( a, i );
+ if ( !strcmp( g, "journal article" ) && type==TYPE_ARTICLE ) continue;
+ if ( !strcmp( g, "academic journal" ) && type==TYPE_ARTICLE ) continue;
+ if ( !strcmp( g, "collection" ) && type==TYPE_INBOOK ) continue;
+ if ( !strcmp( g, "television broadcast" ) && type==TYPE_FILMBROADCAST ) continue;
+ if ( !strcmp( g, "electronic" ) && type==TYPE_PROGRAM ) continue;
+ if ( !strcmp( g, "magazine" ) && type==TYPE_MAGARTICLE ) continue;
+ if ( !strcmp( g, "miscellaneous" ) && type==TYPE_GENERIC ) continue;
+ if ( !strcmp( g, "hearing" ) && type==TYPE_HEARING ) continue;
+ if ( !strcmp( g, "communication" ) && type==TYPE_COMMUNICATION ) continue;
+ if ( !strcmp( g, "report" ) && type==TYPE_REPORT ) continue;
+ if ( !strcmp( g, "book chapter" ) && type==TYPE_INBOOK ) continue;
+ fstatus = fields_add( out, "%9", g, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+ }
+}
+
+static void
+append_all_genrehint( int type, fields *in, fields *out, int *status )
+{
+ vplist a;
+
+ vplist_init( &a );
+
+ fields_findv_each( in, LEVEL_ANY, FIELDS_CHRP, &a, "GENRE:BIBUTILS" );
+ append_genrehint( type, out, &a, status );
+
+ vplist_empty( &a );
+
+ fields_findv_each( in, LEVEL_ANY, FIELDS_CHRP, &a, "GENRE:UNKNOWN" );
+ append_genrehint( type, out, &a, status );
+
+ vplist_free( &a );
+}
+
+static void
+append_thesishint( int type, fields *out, int *status )
+{
+ int fstatus;
+
+ if ( type==TYPE_MASTERSTHESIS ) {
+ fstatus = fields_add( out, "%9", "Masters thesis", LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ else if ( type==TYPE_PHDTHESIS ) {
+ fstatus = fields_add( out, "%9", "Ph.D. thesis", LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ else if ( type==TYPE_DIPLOMATHESIS ) {
+ fstatus = fields_add( out, "%9", "Diploma thesis", LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ else if ( type==TYPE_DOCTORALTHESIS ) {
+ fstatus = fields_add( out, "%9", "Doctoral thesis", LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ else if ( type==TYPE_HABILITATIONTHESIS ) {
+ fstatus = fields_add( out, "%9", "Habilitation thesis", LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ else if ( type==TYPE_LICENTIATETHESIS ) {
+ fstatus = fields_add( out, "%9", "Licentiate thesis", LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+}
+
+static void
+append_easyall( fields *in, char *tag, char *entag, int level, fields *out, int *status )
+{
+ vplist_index i;
+ int fstatus;
+ vplist a;
+ vplist_init( &a );
+ fields_findv_each( in, level, FIELDS_CHRP, &a, tag );
+ for ( i=0; i<a.n; ++i ) {
+ fstatus = fields_add( out, entag, (char *) vplist_get( &a, i ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ vplist_free( &a );
+}
+
+static void
+append_easy( fields *in, char *tag, char *entag, int level, fields *out, int *status )
+{
+ char *value;
+ int fstatus;
+
+ value = fields_findv( in, level, FIELDS_CHRP, tag );
+ if ( value ) {
+ fstatus = fields_add( out, entag, value, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+}
+
+static int
+endout_assemble( fields *in, fields *out, param *pm, unsigned long refnum )
+{
+ int added, type, status = BIBL_OK;
+
+ fields_clearused( in );
+
+ type = get_type( in, pm, refnum );
+
+ append_type( type, out, pm, &status );
+
+ added = append_title( in, "TITLE", "SUBTITLE", "%T", LEVEL_MAIN, out, &status );
+ if ( added==0 ) append_title( in, "SHORTTITLE", "SHORTSUBTITLE", "%T", LEVEL_MAIN, out, &status );
+ else append_title( in, "SHORTTITLE", "SHORTSUBTITLE", "%!", LEVEL_MAIN, out, &status );
+
+ append_people( in, "AUTHOR", "%A", LEVEL_MAIN, out, &status );
+ append_people( in, "EDITOR", "%E", LEVEL_MAIN, out, &status );
+ if ( type==TYPE_ARTICLE || type==TYPE_MAGARTICLE || type==TYPE_ELECTRONICARTICLE || type==TYPE_NEWSARTICLE )
+ append_people( in, "EDITOR", "%E", LEVEL_HOST, out, &status );
+ else if ( type==TYPE_INBOOK || type==TYPE_INPROCEEDINGS ) {
+ append_people( in, "EDITOR", "%E", LEVEL_HOST, out, &status );
+ } else {
+ append_people( in, "EDITOR", "%Y", LEVEL_HOST, out, &status );
+ }
+ append_people( in, "TRANSLATOR", "%H", LEVEL_ANY, out, &status );
+
+ append_people( in, "AUTHOR", "%Y", LEVEL_SERIES, out, &status );
+ append_people( in, "EDITOR", "%Y", LEVEL_SERIES, out, &status );
+
+ if ( type==TYPE_CASE ) {
+ append_easy( in, "AUTHOR:CORP", "%I", LEVEL_MAIN, out, &status );
+ append_easy( in, "AUTHOR:ASIS", "%I", LEVEL_MAIN, out, &status );
+ }
+ else if ( type==TYPE_HEARING ) {
+ append_easyall( in, "AUTHOR:CORP", "%S", LEVEL_MAIN, out, &status );
+ append_easyall( in, "AUTHOR:ASIS", "%S", LEVEL_MAIN, out, &status );
+ }
+ else if ( type==TYPE_NEWSARTICLE ) {
+ append_people( in, "REPORTER", "%A", LEVEL_MAIN, out, &status );
+ append_people( in, "REPORTER:CORP", "%A", LEVEL_MAIN, out, &status );
+ append_people( in, "REPORTER:ASIS", "%A", LEVEL_MAIN, out, &status );
+ }
+ else if ( type==TYPE_COMMUNICATION ) {
+ append_people( in, "ADDRESSEE", "%E", LEVEL_ANY, out, &status );
+ append_people( in, "ADDRESSEE:CORP", "%E", LEVEL_ANY, out, &status );
+ append_people( in, "ADDRESSEE:ASIS", "%E", LEVEL_ANY, out, &status );
+ }
+ else {
+ append_easyall( in, "AUTHOR:CORP", "%A", LEVEL_MAIN, out, &status );
+ append_easyall( in, "AUTHOR:ASIS", "%A", LEVEL_MAIN, out, &status );
+ append_easyall( in, "EDITOR:CORP", "%E", LEVEL_ANY, out, &status );
+ append_easyall( in, "EDITOR:ASIS", "%E", LEVEL_ANY, out, &status );
+ append_easyall( in, "TRANSLATOR:CORP", "%H", LEVEL_ANY, out, &status );
+ append_easyall( in, "TRANSLATOR:ASIS", "%H", LEVEL_ANY, out, &status );
+ }
+
+ if ( type==TYPE_ARTICLE || type==TYPE_MAGARTICLE || type==TYPE_ELECTRONICARTICLE || type==TYPE_NEWSARTICLE ) {
+ added = append_title( in, "TITLE", "SUBTITLE", "%J", LEVEL_HOST, out, &status );
+ if ( added==0 ) append_title( in, "SHORTTITLE", "SHORTSUBTITLE", "%J", LEVEL_HOST, out, &status );
+ }
+
+ else if ( type==TYPE_INBOOK || type==TYPE_INPROCEEDINGS ) {
+ added = append_title( in, "TITLE", "SUBTITLE", "%B", LEVEL_HOST, out, &status );
+ if ( added==0 ) append_title( in, "SHORTTITLE", "SHORTSUBTITLE", "%B", LEVEL_HOST, out, &status );
+ }
+
+ else {
+ added = append_title( in, "TITLE", "SUBTITLE", "%S", LEVEL_HOST, out, &status );
+ if ( added==0 ) append_title( in, "SHORTTITLE", "SHORTSUBTITLE", "%S", LEVEL_HOST, out, &status );
+ }
+
+ if ( type!=TYPE_CASE && type!=TYPE_HEARING ) {
+ append_title( in, "TITLE", "SUBTITLE", "%S", LEVEL_SERIES, out, &status );
+ }
+
+ append_year ( in, out, &status );
+ append_monthday( in, out, &status );
+
+ append_easy ( in, "VOLUME", "%V", LEVEL_ANY, out, &status );
+ append_easy ( in, "ISSUE", "%N", LEVEL_ANY, out, &status );
+ append_easy ( in, "NUMBER", "%N", LEVEL_ANY, out, &status );
+ append_easy ( in, "EDITION", "%7", LEVEL_ANY, out, &status );
+ append_easy ( in, "PUBLISHER", "%I", LEVEL_ANY, out, &status );
+ append_easy ( in, "ADDRESS", "%C", LEVEL_ANY, out, &status );
+ append_easy ( in, "DEGREEGRANTOR", "%C", LEVEL_ANY, out, &status );
+ append_easy ( in, "DEGREEGRANTOR:CORP", "%C", LEVEL_ANY, out, &status );
+ append_easy ( in, "DEGREEGRANTOR:ASIS", "%C", LEVEL_ANY, out, &status );
+ append_easy ( in, "SERIALNUMBER", "%@", LEVEL_ANY, out, &status );
+ append_easy ( in, "ISSN", "%@", LEVEL_ANY, out, &status );
+ append_easy ( in, "ISBN", "%@", LEVEL_ANY, out, &status );
+ append_easy ( in, "LANGUAGE", "%G", LEVEL_ANY, out, &status );
+ append_easy ( in, "REFNUM", "%F", LEVEL_ANY, out, &status );
+ append_easyall ( in, "NOTES", "%O", LEVEL_ANY, out, &status );
+ append_easy ( in, "ABSTRACT", "%X", LEVEL_ANY, out, &status );
+ append_easy ( in, "CLASSIFICATION" , "%L", LEVEL_ANY, out, &status );
+ append_easyall ( in, "KEYWORD", "%K", LEVEL_ANY, out, &status );
+ append_all_genrehint( type, in, out, &status );
+ append_thesishint( type, out, &status );
+ append_easyall ( in, "DOI", "%R", LEVEL_ANY, out, &status );
+ append_easyall ( in, "URL", "%U", LEVEL_ANY, out, &status );
+ append_easyall ( in, "FILEATTACH", "%U", LEVEL_ANY, out, &status );
+ append_urls ( in, out, &status );
+ append_pages ( in, out, &status );
+
+ return status;
+}
+
+/*****************************************************
+ PUBLIC: int endout_write()
+*****************************************************/
+
+static int
+endout_write( fields *out, FILE *fp, param *pm, unsigned long refnum )
+{
+ int i;
+
+ for ( i=0; i<out->n; ++i ) {
+ fprintf( fp, "%s %s\n",
+ (char*) fields_tag( out, i, FIELDS_CHRP ),
+ (char*) fields_value( out, i, FIELDS_CHRP )
+ );
+ }
+
+ fprintf( fp, "\n" );
+ fflush( fp );
+ return BIBL_OK;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/endtypes.c b/support/texlab/crates/bibutils_sys/src/endtypes.c
new file mode 100644
index 0000000000..a9f65c7ef8
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/endtypes.c
@@ -0,0 +1,1257 @@
+/*
+ * endtypes.c
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <string.h>
+#include "is_ws.h"
+#include "fields.h"
+#include "reftypes.h"
+
+/* if no specific type can be identified */
+static lookups generic[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE" , TITLE, LEVEL_MAIN },
+ { "%J", "TITLE", TITLE, LEVEL_HOST }, /* for refer formats */
+ { "%E", "2ND_AUTHOR", PERSON, LEVEL_MAIN },
+ { "%B", "2ND_TITLE", SIMPLE, LEVEL_MAIN },
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%V", "VOLUME" , SIMPLE, LEVEL_MAIN },
+ { "%6", "NUMVOLUMES", SIMPLE, LEVEL_HOST },
+ { "%N", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "%P", "PAGES", PAGES, LEVEL_MAIN },
+ { "%&", "SECTION", SIMPLE, LEVEL_MAIN },
+ { "%Y", "AUTHOR", PERSON, LEVEL_SERIES },
+ { "%S", "TITLE", TITLE, LEVEL_SERIES },
+ { "%7", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "%8", "DATE:MONTH", DATE, LEVEL_MAIN },
+ { "%9", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "%?", "SUB_AUTHOR", PERSON, LEVEL_MAIN }, /* subsidiary-authors */
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%@", "SERIALNUMBER", SERIALNO, LEVEL_MAIN },
+ { "%(", "TITLE", SIMPLE, LEVEL_ORIG }, /* original pub */
+ { "%)", "REPRINTEDITION", SIMPLE, LEVEL_MAIN },
+ { "%*", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%Z", "NOTES", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN }
+};
+
+static lookups journalarticle[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE",SIMPLE, LEVEL_MAIN },
+ { "%D", "PARTDATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE" , TITLE, LEVEL_MAIN },
+ { "%J", "TITLE", TITLE, LEVEL_HOST }, /* journal title */
+ { "%B", "TITLE", TITLE, LEVEL_HOST }, /* journal title */
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%V", "VOLUME" , SIMPLE, LEVEL_MAIN },
+ { "%N", "ISSUE", SIMPLE, LEVEL_MAIN },
+ { "%P", "PAGES", PAGES, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_HOST },
+ { "%8", "PARTDATE:MONTH", DATE, LEVEL_MAIN },
+ { "%9", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%@", "SERIALNUMBER", SERIALNO, LEVEL_HOST },
+ { "%(", "TITLE", SIMPLE, LEVEL_ORIG }, /* original pub */
+ { "%)", "REPRINTEDITION",SIMPLE, LEVEL_MAIN },
+ { "%*", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "ISSUANCE|continuing", ALWAYS, LEVEL_HOST },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:BIBUTILS|journal article", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|periodical", ALWAYS, LEVEL_HOST },
+ { " ", "GENRE:BIBUTILS|academic journal", ALWAYS, LEVEL_HOST }
+};
+
+static lookups magazinearticle[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR",PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "PARTDATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE", TITLE, LEVEL_MAIN },
+ { "%J", "TITLE", TITLE, LEVEL_HOST }, /* magazine name */
+ { "%B", "TITLE", TITLE, LEVEL_HOST }, /* magazine name */
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%V", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "%N", "ISSUE", SIMPLE, LEVEL_MAIN },
+ { "%P", "PAGES", PAGES, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_HOST },
+ { "%8", "PARTDATE:MONTH", DATE, LEVEL_MAIN },
+ { "%!", "SHORTTITLE",TITLE, LEVEL_MAIN },
+ { "%@", "SERIALNUMBER", SERIALNO,LEVEL_HOST },
+ { "%(", "TITLE", SIMPLE, LEVEL_ORIG }, /* original pub */
+ { "%)", "REPRINTEDITION",SIMPLE,LEVEL_MAIN },
+ { "%*", "REVIEWEDITEM",SIMPLE,LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER",SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%O", "NOTES", SIMPLE, LEVEL_MAIN },
+ { "%Z", "NOTES", SIMPLE, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR",SIMPLE,LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "ISSUANCE|continuing", ALWAYS, LEVEL_HOST },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|periodical", ALWAYS, LEVEL_HOST },
+ { " ", "GENRE:BIBUTILS|magazine", ALWAYS, LEVEL_HOST }
+};
+
+static lookups newspaperarticle[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "REPORTER", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR",PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "PARTDATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE" , TITLE, LEVEL_MAIN },
+ { "%J", "TITLE", TITLE, LEVEL_HOST }, /* newspaper name */
+ { "%B", "TITLE", TITLE, LEVEL_HOST }, /* newspaper name */
+ { "%V", "VOLUME" , SIMPLE, LEVEL_MAIN },
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%N", "ISSUE", SIMPLE, LEVEL_MAIN },
+ { "%P", "PAGES", PAGES, LEVEL_MAIN },
+ { "%7", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "%8", "PARTDATE:MONTH", DATE, LEVEL_MAIN },
+ { "%!", "SHORTTITLE",TITLE, LEVEL_MAIN },
+ { "%@", "SERIALNUMBER", SERIALNO, LEVEL_MAIN },
+ { "%(", "TITLE", SIMPLE, LEVEL_ORIG }, /* original pub */
+ { "%)", "REPRINTEDITION",SIMPLE, LEVEL_MAIN },
+ { "%*", "REVIEWEDITEM",SIMPLE,LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER",SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%O", "NOTES", SIMPLE, LEVEL_MAIN },
+ { "%Z", "NOTES", SIMPLE, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%+", "ADDRESS:AUTHOR",SIMPLE,LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "ISSUANCE|continuing", ALWAYS, LEVEL_HOST },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|newspaper", ALWAYS, LEVEL_HOST }
+};
+
+static lookups book[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE" , TITLE, LEVEL_MAIN },
+ { "%E", "AUTHOR", PERSON, LEVEL_HOST }, /* SERIES_AUTHOR */
+ { "%B", "TITLE", TITLE, LEVEL_HOST }, /* SERIES_TITLE */
+ { "%S", "TITLE", TITLE, LEVEL_SERIES },
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%V", "VOLUME" , SIMPLE, LEVEL_MAIN },
+ { "%N", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "%6", "NUMVOLUMES", SIMPLE, LEVEL_MAIN },
+ { "%P", "PAGES:TOTAL", SIMPLE, LEVEL_MAIN },
+ { "%7", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "%?", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%@", "SERIALNUMBER", SERIALNO, LEVEL_MAIN },
+ { "%(", "TITLE", SIMPLE, LEVEL_ORIG }, /* original pub */
+ { "%)", "REPRINTEDITION", SIMPLE, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", SIMPLE, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "GENRE:MARC|book", ALWAYS, LEVEL_MAIN },
+ { " ", "ISSUANCE|monographic", ALWAYS, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups booksection[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_HOST },
+ { "%T", "TITLE", TITLE, LEVEL_MAIN },
+ { "%E", "EDITOR", PERSON, LEVEL_HOST }, /* editor for book */
+ { "%B", "TITLE", TITLE, LEVEL_HOST }, /* book title */
+ { "%C", "ADDRESS", SIMPLE, LEVEL_HOST },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_HOST },
+ { "%N", "NUMBER", SIMPLE, LEVEL_HOST },
+ { "%V", "VOLUME" , SIMPLE, LEVEL_MAIN },
+ { "%6", "NUMVOLUMES", SIMPLE, LEVEL_HOST },
+ { "%P", "PAGES", PAGES, LEVEL_MAIN },
+ { "%Y", "EDITOR", PERSON, LEVEL_SERIES },
+ { "%S", "TITLE", TITLE, LEVEL_SERIES },
+ { "%7", "EDITION", SIMPLE, LEVEL_HOST },
+ { "%?", "TRANSLATOR", PERSON, LEVEL_HOST },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%@", "SERIALNUMBER", SERIALNO, LEVEL_HOST },
+ { "%(", "TITLE", SIMPLE, LEVEL_ORIG }, /* original pub */
+ { "%)", "REPRINTEDITION", SIMPLE, LEVEL_HOST },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", SIMPLE, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "GENRE:BIBUTILS|book chapter", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|book", ALWAYS, LEVEL_HOST },
+ { " ", "ISSUANCE|monographic", ALWAYS, LEVEL_HOST },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups editedbook[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "EDITOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE" , TITLE, LEVEL_MAIN },
+ { "%E", "EDITOR", PERSON, LEVEL_HOST }, /* SERIES_EDITOR */
+ { "%B", "TITLE", TITLE, LEVEL_HOST }, /* SERIES_TITLE */
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%N", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "%V", "VOLUME" , SIMPLE, LEVEL_MAIN },
+ { "%6", "NUMVOLUMES", SIMPLE, LEVEL_HOST },
+ { "%P", "PAGES:TOTAL", SIMPLE, LEVEL_MAIN },
+ { "%7", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "%?", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%@", "SERIALNUMBER", SERIALNO, LEVEL_MAIN },
+ { "%(", "TITLE", SIMPLE, LEVEL_ORIG }, /* original pub */
+ { "%)", "REPRINTEDITION", SIMPLE, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "GENRE:MARC|book", ALWAYS, LEVEL_MAIN },
+ { " ", "ISSUANCE|monographic", ALWAYS, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups manuscript[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE", TITLE, LEVEL_MAIN },
+ { "%B", "TITLE", TITLE, LEVEL_HOST }, /* COLLECTION_TITLE */
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%N", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "%P", "PAGES", PAGES, LEVEL_MAIN },
+ { "%8", "DATE:MONTH", DATE, LEVEL_MAIN },
+ { "%9", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:BIBUTILS|manuscript", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups communication[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE" , TITLE, LEVEL_MAIN },
+ { "%E", "ADDRESSEE", PERSON, LEVEL_MAIN },
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%V", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%8", "DATE:MONTH", DATE, LEVEL_MAIN },
+ { "%9", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "GENRE:BIBUTILS|communication", ALWAYS, LEVEL_MAIN}
+};
+
+static lookups proceedings[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_HOST },
+ { "%T", "TITLE" , TITLE, LEVEL_MAIN },
+ { "%E", "EDITOR", PERSON, LEVEL_MAIN },
+ { "%B", "TITLE", SIMPLE, LEVEL_HOST },
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%V", "VOLUME" , SIMPLE, LEVEL_MAIN },
+ { "%6", "NUMVOLUMES", SIMPLE, LEVEL_HOST },
+ { "%N", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "%P", "PAGES", PAGES, LEVEL_MAIN },
+ { "%Y", "EDITOR", PERSON, LEVEL_SERIES },
+ { "%S", "TITLE", TITLE, LEVEL_SERIES },
+ { "%7", "EDITION", SIMPLE, LEVEL_HOST },
+ { "%8", "DATE:MONTH", DATE, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|conference publication", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups conferencepaper[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "PARTDATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE" , TITLE, LEVEL_MAIN },
+ { "%J", "TITLE", TITLE, LEVEL_HOST }, /* journal title */
+ { "%B", "TITLE", TITLE, LEVEL_HOST }, /* journal title */
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%V", "VOLUME" , SIMPLE, LEVEL_MAIN },
+ { "%N", "ISSUE", SIMPLE, LEVEL_MAIN },
+ { "%P", "PAGES", PAGES, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_HOST },
+ { "%8", "PARTDATE:MONTH", DATE, LEVEL_MAIN },
+ { "%9", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%@", "SERIALNUMBER", SERIALNO, LEVEL_HOST },
+ { "%(", "TITLE", SIMPLE, LEVEL_ORIG }, /* original pub */
+ { "%)", "REPRINTEDITION", SIMPLE, LEVEL_MAIN },
+ { "%*", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|conference publication", ALWAYS, LEVEL_HOST }
+};
+
+static lookups thesis[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE" , TITLE, LEVEL_MAIN },
+ { "%B", "ACADEMIC_DEPARTMENT", SIMPLE, LEVEL_MAIN },
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%V", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "%P", "PAGES:TOTAL", PAGES, LEVEL_MAIN },
+ { "%9", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN }, /* thesis type */
+ { "%8", "DATE:MONTH", DATE, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|thesis", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups program[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE", TITLE, LEVEL_MAIN },
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%7", "VERSION", SIMPLE, LEVEL_MAIN },
+ { "%9", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", SIMPLE, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", SIMPLE, LEVEL_MAIN },
+ { "%1", "COMPUTER", SIMPLE, LEVEL_MAIN },
+ { "%2", "CUSTOM2", SIMPLE, LEVEL_MAIN },
+ { "%3", "CUSTOM3", SIMPLE, LEVEL_MAIN },
+ { "%4", "CUSTOM4", SIMPLE, LEVEL_MAIN },
+ { "%#", "CUSTOM5", SIMPLE, LEVEL_MAIN },
+ { "%$", "CUSTOM6", SIMPLE, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "RESOURCE|software, multimedia", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups audiovisual[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "WRITER", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE" , TITLE, LEVEL_MAIN },
+ { "%B", "TITLE", TITLE, LEVEL_HOST }, /* COLLECTION_TITLE */
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%V", "EXTENTOFWORK", SIMPLE, LEVEL_MAIN },
+ { "%N", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "%8", "DATE:MONTH", DATE, LEVEL_MAIN },
+ { "%9", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "%?", "PERFORMER", PERSON, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "RESOURCE|mixed material", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups broadcast[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE" , TITLE, LEVEL_MAIN },
+ { "%E", "DIRECTOR", PERSON, LEVEL_MAIN },
+ { "%B", "TITLE", TITLE, LEVEL_HOST }, /* SERIES_TITLE */
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%Y", "PRODUCER", PERSON, LEVEL_MAIN },
+ { "%8", "DATE:MONTH", DATE, LEVEL_MAIN },
+ { "%9", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%@", "SERIALNUMBER", SERIALNO, LEVEL_MAIN },
+ { "%?", "PERFORMER", PERSON, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", SIMPLE, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "RESOURCE|moving image", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|motion picture", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:BIBUTILS|television broadcast", ALWAYS, LEVEL_MAIN },
+};
+
+static lookups electronic[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE", TITLE, LEVEL_MAIN },
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%V", "ACCESS_YEAR", SIMPLE, LEVEL_MAIN },
+ { "%N", "ACCESS_DATE", DATE, LEVEL_MAIN },
+ { "%7", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "%8", "UPDATE_DATE", DATE, LEVEL_MAIN },
+ { "%9", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%V", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "RESOURCE|software, multimedia", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|electronic", ALWAYS, LEVEL_MAIN },
+};
+
+static lookups webpage[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE" , TITLE, LEVEL_MAIN },
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%V", "ACCESS_YEAR", SIMPLE, LEVEL_MAIN },
+ { "%N", "ACCESS_DATE", DATE, LEVEL_MAIN },
+ { "%7", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "%8", "UPDATE_DATE", DATE, LEVEL_MAIN },
+ { "%9", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%V", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "RESOURCE|software, multimedia", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|web page", ALWAYS, LEVEL_MAIN },
+};
+
+static lookups artwork[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "ARTIST", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE" , TITLE, LEVEL_MAIN },
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%8", "DATE:MONTH", DATE, LEVEL_MAIN },
+ { "%9", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "GENRE:MARC|art original", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups report[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE" , TITLE, LEVEL_MAIN },
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%P", "PAGES", PAGES, LEVEL_MAIN },
+ { "%8", "DATE:MONTH", DATE, LEVEL_MAIN },
+ { "%9", "GENRE:UKNOWN", GENRE, LEVEL_MAIN },
+ { "%N", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "%@", "SERIALNUMBER", SERIALNO, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|technical report", ALWAYS, LEVEL_MAIN },
+};
+
+static lookups map[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "CARTOGRAPHER", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE" , TITLE, LEVEL_MAIN },
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%7", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "%9", "GENRE:UKNOWN", GENRE, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", SIMPLE, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", SIMPLE, LEVEL_MAIN },
+ { "%1", "SCALE", SIMPLE, LEVEL_MAIN },
+ { "%2", "CUSTOM2", SIMPLE, LEVEL_MAIN },
+ { "%3", "CUSTOM3", SIMPLE, LEVEL_MAIN },
+ { "%4", "CUSTOM4", SIMPLE, LEVEL_MAIN },
+ { "%#", "CUSTOM5", SIMPLE, LEVEL_MAIN },
+ { "%$", "CUSTOM6", SIMPLE, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "RESOURCE|cartographic", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|map", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups patent[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE" , TITLE, LEVEL_MAIN },
+ { "%B", "PUBLISHED_SOURCE",SIMPLE, LEVEL_MAIN },
+ { "%C", "COUNTRY", SIMPLE, LEVEL_MAIN },
+ { "%I", "ASSIGNEE", SIMPLE, LEVEL_MAIN },
+ { "%V", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "%N", "ISSUE", SIMPLE, LEVEL_MAIN },
+ { "%P", "PAGES", SIMPLE, LEVEL_MAIN },
+ { "%@", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", SIMPLE, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", SIMPLE, LEVEL_MAIN },
+ { "%1", "SCALE", SIMPLE, LEVEL_MAIN },
+ { "%2", "CUSTOM2", SIMPLE, LEVEL_MAIN },
+ { "%3", "CUSTOM3", SIMPLE, LEVEL_MAIN },
+ { "%4", "CUSTOM4", SIMPLE, LEVEL_MAIN },
+ { "%#", "CUSTOM5", SIMPLE, LEVEL_MAIN },
+ { "%$", "CUSTOM6", SIMPLE, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|patent", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups hearing[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE", TITLE, LEVEL_MAIN },
+ { "%B", "COMMITTEE:CORP", SIMPLE, LEVEL_MAIN },
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%6", "NUMVOLUMES", SIMPLE, LEVEL_MAIN },
+ { "%N", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "%P", "PAGES:TOTAL", PAGES, LEVEL_MAIN },
+ { "%S", "LEGISLATIVEBODY:CORP", SIMPLE, LEVEL_MAIN },
+ { "%7", "SESSION", SIMPLE, LEVEL_MAIN },
+ { "%8", "DATE:MONTH", DATE, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%(", "TITLE", SIMPLE, LEVEL_ORIG }, /* orig publication */
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%9", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "GENRE:BIBUTILS|hearing",ALWAYS, LEVEL_MAIN }
+};
+
+static lookups bill[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE", TITLE, LEVEL_MAIN },
+ { "%B", "CODE", SIMPLE, LEVEL_MAIN },
+ { "%V", "CODEVOLUME", SIMPLE, LEVEL_MAIN },
+ { "%N", "BILLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%P", "CODEPAGES", SIMPLE, LEVEL_MAIN },
+ { "%&", "CODESECTION", SIMPLE, LEVEL_MAIN },
+ { "%S", "LEGISLATIVEBODY:CORP", SIMPLE, LEVEL_MAIN },
+ { "%7", "SESSION", SIMPLE, LEVEL_MAIN },
+ { "%8", "DATE:MONTH", DATE, LEVEL_MAIN },
+ { "%?", "SPONSOR", PERSON, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%(", "TITLE", SIMPLE, LEVEL_ORIG }, /* original pub */
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|legislation", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups statute[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE", TITLE, LEVEL_MAIN },
+ { "%B", "CODE", SIMPLE, LEVEL_MAIN },
+ { "%V", "CODENUMBER", SIMPLE, LEVEL_MAIN },
+ { "%N", "PUBLICLAWNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%P", "PAGES", PAGES, LEVEL_MAIN },
+ { "%&", "SECTION", SIMPLE, LEVEL_MAIN },
+ { "%7", "SESSION", SIMPLE, LEVEL_MAIN },
+ { "%8", "DATE:MONTH", DATE, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%(", "TITLE", SIMPLE, LEVEL_ORIG }, /* original pub */
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|legislation", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups lawcase[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE", TITLE, LEVEL_MAIN },
+ { "%E", "REPORTER", TITLE, LEVEL_HOST }, /*Reporter is name of book*/
+ { "%B", "CODE", SIMPLE, LEVEL_MAIN },
+ { "%I", "COURT:CORP", SIMPLE, LEVEL_MAIN },
+ { "%V", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "%N", "PUBLICLAWNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%P", "STARTPAGE", SIMPLE, LEVEL_MAIN },
+ { "%8", "DATE:MONTH", DATE, LEVEL_MAIN },
+ { "%?", "COUNSEL", PERSON, LEVEL_MAIN },
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%(", "TITLE", SIMPLE, LEVEL_ORIG }, /* original pub */
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|legal case and case notes", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups chart[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE", TITLE, LEVEL_MAIN },
+ { "%J", "TITLE", TITLE, LEVEL_HOST }, /* for refer formats */
+ { "%E", "2ND_AUTHOR", PERSON, LEVEL_MAIN },
+ { "%B", "2ND_TITLE", SIMPLE, LEVEL_MAIN },
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%V", "VOLUME" , SIMPLE, LEVEL_MAIN },
+ { "%6", "NUMVOLUMES", SIMPLE, LEVEL_HOST },
+ { "%N", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "%P", "PAGES", PAGES, LEVEL_MAIN },
+ { "%&", "SECTION", SIMPLE, LEVEL_MAIN },
+ { "%Y", "AUTHOR", PERSON, LEVEL_SERIES },
+ { "%S", "TITLE", TITLE, LEVEL_SERIES },
+ { "%7", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "%8", "DATE:MONTH", DATE, LEVEL_MAIN },
+ { "%9", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "%?", "SUB_AUTHOR", PERSON, LEVEL_MAIN }, /* subsidiary-authors */
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%@", "SERIALNUMBER", SERIALNO, LEVEL_MAIN },
+ { "%(", "TITLE", SIMPLE, LEVEL_ORIG }, /* original pub */
+ { "%)", "REPRINTEDITION", SIMPLE, LEVEL_MAIN },
+ { "%*", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { " ", "GENRE:MARC|chart", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups unpublished[] = {
+ { "%0", "INTERNAL_TYPE", TYPE, LEVEL_MAIN },
+ { "%A", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "%H", "TRANSLATOR", PERSON, LEVEL_MAIN },
+ { "%Q", "TRANSLATEDTITLE", SIMPLE, LEVEL_MAIN },
+ { "%D", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "%T", "TITLE", TITLE, LEVEL_MAIN },
+ { "%J", "TITLE", TITLE, LEVEL_HOST }, /* for refer formats */
+ { "%E", "2ND_AUTHOR", PERSON, LEVEL_MAIN },
+ { "%B", "2ND_TITLE", SIMPLE, LEVEL_MAIN },
+ { "%C", "ADDRESS", SIMPLE, LEVEL_MAIN },
+ { "%I", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "%V", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "%6", "NUMVOLUMES", SIMPLE, LEVEL_HOST },
+ { "%N", "NUMBER", SIMPLE, LEVEL_MAIN },
+ { "%P", "PAGES", PAGES, LEVEL_MAIN },
+ { "%&", "SECTION", SIMPLE, LEVEL_MAIN },
+ { "%Y", "AUTHOR", PERSON, LEVEL_SERIES },
+ { "%S", "TITLE", TITLE, LEVEL_SERIES },
+ { "%7", "EDITION", SIMPLE, LEVEL_MAIN },
+ { "%8", "DATE:MONTH", DATE, LEVEL_MAIN },
+ { "%9", "GENRE:UNKNOWN", GENRE, LEVEL_MAIN },
+ { "%?", "SUB_AUTHOR", PERSON, LEVEL_MAIN }, /* subsidiary-authors */
+ { "%!", "SHORTTITLE", TITLE, LEVEL_MAIN },
+ { "%@", "SERIALNUMBER", SERIALNO, LEVEL_MAIN },
+ { "%(", "TITLE", SIMPLE, LEVEL_ORIG }, /* original pub */
+ { "%)", "REPRINTEDITION", SIMPLE, LEVEL_MAIN },
+ { "%*", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN },
+ { "%1", "CUSTOM1", NOTES, LEVEL_MAIN },
+ { "%2", "CUSTOM2", NOTES, LEVEL_MAIN },
+ { "%3", "CUSTOM3", NOTES, LEVEL_MAIN },
+ { "%4", "CUSTOM4", NOTES, LEVEL_MAIN },
+ { "%#", "CUSTOM5", NOTES, LEVEL_MAIN },
+ { "%$", "CUSTOM6", NOTES, LEVEL_MAIN },
+ { "%M", "ACCESSNUM", SIMPLE, LEVEL_MAIN },
+ { "%L", "CALLNUMBER", SIMPLE, LEVEL_MAIN },
+ { "%F", "REFNUM", SIMPLE, LEVEL_MAIN },
+ { "%K", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "%X", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "%O", "NOTES", NOTES, LEVEL_MAIN },
+ { "%U", "URL", URL, LEVEL_MAIN },
+ { "%>", "PDFLINK", SIMPLE, LEVEL_MAIN },
+ { "%Z", "NOTES", NOTES, LEVEL_MAIN },
+ { "%W", "PHYSICALLOC", SIMPLE, LEVEL_MAIN }, /* physical location */
+ { "%G", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "%+", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "%^", "CAPTION", SIMPLE, LEVEL_MAIN },
+ { "%[", "ACCESSDATE", SIMPLE, LEVEL_MAIN },
+ { "%=", "LASTMODDATE", SIMPLE, LEVEL_MAIN },
+ { "%~", "DATABASE", SIMPLE, LEVEL_MAIN },
+ { " ", "INTERNAL_TYPE|BOOK", ALWAYS, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:BIBUTILS|unpublished", ALWAYS, LEVEL_MAIN },
+};
+
+
+/* order is important....."Book" matches "Book" and "Book Section", hence
+ * "Book Section must come first */
+
+#define ORIG(a) ( &(a[0]) )
+#define SIZE(a) ( sizeof( a ) / sizeof( lookups ) )
+#define REFTYPE(a,b) { a, ORIG(b), SIZE(b) }
+
+variants end_all[] = {
+ REFTYPE( "Generic", generic ),
+ REFTYPE( "Artwork", artwork ),
+ REFTYPE( "Audiovisual Material", audiovisual ),
+ REFTYPE( "Bill", bill ),
+ REFTYPE( "Book Section", booksection ),
+ REFTYPE( "Book", book ),
+ REFTYPE( "Case", lawcase ),
+ REFTYPE( "Chart or Table", chart ),
+ REFTYPE( "Classical Work", generic ),
+ REFTYPE( "Computer Program", program ),
+ REFTYPE( "Conference Paper", conferencepaper ),
+ REFTYPE( "Conference Proceeding", proceedings ),
+ REFTYPE( "Edited Book", editedbook ),
+/* REFTYPE( "Equation", equation ), */
+/* REFTYPE( "Electronic Article", electronicarticle ), */
+/* REFTYPE( "Electronic Book", electronicbook ), */
+/* REFTYPE( "Figure", figure ), */
+ REFTYPE( "Film or Broadcast", broadcast ),
+ REFTYPE( "Electronic Source", electronic ),
+/* REFTYPE( "Government Document", governmentdocument ), */
+ REFTYPE( "Hearing", hearing ),
+ REFTYPE( "Journal Article", journalarticle ),
+/* REFTYPE( "Legal Rule/Regulation", legalrule ), */
+ REFTYPE( "Magazine Article", magazinearticle ),
+ REFTYPE( "Manuscript", manuscript ),
+ REFTYPE( "Map", map ),
+ REFTYPE( "Newspaper Article", newspaperarticle ),
+/* REFTYPE( "Online Database", onlinedatabase ), */
+/* REFTYPE( "Online Multimedia", onlinemultimedia ), */
+ REFTYPE( "Patent", patent ),
+ REFTYPE( "Personal Communication", communication ),
+ REFTYPE( "Report", report ),
+ REFTYPE( "Statute", statute ),
+ REFTYPE( "Thesis", thesis ),
+ REFTYPE( "Unpublished Work", unpublished ),
+ REFTYPE( "Web Page", webpage ),
+};
+
+
+int end_nall = sizeof( end_all ) / sizeof( variants );
+
+
diff --git a/support/texlab/crates/bibutils_sys/src/endxmlin.c b/support/texlab/crates/bibutils_sys/src/endxmlin.c
new file mode 100644
index 0000000000..3074e1255a
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/endxmlin.c
@@ -0,0 +1,587 @@
+/*
+ * endxmlin.c
+ *
+ * Copyright (c) Chris Putnam 2006-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include "str.h"
+#include "str_conv.h"
+#include "fields.h"
+#include "name.h"
+#include "xml.h"
+#include "xml_encoding.h"
+#include "reftypes.h"
+#include "bibformats.h"
+
+typedef struct {
+ char *attrib;
+ char *internal;
+} attribs;
+
+extern variants end_all[];
+extern int end_nall;
+
+static int endxmlin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset );
+static int endxmlin_processf( fields *endin, const char *p, const char *filename, long nref, param *pm );
+extern int endin_typef( fields *endin, const char *filename, int nrefs, param *p );
+extern int endin_convertf( fields *endin, fields *info, int reftype, param *p );
+extern int endin_cleanf( bibl *bin, param *p );
+
+
+/*****************************************************
+ PUBLIC: void endxmlin_initparams()
+*****************************************************/
+int
+endxmlin_initparams( param *pm, const char *progname )
+{
+ pm->readformat = BIBL_ENDNOTEXMLIN;
+ pm->charsetin = BIBL_CHARSET_DEFAULT;
+ pm->charsetin_src = BIBL_SRC_DEFAULT;
+ pm->latexin = 0;
+ pm->xmlin = 1;
+ pm->utf8in = 1;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->output_raw = 0;
+
+ pm->readf = endxmlin_readf;
+ pm->processf = endxmlin_processf;
+ pm->cleanf = NULL;
+ pm->typef = endin_typef;
+ pm->convertf = endin_convertf;
+ pm->all = end_all;
+ pm->nall = end_nall;
+
+ slist_init( &(pm->asis) );
+ slist_init( &(pm->corps) );
+
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int endxmlin_readf()
+*****************************************************/
+
+static int
+xml_readmore( FILE *fp, char *buf, int bufsize, int *bufpos )
+{
+ if ( !feof( fp ) && fgets( buf, bufsize, fp ) ) return 0;
+ return 1;
+}
+
+static int
+endxmlin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset )
+{
+ int haveref = 0, inref = 0, done = 0, file_charset = CHARSET_UNKNOWN, m;
+ char *startptr = NULL, *endptr = NULL;
+ str tmp;
+
+ str_init( &tmp );
+
+ while ( !haveref && !done ) {
+
+ if ( !line->data ) {
+ done = xml_readmore( fp, buf, bufsize, bufpos );
+ str_strcatc( line, buf );
+ }
+
+ if ( !inref ) {
+ startptr = xml_find_start( line->data, "RECORD" );
+ if ( startptr ) inref = 1;
+ }
+ else endptr = xml_find_end( line->data, "RECORD" );
+
+ /* If no <record> tag, we can trim up to last 8 bytes */
+ /* Emptying string can lose fragments of <record> tag */
+ if ( !startptr ) {
+ if ( line->len > 8 ) {
+ int n = 8;
+ char *p = &(line->data[line->len-1]);
+ while ( *p && n ) { p--; n--; }
+ str_segdel( line, line->data, p );
+ }
+ }
+
+ /* ...entire reference is not in line, read more */
+ if ( !startptr || !endptr ) {
+ done = xml_readmore( fp, buf, bufsize, bufpos );
+ str_strcatc( line, buf );
+ }
+ /* ...we can reallocate in str_strcat; must re-find the tags */
+ else {
+ startptr = xml_find_start( line->data, "RECORD" );
+ endptr = xml_find_end( line->data, "RECORD" );
+ str_segcpy( reference, startptr, endptr );
+ /* clear out information in line */
+ str_strcpyc( &tmp, endptr );
+ str_strcpy( line, &tmp );
+ haveref = 1;
+ }
+
+ m = xml_getencoding( line );
+ if ( m!=CHARSET_UNKNOWN ) file_charset = m;
+
+ }
+
+ str_free( &tmp );
+ *fcharset = file_charset;
+
+ return haveref;
+}
+
+/*****************************************************
+ PUBLIC: int endxmlin_processf()
+*****************************************************/
+
+/*
+ * add data to fields
+ */
+
+/*
+ * handle fields with (potentially) several style pieces
+ *
+ * <datatype>
+ * <style>aaaaa</style>
+ * </datatype>
+ *
+ * <datatype>aaaaaa</datatype>
+ *
+ * <datatype>
+ * <style>aaa</style><style>aaaa</style>
+ * </datatype>
+ */
+static int
+endxmlin_datar( xml *node, str *s )
+{
+ int status;
+
+ if ( xml_has_value( node ) ) {
+ str_strcat( s, &(node->value) );
+ if ( str_memerr( s ) ) return BIBL_ERR_MEMERR;
+ }
+ if ( node->down && xml_tag_matches( node->down, "style" ) ) {
+ status = endxmlin_datar( node->down, s );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( xml_tag_matches( node, "style" ) && node->next ) {
+ status = endxmlin_datar( node->next, s );
+ if ( status!=BIBL_OK ) return status;
+ }
+
+ return BIBL_OK;
+}
+
+static int
+endxmlin_data( xml *node, char *inttag, fields *info, int level )
+{
+ int status;
+ str s;
+
+ str_init( &s );
+
+ status = endxmlin_datar( node, &s );
+ if ( status!=BIBL_OK ) return status;
+
+ if ( str_has_value( &s ) ) {
+ status = fields_add( info, inttag, s.data, level );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+
+ str_free( &s );
+ return BIBL_OK;
+}
+
+/* <titles>
+ * <title>
+ * <style>ACTUAL TITLE HERE</style><style>MORE TITLE</style>
+ * </title>
+ * </titles>
+ */
+static int
+endxmlin_titles( xml *node, fields *info )
+{
+ attribs a[] = {
+ { "title", "%T" },
+ { "secondary-title", "%B" },
+ { "tertiary-title", "%S" },
+ { "alt-title", "%!" },
+ { "short-title", "SHORTTITLE" },
+ };
+ int i, status, n = sizeof( a ) / sizeof ( a[0] );
+ str title;
+ str_init( &title );
+ for ( i=0; i<n; ++i ) {
+ if ( xml_tag_matches( node, a[i].attrib ) && node->down ) {
+ str_empty( &title );
+ status = endxmlin_datar( node, &title );
+ if ( status!=BIBL_OK ) return BIBL_ERR_MEMERR;
+ str_trimstartingws( &title );
+ str_trimendingws( &title );
+ status = fields_add( info, a[i].internal, title.data, 0);
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ }
+ if ( node->next ) {
+ status = endxmlin_titles( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ str_free( &title );
+ return BIBL_OK;
+}
+
+/* <contributors>
+ * <secondary-authors>
+ * <author>
+ * <style>ACTUAL AUTHORS HERE</style>
+ * </author>
+ * </secondary-authors>
+ * </contributors>
+ */
+/* <!ATTLIST author
+ * corp-name CDATA #IMPLIED
+ * first-name CDATA #IMPLIED
+ * initials CDATA #IMPLIED
+ * last-name CDATA #IMPLIED
+ * middle-initial CDATA #IMPLIED
+ * role CDATA #IMPLIED
+ * salutation CDATA #IMPLIED
+ * suffix CDATA #IMPLIED
+ * title CDATA #IMPLIED
+ * >
+ *
+ */
+static int
+endxmlin_contributor( xml *node, fields *info, char *int_tag, int level )
+{
+ int status;
+ status = endxmlin_data( node, int_tag, info, level );
+ if ( status!=BIBL_OK ) return status;
+ if ( node->next ) {
+ status = endxmlin_contributor( node->next, info, int_tag, level );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+static int
+endxmlin_contributors( xml *node, fields *info )
+{
+ attribs a[] = {
+ { "authors", "%A" },
+ { "secondary-authors", "%E" },
+ { "tertiary-authors", "%Y" },
+ { "subsidiary-authors", "%?" },
+ { "translated-authors", "%?" },
+ };
+ int i, status, n = sizeof( a ) / sizeof ( a[0] );
+ for ( i=0; i<n; ++i ) {
+ if ( xml_tag_matches( node, a[i].attrib ) && node->down ) {
+ status = endxmlin_contributor( node->down, info, a[i].internal, 0 );
+ if ( status!=BIBL_OK ) return status;
+ }
+ }
+ if ( node->next ) {
+ status = endxmlin_contributors( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+static int
+endxmlin_keyword( xml *node, fields *info )
+{
+ int status;
+ if ( xml_tag_matches( node, "keyword" ) ) {
+ status = endxmlin_data( node, "%K", info, 0 );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) {
+ status = endxmlin_keyword( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+static int
+endxmlin_keywords( xml *node, fields *info )
+{
+ if ( node->down && xml_tag_matches( node->down, "keyword" ) )
+ return endxmlin_keyword( node->down, info );
+ return BIBL_OK;
+}
+
+/*
+ *<electronic-resource-num><style face="normal" font="default"
+ * size="100%">10.1007/BF00356334</style></electronic-resource-num>
+ */
+static int
+endxmlin_ern( xml *node, fields *info )
+{
+ if ( xml_tag_matches( node, "electronic-resource-num" ) )
+ return endxmlin_data( node, "DOI", info, 0 );
+ return BIBL_OK;
+}
+
+static int
+endxmlin_language( xml *node, fields *info )
+{
+ if ( xml_tag_matches( node, "language" ) )
+ return endxmlin_data( node, "%G", info, 0 );
+ return BIBL_OK;
+}
+
+/*
+ * <urls>
+ * <pdf-urls>
+ * <url>internal-pdf://Zukin_1995_The_Cultures_of_Cities-0000551425/Zukin_1995_The_Cultures_of_Cities.pdf</url>
+ * </pdf-urls>
+ * </urls>
+ */
+static int
+endxmlin_fileattach( xml *node, fields *info )
+{
+ int status;
+ if ( xml_tag_matches( node, "url" ) ) {
+ status = endxmlin_data( node, "FILEATTACH", info, 0 );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->down ) {
+ status = endxmlin_fileattach( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) {
+ status = endxmlin_fileattach( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+static int
+endxmlin_urls( xml *node, fields *info )
+{
+ int status;
+ if ( xml_tag_matches( node, "pdf-urls" ) && node->down ) {
+ status = endxmlin_fileattach( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ } else if ( xml_tag_matches( node, "url" ) ) {
+ status = endxmlin_data( node, "%U", info, 0 );
+ if ( status!=BIBL_OK ) return status;
+ } else {
+ if ( node->down ) {
+ if ( xml_tag_matches( node->down, "related-urls" ) ||
+ xml_tag_matches( node->down, "pdf-urls" ) ||
+ xml_tag_matches( node->down, "url" ) ) {
+ status = endxmlin_urls( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ }
+ }
+ if ( node->next ) {
+ status = endxmlin_urls( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+static int
+endxmlin_pubdates( xml *node, fields *info )
+{
+ if ( xml_tag_matches( node, "date" ) )
+ return endxmlin_data( node, "%8", info, 0 );
+ else {
+ if ( node->down && xml_tag_matches( node->down, "date" ) )
+ return endxmlin_pubdates( node->down, info );
+ }
+ return BIBL_OK;
+}
+
+static int
+endxmlin_dates( xml *node, fields *info )
+{
+ int status;
+ if ( xml_tag_matches( node, "year" ) ) {
+ status = endxmlin_data( node, "%D", info, 0 );
+ if ( status!=BIBL_OK ) return status;
+ } else {
+ if ( node->down ) {
+ if ( xml_tag_matches( node->down, "year" ) ) {
+ status = endxmlin_dates( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( xml_tag_matches( node->down, "pub-dates" ) ) {
+ status = endxmlin_pubdates( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ }
+ }
+ if ( node->next ) {
+ status = endxmlin_dates( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+/*
+ * <ref-type name="Journal Article">17</ref-type>
+ */
+static int
+endxmlin_reftype( xml *node, fields *info )
+{
+ int status;
+ str *s;
+
+ s = xml_attribute( node, "name" );
+ if ( str_has_value( s ) ) {
+ status = fields_add( info, "%0", str_cstr( s ), 0 );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+static int
+endxmlin_record( xml *node, fields *info )
+{
+ attribs a[] = {
+ { "volume", "%V" },
+ { "num-vol", "%6" },
+ { "pages", "%P" },
+ { "number", "%N" },
+ { "issue", "%N" },
+ { "label", "%F" },
+ { "auth-address", "%C" },
+ { "auth-affiliation", "%C" },
+ { "pub-location", "%C" },
+ { "publisher", "%I" },
+ { "abstract", "%X" },
+ { "edition", "%7" },
+ { "reprint-edition", "%)" },
+ { "section", "%&" },
+ { "accession-num", "%M" },
+ { "call-num", "%L" },
+ { "isbn", "%@" },
+ { "notes", "%O" },
+ { "custom1", "%1" },
+ { "custom2", "%2" },
+ { "custom3", "%3" },
+ { "custom4", "%4" },
+ { "custom5", "%#" },
+ { "custom6", "%$" },
+ };
+ int i, status, n = sizeof ( a ) / sizeof( a[0] );
+ if ( xml_tag_matches( node, "DATABASE" ) ) {
+ } else if ( xml_tag_matches( node, "SOURCE-APP" ) ) {
+ } else if ( xml_tag_matches( node, "REC-NUMBER" ) ) {
+ } else if ( xml_tag_matches( node, "ref-type" ) ) {
+ status = endxmlin_reftype( node, info );
+ if ( status!=BIBL_OK ) return status;
+ } else if ( xml_tag_matches( node, "contributors" ) ) {
+ if ( node->down ) {
+ status = endxmlin_contributors( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ } else if ( xml_tag_matches( node, "titles" ) ) {
+ if ( node->down ) endxmlin_titles( node->down, info );
+ } else if ( xml_tag_matches( node, "keywords" ) ) {
+ status = endxmlin_keywords( node, info );
+ if ( status!=BIBL_OK ) return status;
+ } else if ( xml_tag_matches( node, "urls" ) ) {
+ status = endxmlin_urls( node, info );
+ if ( status!=BIBL_OK ) return status;
+ } else if ( xml_tag_matches( node, "electronic-resource-num" ) ) {
+ status = endxmlin_ern( node, info );
+ if ( status!=BIBL_OK ) return status;
+ } else if ( xml_tag_matches( node, "dates" ) ) {
+ status = endxmlin_dates( node, info );
+ if ( status!=BIBL_OK ) return status;
+ } else if ( xml_tag_matches( node, "language" ) ) {
+ status = endxmlin_language( node, info );
+ if ( status!=BIBL_OK ) return status;
+ } else if ( xml_tag_matches( node, "periodical" ) ) {
+ } else if ( xml_tag_matches( node, "secondary-volume" ) ) {
+ } else if ( xml_tag_matches( node, "secondary-issue" ) ) {
+ } else if ( xml_tag_matches( node, "reprint-status" ) ) {
+ } else if ( xml_tag_matches( node, "orig-pub" ) ) {
+ } else if ( xml_tag_matches( node, "report-id" ) ) {
+ } else if ( xml_tag_matches( node, "coden" ) ) {
+ } else if ( xml_tag_matches( node, "caption" ) ) {
+ } else if ( xml_tag_matches( node, "research-notes" ) ) {
+ } else if ( xml_tag_matches( node, "work-type" ) ) {
+ } else if ( xml_tag_matches( node, "reviewed-item" ) ) {
+ } else if ( xml_tag_matches( node, "availability" ) ) {
+ } else if ( xml_tag_matches( node, "remote-source" ) ) {
+ } else if ( xml_tag_matches( node, "meeting-place" ) ) {
+ } else if ( xml_tag_matches( node, "work-location" ) ) {
+ } else if ( xml_tag_matches( node, "work-extent" ) ) {
+ } else if ( xml_tag_matches( node, "pack-method" ) ) {
+ } else if ( xml_tag_matches( node, "size" ) ) {
+ } else if ( xml_tag_matches( node, "repro-ratio" ) ) {
+ } else if ( xml_tag_matches( node, "remote-database-name" ) ) {
+ } else if ( xml_tag_matches( node, "remote-database-provider" ) ) {
+ } else if ( xml_tag_matches( node, "access-date" ) ) {
+ } else if ( xml_tag_matches( node, "modified-data" ) ) {
+ } else if ( xml_tag_matches( node, "misc1" ) ) {
+ } else if ( xml_tag_matches( node, "misc2" ) ) {
+ } else if ( xml_tag_matches( node, "misc3" ) ) {
+ } else {
+ for ( i=0; i<n; ++i ) {
+ if ( xml_tag_matches( node, a[i].attrib ) ) {
+ status = endxmlin_data( node, a[i].internal, info, 0 );
+ if ( status!=BIBL_OK ) return status;
+ }
+ }
+ }
+ if ( node->next ) {
+ status = endxmlin_record( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+static int
+endxmlin_assembleref( xml *node, fields *info )
+{
+ int status;
+ if ( str_is_empty( &(node->tag) ) ) {
+ if ( node->down )
+ return endxmlin_assembleref( node->down, info );
+ } else if ( xml_tag_matches( node, "RECORD" ) ) {
+ if ( node->down ) {
+ status = endxmlin_record( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ }
+ return BIBL_OK;
+}
+
+/* endxmlin_processf first operates by converting to endnote input
+ * the endnote->mods conversion happens in convertf.
+ *
+ * this is necessary as the xml format is as nasty and as overloaded
+ * as the tags used in the Refer format output
+ */
+static int
+endxmlin_processf( fields *fin, const char *data, const char *filename, long nref, param *pm )
+{
+ int status;
+ xml top;
+
+ xml_init( &top );
+ xml_parse( data, &top );
+ status = endxmlin_assembleref( &top, fin );
+ xml_free( &top );
+
+ if ( status==BIBL_OK ) return 1;
+ return 0;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/entities.c b/support/texlab/crates/bibutils_sys/src/entities.c
new file mode 100644
index 0000000000..5d9642e9d4
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/entities.c
@@ -0,0 +1,406 @@
+/*
+ * entities.c
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+#include "entities.h"
+#include "msvc_fix.h"
+
+/* HTML 4.0 entities */
+
+typedef struct entities {
+ char html[20];
+ unsigned int unicode;
+} entities;
+
+entities html_entities[] = {
+ /* Special Entities */
+ { "&quot;", 34 }, /* quotation mark */
+ { "&amp;", 38 }, /* ampersand */
+ { "&apos;", 39 }, /* apostrophe (note not defined in HTML) */
+ { "&lpar;", 40 }, /* left parenthesis */
+ { "&rpar;", 41 }, /* right parenthesis */
+ { "&hyphen;", 45 }, /* hyphen */
+ { "&lt;", 60 }, /* less-than sign */
+ { "&gt;", 62 }, /* greater-than sign */
+ { "&quest;", 63 }, /* question mark */
+ { "&OElig;", 338 }, /* Latin cap ligature OE */
+ { "&oelig;", 339 }, /* Latin small ligature OE */
+ { "&Scaron;", 352 }, /* Latin cap S with caron */
+ { "&scaron;", 353 }, /* Latin cap S with caron */
+ { "&Yuml;", 376 }, /* Latin cap y with diaeresis */
+ { "&circ;", 710 }, /* modifier letter circumflex */
+ { "&tilde;", 732 }, /* small tilde */
+ { "&ensp;", 8194 }, /* en space */
+ { "&emsp;", 8195 }, /* em space */
+ { "&thinsp;", 8201 }, /* thin space */
+ { "&zwnj;", 8204 }, /* zero width non-joiner */
+ { "&zwj;", 8205 }, /* zero width joiner */
+ { "&lrm;", 8206 }, /* left-to-right mark */
+ { "&rlm;", 8207 }, /* right-to-left mark */
+ { "&ndash;", 8211 }, /* en dash */
+ { "&mdash;", 8212 }, /* em dash */
+ { "&lsquo;", 8216 }, /* left single quotation mark */
+ { "&rsquo;", 8217 }, /* right single quot. mark */
+ { "&sbquo;", 8218 }, /* single low-9 quot. mark */
+ { "&ldquo;", 8220 }, /* left double quot. mark */
+ { "&rdquo;", 8221 }, /* right double quot. mark */
+ { "&bdquo;", 8222 }, /* double low-9 quot. mark */
+ { "&dagger;", 8224 }, /* dagger */
+ { "&Dagger;", 8225 }, /* double dagger */
+ { "&permil;", 8240 }, /* per mille sign */
+ { "&lsaquo;", 8249 }, /* sin. left angle quot mark */
+ { "&rsaquo;", 8250 }, /* sin. right angle quot mark */
+ { "&euro;", 8364 }, /* euro sign */
+ /* Symbols and Greek characters */
+ { "&fnof;", 402 }, /* small f with hook = function */
+ { "&Alpha;", 913 }, /* capital alpha */
+ { "&Beta;", 914 }, /* capital beta */
+ { "&Gamma;", 915 }, /* capital gamma */
+ { "&Delta;", 916 }, /* capital delta */
+ { "&Epsilon;", 917 }, /* capital epsilon */
+ { "&Zeta;", 918 }, /* capital zeta */
+ { "&Eta;", 919 }, /* capital eta */
+ { "&Theta;", 920 }, /* capital theta */
+ { "&Iota;", 921 }, /* capital iota */
+ { "&Kappa;", 922 }, /* capital kappa */
+ { "&Lambda;", 923 }, /* capital lambda */
+ { "&Mu;", 924 }, /* capital mu */
+ { "&Nu;", 925 }, /* capital nu */
+ { "&Xi;", 926 }, /* capital xi */
+ { "&Omicron;", 927 }, /* capital omicron */
+ { "&Pi;", 928 }, /* capital pi */
+ { "&Rho;", 929 }, /* capital rho */
+ { "&Sigma;", 931 }, /* capital sigma */
+ { "&Tau;", 932 }, /* capital tau */
+ { "&Upsilon;", 933 }, /* capital upsilon */
+ { "&Phi;", 934 }, /* capital phi */
+ { "&Chi;", 935 }, /* capital chi */
+ { "&Psi;", 936 }, /* capital psi */
+ { "&Omega;", 937 }, /* capital omega */
+ { "&alpha;", 945 }, /* small alpha */
+ { "&beta;", 946 }, /* small beta */
+ { "&gamma;", 947 }, /* small gamma */
+ { "&delta;", 948 }, /* small delta */
+ { "&epsilon;", 949 }, /* small epsilon */
+ { "&zeta;", 950 }, /* small zeta */
+ { "&eta;", 951 }, /* small eta */
+ { "&theta;", 952 }, /* small theta */
+ { "&iota;", 953 }, /* small iota */
+ { "&kappa;", 954 }, /* small kappa */
+ { "&lambda;", 955 }, /* small lambda */
+ { "&mu;", 956 }, /* small mu */
+ { "&nu;", 957 }, /* small nu */
+ { "&xi;", 958 }, /* small xi */
+ { "&omicron;", 959 }, /* small omicron */
+ { "&pi;", 960 }, /* small pi */
+ { "&rho;", 961 }, /* small rho */
+ { "&sigmaf;", 962 }, /* small final sigma */
+ { "&sigma;", 963 }, /* small simga */
+ { "&tau;", 964 }, /* small tau */
+ { "&upsilon;", 965 }, /* small upsilon */
+ { "&phi;", 966 }, /* small phi */
+ { "&chi;", 967 }, /* small chi */
+ { "&psi;", 968 }, /* small psi */
+ { "&omega;", 969 }, /* small omega */
+ { "&thetasym;",977 }, /* small theta symbol */
+ { "&upsih;", 978 }, /* small upsilon with hook */
+ { "&piv;", 982 }, /* pi symbol */
+ { "&bull;", 8226 }, /* bullet = small blk circle */
+ { "&hellip;", 8230 }, /* horizontal ellipsis */
+ { "&prime;", 8242 }, /* prime = minutes = feet */
+ { "&Prime;", 8243 }, /* double prime */
+ { "&oline;", 8254 }, /* overline */
+ { "&frasl;", 8260 }, /* fraction slash */
+ { "&weierp;", 8472 }, /* Weierstrass p = power set */
+ { "&image;", 8465 }, /* imaginary part-black cap I */
+ { "&real;", 8476 }, /* real part-black cap R */
+ { "&trade;", 8482 }, /* trademark sign */
+ { "&alefsym;",8501 }, /* alef symbol */
+ { "&larr;", 8592 }, /* left arrow */
+ { "&uarr;", 8593 }, /* up arrow */
+ { "&rarr;", 8594 }, /* right arrow */
+ { "&darr;", 8595 }, /* down arrow */
+ { "&harr;", 8596 }, /* left/right arrow */
+ { "&crarr;", 8629 }, /* down arrow with corner left */
+ { "&lArr;", 8656 }, /* left double arrow */
+ { "&uArr;", 8657 }, /* up double arrow */
+ { "&rArr;", 8658 }, /* up double arrow */
+ { "&dArr;", 8659 }, /* up double arrow */
+ { "&hArr;", 8660 }, /* up double arrow */
+ { "&forall;", 8704}, /* for all */
+ { "&part;", 8706}, /* partial differential */
+ { "&exist;", 8707}, /* there exists */
+ { "&empty;", 8709}, /* empty set */
+ { "&nabla;", 8711}, /* nabla=backwards difference */
+ { "&isin;", 8712}, /* element of */
+ { "&notin;", 8713}, /* not an element of */
+ { "&ni;", 8715}, /* contains as member */
+ { "&prod;", 8719}, /* n-ary product */
+ { "&sum;", 8721}, /* n-ary summation */
+ { "&minus;", 8722}, /* minuss sign */
+ { "&lowast;", 8727}, /* asterisk operator */
+ { "&radic;", 8730}, /* square root */
+ { "&prop;", 8733}, /* proportional to */
+ { "&infin;", 8734}, /* infinity */
+ { "&ang;", 8736}, /* angle */
+ { "&and;", 8743}, /* logical and */
+ { "&or;", 8744}, /* logical or */
+ { "&cap;", 8745}, /* intersection */
+ { "&cup;", 8746}, /* union */
+ { "&int;", 8747}, /* integral */
+ { "&there4;", 8756}, /* therefore */
+ { "&sim;", 8764}, /* tilde operator */
+ { "&cong;", 8773}, /* approximately equal to */
+ { "&asymp;", 8776}, /* asymptotic to */
+ { "&ne;", 8800}, /* not equal to */
+ { "&equiv;", 8801}, /* identical to */
+ { "&le;", 8804}, /* less-than or equal to */
+ { "&ge;", 8805}, /* greater-than or equal to */
+ { "&sub;", 8834}, /* subset of */
+ { "&sup;", 8835}, /* superset of */
+ { "&nsub;", 8836}, /* not a subset of */
+ { "&sube;", 8838}, /* subset of or equal to */
+ { "&supe;", 8839}, /* superset of or equal to */
+ { "&oplus;", 8853}, /* circled plus = direct sum */
+ { "&otimes;", 8855}, /* circled times = vec prod */
+ { "&perp;", 8869}, /* perpendicular */
+ { "&sdot;", 8901}, /* dot operator */
+ { "&lceil;", 8968}, /* left ceiling */
+ { "&rceil;", 8969}, /* right ceiling */
+ { "&lfloor;", 8970}, /* left floor */
+ { "&rfloor;", 8971}, /* right floor */
+ { "&lang;", 9001}, /* left angle bracket */
+ { "&rang;", 9002}, /* right angle bracket */
+ { "&loz;", 9674}, /* lozenge */
+ { "&spades;", 9824}, /* spades */
+ { "&clubs;", 9827}, /* clubs */
+ { "&hearts;", 9829}, /* hearts */
+ { "&diams;", 9830}, /* diamonds */
+ /* Latin-1 */
+ { "&nbsp;", 32 }, /* non-breaking space */
+ { "&iexcl;", 161 }, /* inverted exclamation mark */
+ { "&cent;", 162 }, /* cent sign */
+ { "&pound;", 163 }, /* pound sign */
+ { "&curren;", 164 }, /* currency sign */
+ { "&yen;", 165 }, /* yen sign */
+ { "&brvbar;", 166 }, /* broken vertical bar */
+ { "&sect;", 167 }, /* section sign */
+ { "&uml;", 168 }, /* diaeresis - spacing diaeresis */
+ { "&copy;", 169 }, /* copyright sign */
+ { "&ordf;", 170 }, /* feminine ordinal indicator */
+ { "&laquo;", 171 }, /* left-pointing guillemet */
+ { "&not;", 172 }, /* not sign */
+ { "&shy;", 173 }, /* soft (discretionary) hyphen */
+ { "&reg;", 174 }, /* registered sign */
+ { "&macr;", 175 }, /* macron = overline */
+ { "&deg;", 176 }, /* degree sign */
+ { "&plusmn;", 177 }, /* plus-minus sign */
+ { "&sup2;", 178 }, /* superscript two */
+ { "&sup3;", 179 }, /* superscript three */
+ { "&acute;", 180 }, /* acute accent = spacing acute */
+ { "&micro;", 181 }, /* micro sign */
+ { "&para;", 182 }, /* pilcrow (paragraph) sign */
+ { "&middot;", 183 }, /* middle dot (georgian comma) */
+ { "&cedil;", 184 }, /* cedilla = spacing cedilla */
+ { "&sup1;", 185 }, /* superscript one */
+ { "&ordm;", 186 }, /* masculine ordinal indicator */
+ { "&raquo;", 187 }, /* right pointing guillemet */
+ { "&frac14;", 188 }, /* 1/4 */
+ { "&frac12;", 189 }, /* 1/2 */
+ { "&frac34;", 190 }, /* 3/4 */
+ { "&iquest;", 191 }, /* inverted question mark */
+ { "&Agrave;", 192 }, /* cap A with grave */
+ { "&Aacute;", 193 }, /* cap A with acute */
+ { "&Acirc;", 194 }, /* cap A with circumflex */
+ { "&Atilde;", 195 }, /* cap A with tilde */
+ { "&Auml;", 196 }, /* cap A with diaeresis */
+ { "&Aring;", 197 }, /* cap A with ring */
+ { "&AElig;", 198 }, /* cap AE ligature */
+ { "&Ccedil;", 199 }, /* cap C with cedilla */
+ { "&Egrave;", 200 }, /* cap E with grave */
+ { "&Eacute;", 201 }, /* cap E with acute */
+ { "&Ecirc;", 202 }, /* cap E with circumflex */
+ { "&Euml;", 203 }, /* cap E with diaeresis */
+ { "&Igrave;", 204 }, /* cap I with grave */
+ { "&Iacute;", 205 }, /* cap I with acute */
+ { "&Icirc;", 206 }, /* cap I with circumflex */
+ { "&Iuml;", 207 }, /* cap I with diaeresis */
+ { "&ETH;", 208 }, /* cap letter ETH */
+ { "&Ntilde;", 209 }, /* cap N with tilde */
+ { "&Ograve;", 210 }, /* cap O with grave */
+ { "&Oacute;", 211 }, /* cap O with acute */
+ { "&Ocirc;", 212 }, /* cap O with circumflex */
+ { "&Otilde;", 213 }, /* cap O with tilde */
+ { "&Ouml;", 214 }, /* cap O with diaeresis */
+ { "&times;", 215 }, /* multiplication sign */
+ { "&Oslash;", 216 }, /* cap O with stroke */
+ { "&Ugrave;", 217 }, /* cap U with grave */
+ { "&Uacute;", 218 }, /* cap U with acute */
+ { "&Ucirc;", 219 }, /* cap U with circumflex */
+ { "&Uuml;", 220 }, /* cap U with diaeresis */
+ { "&Yacute;", 221 }, /* cap Y with acute */
+ { "&THORN;", 222 }, /* cap letter THORN */
+ { "&szlig;", 223 }, /* small sharp s = ess-zed */
+ { "&agrave;", 224 }, /* small a with grave */
+ { "&aacute;", 225 }, /* small a with acute */
+ { "&acirc;", 226 }, /* small a with cirucmflex */
+ { "&atilde;", 227 }, /* small a with tilde */
+ { "&amul;", 228 }, /* small a with diaeresis */
+ { "&aring;", 229 }, /* small a with ring */
+ { "&aelig;", 230 }, /* small ligature ae */
+ { "&ccedil;", 231 }, /* small c with cedilla */
+ { "&egrave;", 232 }, /* small e with grave */
+ { "&eacute;", 233 }, /* small e with acute */
+ { "&ecirc;", 234 }, /* small e with circumflex */
+ { "&emul;", 235 }, /* small e with diaeresis */
+ { "&igrave;", 236 }, /* small i with grave */
+ { "&iacute;", 237 }, /* small i with acute */
+ { "&icirc;", 238 }, /* small i with circumflex */
+ { "&iuml;", 239 }, /* small i with diaeresis */
+ { "&eth;", 240 }, /* latin small letter eth */
+ { "&ntilde;", 241 }, /* small n with tilde */
+ { "&ograve;", 242 }, /* small o with grave */
+ { "&oacute;", 243 }, /* small o with acute */
+ { "&ocirc;", 244 }, /* small o with circumflex */
+ { "&otilde;", 245 }, /* small o with tilde */
+ { "&ouml;", 246 }, /* small o with diaeresis */
+ { "&divide;", 247 }, /* division sign */
+ { "&oslash;", 248 }, /* small o with slash */
+ { "&ugrave;", 249 }, /* small u with grave */
+ { "&uacute;", 250 }, /* small u with acute */
+ { "&ucirc;", 251 }, /* small u with circumflex */
+ { "&uuml;", 252 }, /* small u with diaeresis */
+ { "&yacute;", 253 }, /* small y with acute */
+ { "&thorn;", 254 }, /* latin small letter thorn */
+ { "&yuml;", 255 }, /* small y with diaeresis */
+};
+
+
+static unsigned int
+decode_html_entity( char *s, unsigned int *pi, int *err )
+{
+ int nhtml_entities = sizeof( html_entities ) / sizeof( entities );
+ char *e;
+ int i, n=-1, len;
+ for ( i=0; i<nhtml_entities && n==-1; ++i ) {
+ e = &(html_entities[i].html[0]);
+ len = strlen( e );
+ if ( !strncasecmp( &(s[*pi]), e, len ) ) {
+ n = i;
+ *pi += len;
+ }
+ }
+ if ( n==-1 ) {
+ *err = 1;
+ return '&';
+ } else {
+ *err = 0;
+ return html_entities[n].unicode;
+ }
+}
+
+
+/*
+ * decode decimal entity
+ *
+ * extract a decimal entity from &#NNNN;
+ * s[*pi] points to the '&' character
+ */
+static unsigned int
+decode_decimal_entity( char *s, unsigned int *pi, int *err )
+{
+ unsigned int c = 0, d;
+ int i = *pi, j = 2;
+ while ( isdigit( (unsigned char)s[i+j] ) ) {
+ d = s[i+j] - '0';
+ c = 10 * c + d;
+ j++;
+ }
+ if ( s[i+j]!=';' ) *err = 1;
+ else *pi = i+j+1;
+ return c;
+}
+
+/*
+ * decode hex entity
+ *
+ * extract a hex entity from &#xNNNN;
+ * s[*pi] points to the '&' character
+ */
+static unsigned int
+decode_hex_entity( char *s, unsigned int *pi, int *err )
+{
+ unsigned int c = 0, d;
+ int i = *pi, j = 3;
+ while ( isxdigit( (unsigned char)s[i+j] ) ) {
+ if ( isdigit( (unsigned char)s[i+j] ) ) d = s[i+j]-'0';
+ else d = toupper((unsigned char)s[i+j])-'A' + 10;
+ c = 16 * c + d;
+ j++;
+ }
+ if ( s[i+j]!=';' ) *err = 1;
+ else *pi = i+j+1;
+ return c;
+}
+
+/*
+ * decode numeric entity
+ *
+ * extract a numeric entity from &#NNN; or &#xNNNN;
+ *
+ * In XML, the "x" in hexadecimal entries should be lowercase,
+ * but we'll be generous and accept "X" as well.
+ */
+static unsigned int
+decode_numeric_entity( char *s, unsigned int *pi, int *err )
+{
+ unsigned int c;
+ *err = 0;
+ if ( s[*pi+2]!='x' && s[*pi+2]!='X' ) c = decode_decimal_entity( s, pi, err );
+ else c = decode_hex_entity( s, pi, err );
+ if ( *err ) {
+ *pi = *pi + 1;
+ c = '&';
+ }
+ return c;
+}
+
+/*
+ * decode entity
+ * extract entity from &mmmm;
+ *
+ * where &mmmm; is one of
+ * - &#nnnn; is code point in decimal form
+ * - &#xhhhh; is code point in hexadecimal form (note "x" is lowercase in XML)
+ * - &mmmm; corresponds to a pre-defined XML entity, e.g. &quote for quotations
+ *
+ */
+unsigned int
+decode_entity( char *s, unsigned int *pi, int *unicode, int *err )
+{
+ unsigned int c = '&';
+ *unicode = 0;
+
+ if ( s[*pi]!='&' ) {
+ *err = 1; /* need to start with ampersand */
+ c = s[*pi];
+ } else *err = 0;
+
+ if ( !*err ) {
+ if ( s[*pi+1]=='#' ) c = decode_numeric_entity( s, pi, err );
+ else {
+ c = decode_html_entity( s, pi, err );
+ *unicode = 1;
+ }
+ }
+ if ( *err ) *pi = *pi + 1;
+
+ return c;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/entities.h b/support/texlab/crates/bibutils_sys/src/entities.h
new file mode 100644
index 0000000000..b1f0dbcc02
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/entities.h
@@ -0,0 +1,16 @@
+/*
+ * entities.h
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef ENTITIES_H
+#define ENTITIES_H
+
+extern unsigned int decode_entity( char *s, unsigned int *pi,
+ int *unicode, int *err );
+
+#endif
+
diff --git a/support/texlab/crates/bibutils_sys/src/fields.c b/support/texlab/crates/bibutils_sys/src/fields.c
new file mode 100644
index 0000000000..39d455997d
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/fields.c
@@ -0,0 +1,573 @@
+/*
+ * fields.c
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <string.h>
+#include "fields.h"
+#include "msvc_fix.h"
+
+fields*
+fields_new( void )
+{
+ fields *f = ( fields * ) malloc( sizeof( fields ) );
+ if ( f ) fields_init( f );
+ return f;
+}
+
+void
+fields_init( fields *f )
+{
+ f->used = NULL;
+ f->level = NULL;
+ f->tag = NULL;
+ f->data = NULL;
+ f->max = f->n = 0;
+}
+
+void
+fields_free( fields *f )
+{
+ int i;
+
+ for ( i=0; i<f->max; ++i ) {
+ str_free( &(f->tag[i]) );
+ str_free( &(f->data[i]) );
+ }
+ if ( f->tag ) free( f->tag );
+ if ( f->data ) free( f->data );
+ if ( f->used ) free( f->used );
+ if ( f->level ) free( f->level );
+
+ fields_init( f );
+}
+
+void
+fields_delete( fields *f )
+{
+ fields_free( f );
+ free( f );
+}
+
+static int
+fields_alloc( fields *f )
+{
+ int i, alloc = 20;
+
+ f->tag = (str *) malloc( sizeof(str) * alloc );
+ f->data = (str *) malloc( sizeof(str) * alloc );
+ f->used = (int *) calloc( alloc, sizeof(int) );
+ f->level = (int *) calloc( alloc, sizeof(int) );
+ if ( !f->tag || !f->data || !f->used || !f->level ){
+ if ( f->tag ) free( f->tag );
+ if ( f->data ) free( f->data );
+ if ( f->used ) free( f->used );
+ if ( f->level ) free( f->level );
+ fields_init( f );
+ return FIELDS_ERR;
+ }
+
+ f->max = alloc;
+ f->n = 0;
+ for ( i=0; i<alloc; ++i ) {
+ str_init( &(f->tag[i]) );
+ str_init( &(f->data[i]) );
+ }
+ return FIELDS_OK;
+}
+
+static int
+fields_realloc( fields *f )
+{
+ str *newtags, *newdata;
+ int *newused, *newlevel;
+ int i, alloc = f->max * 2;
+
+ newtags = (str*) realloc( f->tag, sizeof(str) * alloc );
+ newdata = (str*) realloc( f->data, sizeof(str) * alloc );
+ newused = (int*) realloc( f->used, sizeof(int) * alloc );
+ newlevel= (int*) realloc( f->level, sizeof(int) * alloc );
+
+ if ( newtags ) f->tag = newtags;
+ if ( newdata ) f->data = newdata;
+ if ( newused ) f->used = newused;
+ if ( newlevel ) f->level = newlevel;
+
+ if ( !newtags || !newdata || !newused || !newlevel )
+ return FIELDS_ERR;
+
+ f->max = alloc;
+
+ for ( i=f->n; i<alloc; ++i ) {
+ str_init( &(f->tag[i]) );
+ str_init( &(f->data[i]) );
+ }
+
+ return FIELDS_OK;
+}
+
+int
+_fields_add( fields *f, const char *tag, const char *data, int level, int mode )
+{
+ int i, n, status;
+ str *t, *d;
+
+ if ( !tag || !data ) return FIELDS_OK;
+
+ if ( f->max==0 ) {
+ status = fields_alloc( f );
+ if ( status!=FIELDS_OK ) return status;
+ } else if ( f->n >= f->max ) {
+ status = fields_realloc( f );
+ if ( status!=FIELDS_OK ) return status;
+ }
+
+ /* Don't duplicate identical entries if FIELDS_NO_DUPS */
+ if ( mode == FIELDS_NO_DUPS ) {
+ for ( i=0; i<f->n; i++ ) {
+ t = &(f->tag[i]);
+ d = &(f->data[i]);
+ if ( f->level[i]==level &&
+ !strcasecmp( str_cstr( t ), tag ) &&
+ !strcasecmp( str_cstr( d ), data ) )
+ return FIELDS_OK;
+ }
+ }
+
+ n = f->n;
+ f->used[ n ] = 0;
+ f->level[ n ] = level;
+ str_strcpyc( &(f->tag[n]), tag );
+ str_strcpyc( &(f->data[n]), data );
+
+ if ( str_memerr( &(f->tag[n]) ) || str_memerr( &(f->data[n] ) ) )
+ return FIELDS_ERR;
+
+ f->n++;
+
+ return FIELDS_OK;
+}
+
+int
+_fields_add_tagsuffix( fields *f, const char *tag, const char *suffix,
+ const char *data, int level, int mode )
+{
+ str newtag;
+ int ret;
+
+ str_init( &newtag );
+ str_mergestrs( &newtag, tag, suffix, NULL );
+ if ( str_memerr( &newtag ) ) ret = FIELDS_ERR;
+ else ret = _fields_add( f, newtag.data, data, level, mode );
+ str_free( &newtag );
+
+ return ret;
+}
+
+/* fields_match_level()
+ *
+ * returns 1 if level matched, 0 if not
+ *
+ * level==LEVEL_ANY is a special flag meaning any level can match
+ */
+int
+fields_match_level( fields *f, int n, int level )
+{
+ if ( level==LEVEL_ANY ) return 1;
+ if ( fields_level( f, n )==level ) return 1;
+ return 0;
+}
+
+/* fields_match_tag()
+ *
+ * returns 1 if tag matches, 0 if not
+ *
+ */
+int
+fields_match_tag( fields *info, int n, const char *tag )
+{
+ if ( !strcmp( fields_tag( info, n, FIELDS_CHRP ), tag ) ) return 1;
+ return 0;
+}
+
+int
+fields_match_casetag( fields *info, int n, const char *tag )
+{
+ if ( !strcasecmp( fields_tag( info, n, FIELDS_CHRP ), tag ) ) return 1;
+ return 0;
+}
+
+int
+fields_match_tag_level( fields *info, int n, const char *tag, int level )
+{
+ if ( !fields_match_level( info, n, level ) ) return 0;
+ return fields_match_tag( info, n, tag );
+}
+
+int
+fields_match_casetag_level( fields *info, int n, const char *tag, int level )
+{
+ if ( !fields_match_level( info, n, level ) ) return 0;
+ return fields_match_casetag( info, n, tag );
+}
+
+/* fields_find()
+ *
+ * Return position [0,f->n) for first match of the tag.
+ * Return FIELDS_NOTFOUND if tag isn't found.
+ */
+int
+fields_find( fields *f, const char *tag, int level )
+{
+ int i;
+
+ for ( i=0; i<f->n; ++i ) {
+ if ( !fields_match_casetag_level( f, i, tag, level ) )
+ continue;
+ if ( f->data[i].len ) return i;
+ else {
+ /* if there is no data for the tag, don't "find" it */
+ /* and set "used" so noise is suppressed */
+ f->used[i] = 1;
+ }
+ }
+
+ return FIELDS_NOTFOUND;
+}
+
+int
+fields_maxlevel( fields *f )
+{
+ int i, max = 0;
+
+ if ( f->n ) {
+ max = f->level[0];
+ for ( i=1; i<f->n; ++i ) {
+ if ( f->level[i] > max )
+ max = f->level[i];
+ }
+ }
+
+ return max;
+}
+
+void
+fields_clearused( fields *f )
+{
+ int i;
+
+ for ( i=0; i<f->n; ++i )
+ f->used[i] = 0;
+}
+
+void
+fields_setused( fields *f, int n )
+{
+ if ( n >= 0 && n < f->n )
+ f->used[n] = 1;
+}
+
+/* fields_replace_or_add()
+ *
+ * return FIELDS_OK on success, FIELDS_ERR on memory error
+ */
+int
+fields_replace_or_add( fields *f, const char *tag, const char *data, int level )
+{
+ int n = fields_find( f, tag, level );
+ if ( n==FIELDS_NOTFOUND ) return fields_add( f, tag, data, level );
+ else {
+ str_strcpyc( &(f->data[n]), data );
+ if ( str_memerr( &(f->data[n]) ) ) return FIELDS_ERR;
+ return FIELDS_OK;
+ }
+}
+
+char *fields_null_value = "\0";
+
+int
+fields_used( fields *f, int n )
+{
+ if ( n >= 0 && n < f->n ) return f->used[n];
+ else return 0;
+}
+
+int
+fields_notag( fields *f, int n )
+{
+ str *t;
+ if ( n >= 0 && n < f->n ) {
+ t = &( f->tag[n] );
+ if ( t->len > 0 ) return 0;
+ }
+ return 1;
+}
+
+int
+fields_nodata( fields *f, int n )
+{
+ str *d;
+ if ( n >= 0 && n < f->n ) {
+ d = &( f->data[n] );
+ if ( d->len > 0 ) return 0;
+ }
+ return 1;
+}
+
+int
+fields_num( fields *f )
+{
+ return f->n;
+}
+
+/*
+ * #define FIELDS_CHRP
+ * #define FIELDS_STRP
+ * #define FIELDS_CHRP_NOLEN
+ * #define FIELDS_STRP_NOLEN
+ *
+ * If the length of the tagged value is zero and the mode is
+ * FIELDS_STRP_NOLEN or FIELDS_CHRP_NOLEN, return a pointer to
+ * a static null string as the data field could be new due to
+ * the way str handles initialized strings with no data.
+ *
+ */
+
+void *
+fields_value( fields *f, int n, int mode )
+{
+ intptr_t retn;
+
+ if ( n<0 || n>= f->n ) return NULL;
+
+ if ( mode & FIELDS_SETUSE_FLAG )
+ fields_setused( f, n );
+
+ if ( mode & FIELDS_STRP_FLAG )
+ return &(f->data[n]);
+ else if ( mode & FIELDS_POSP_FLAG ) {
+ retn = n;
+ return ( void * ) retn; /* Rather pointless */
+ } else {
+ if ( f->data[n].len )
+ return f->data[n].data;
+ else
+ return fields_null_value;
+ }
+}
+
+void *
+fields_tag( fields *f, int n, int mode )
+{
+ intptr_t retn;
+
+ if ( n<0 || n>= f->n ) return NULL;
+
+ if ( mode & FIELDS_STRP_FLAG )
+ return &(f->tag[n]);
+ else if ( mode & FIELDS_POSP_FLAG ) {
+ retn = n;
+ return ( void * ) retn; /* Rather pointless */
+ } else {
+ if ( f->tag[n].len )
+ return f->tag[n].data;
+ else
+ return fields_null_value;
+ }
+}
+
+int
+fields_level( fields *f, int n )
+{
+ if ( n<0 || n>= f->n ) return 0;
+ return f->level[n];
+}
+
+void *
+fields_findv( fields *f, int level, int mode, const char *tag )
+{
+ int i, found = FIELDS_NOTFOUND;
+ intptr_t retn;
+
+ for ( i=0; i<f->n && found==FIELDS_NOTFOUND; ++i ) {
+
+ if ( !fields_match_level( f, i, level ) ) continue;
+ if ( !fields_match_casetag( f, i, tag ) ) continue;
+
+ if ( f->data[i].len!=0 ) found = i;
+ else {
+ if ( mode & FIELDS_NOLENOK_FLAG ) {
+ return (void *) fields_null_value;
+ } else if ( mode & FIELDS_SETUSE_FLAG ) {
+ f->used[i] = 1; /* Suppress "noise" of unused */
+ }
+ }
+ }
+
+ if ( found==FIELDS_NOTFOUND ) return NULL;
+
+ if ( mode & FIELDS_SETUSE_FLAG )
+ fields_setused( f, found );
+
+ if ( mode & FIELDS_STRP_FLAG )
+ return (void *) &(f->data[found]);
+ else if ( mode & FIELDS_POSP_FLAG ) {
+ retn = found;
+ return (void *) retn;
+ } else
+ return (void *) f->data[found].data;
+}
+
+void *
+fields_findv_firstof( fields *f, int level, int mode, ... )
+{
+ char *tag, *value;
+ va_list argp;
+
+ va_start( argp, mode );
+ while ( ( tag = ( char * ) va_arg( argp, char * ) ) ) {
+ value = fields_findv( f, level, mode, tag );
+ if ( value ) {
+ va_end( argp );
+ return value;
+ }
+ }
+ va_end( argp );
+
+ return NULL;
+}
+
+static int
+fields_findv_each_add( fields *f, int mode, int n, vplist *a )
+{
+ int status;
+ void *v;
+
+ if ( n<0 || n>= f->n ) return FIELDS_OK;
+
+ if ( mode & FIELDS_SETUSE_FLAG )
+ fields_setused( f, n );
+
+ if ( mode & FIELDS_STRP_FLAG ) {
+ v = ( void * ) &( f->data[n] );
+ } else if ( mode & FIELDS_POSP_FLAG ) {
+ v = ( void * )( (long long) n );
+ } else {
+ v = ( void * ) str_cstr( &( f->data[n] ) );
+ }
+
+ status = vplist_add( a, v );
+
+ if ( status==VPLIST_OK ) return FIELDS_OK;
+ else return FIELDS_ERR;
+}
+
+int
+fields_findv_each( fields *f, int level, int mode, vplist *a, const char *tag )
+{
+ int i, status;
+
+ for ( i=0; i<f->n; ++i ) {
+
+ if ( !fields_match_level( f, i, level ) ) continue;
+ if ( !fields_match_casetag( f, i, tag ) ) continue;
+
+ if ( f->data[i].len!=0 ) {
+ status = fields_findv_each_add( f, mode, i, a );
+ if ( status!=FIELDS_OK ) return status;
+ } else {
+ if ( mode & FIELDS_NOLENOK_FLAG ) {
+ status = fields_findv_each_add( f, mode, i, a );
+ if ( status!=FIELDS_OK ) return status;
+ } else {
+ f->used[i] = 1; /* Suppress "noise" of unused */
+ }
+ }
+
+ }
+
+ return FIELDS_OK;
+}
+
+static int
+fields_build_tags( va_list argp, vplist *tags )
+{
+ int status;
+ char *tag;
+
+ while ( ( tag = ( char * ) va_arg( argp, char * ) ) ) {
+ status = vplist_add( tags, tag );
+ if ( status!=VPLIST_OK ) return FIELDS_ERR;
+ }
+
+ return FIELDS_OK;
+}
+
+static int
+fields_match_casetags( fields *f, int n, vplist *tags )
+{
+ int i;
+
+ for ( i=0; i<tags->n; ++i )
+ if ( fields_match_casetag( f, n, vplist_get( tags, i ) ) ) return 1;
+
+ return 0;
+}
+
+int
+fields_findv_eachof( fields *f, int level, int mode, vplist *a, ... )
+{
+ int i, status;
+ va_list argp;
+ vplist tags;
+
+ vplist_init( &tags );
+
+ /* build list of tags to search for */
+ va_start( argp, a );
+ status = fields_build_tags( argp, &tags );
+ va_end( argp );
+ if ( status!=FIELDS_OK ) goto out;
+
+ /* search list */
+ for ( i=0; i<f->n; ++i ) {
+
+ if ( !fields_match_level( f, i, level ) ) continue;
+ if ( !fields_match_casetags( f, i, &tags ) ) continue;
+
+ if ( f->data[i].len!=0 || ( mode & FIELDS_NOLENOK_FLAG ) ) {
+ status = fields_findv_each_add( f, mode, i, a );
+ if ( status!=FIELDS_OK ) goto out;
+ } else {
+ f->used[i] = 1; /* Suppress "noise" of unused */
+ }
+
+ }
+
+out:
+ vplist_free( &tags );
+ return status;
+}
+
+void
+fields_report( fields *f, FILE *fp )
+{
+ int i, n;
+ n = fields_num( f );
+ fprintf( fp, "# NUM level = LEVEL 'TAG' = 'VALUE'\n" );
+ for ( i=0; i<n; ++i ) {
+ fprintf( stderr, "%d\tlevel = %d\t'%s' = '%s'\n",
+ i+1,
+ fields_level( f, i ),
+ (char*)fields_tag( f, i, FIELDS_CHRP_NOUSE ),
+ (char*)fields_value( f, i, FIELDS_CHRP_NOUSE )
+ );
+ }
+}
+
diff --git a/support/texlab/crates/bibutils_sys/src/fields.h b/support/texlab/crates/bibutils_sys/src/fields.h
new file mode 100644
index 0000000000..ae084b14f5
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/fields.h
@@ -0,0 +1,97 @@
+/*
+ * fields.h
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef FIELDS_H
+#define FIELDS_H
+
+#define FIELDS_OK (1)
+#define FIELDS_ERR (0)
+
+#define FIELDS_NOTFOUND (-1)
+
+#define LEVEL_ORIG (-2)
+#define LEVEL_ANY (-1)
+#define LEVEL_MAIN (0)
+#define LEVEL_HOST (1)
+#define LEVEL_SERIES (2)
+
+#include <stdarg.h>
+#include "str.h"
+#include "vplist.h"
+
+typedef struct fields {
+ str *tag;
+ str *data;
+ int *used;
+ int *level;
+ int n;
+ int max;
+} fields;
+
+void fields_init( fields *f );
+fields *fields_new( void );
+void fields_delete( fields *f );
+void fields_free( fields *f );
+
+#define FIELDS_CAN_DUP (0)
+#define FIELDS_NO_DUPS (1)
+
+#define fields_add( a, b, c, d ) _fields_add( a, b, c, d, FIELDS_NO_DUPS )
+#define fields_add_can_dup( a, b, c, d ) _fields_add( a, b, c, d, FIELDS_CAN_DUP )
+#define fields_add_tagsuffix( a, b, c, d, e ) _fields_add( a, b, c, d, e, FIELDS_NO_DUPS )
+#define fields_add_tagsuffix_can_dup( a, b, c, d, e ) _fields_add( a, b, c, d, e, FIELDS_CAN_DUP )
+
+int _fields_add( fields *f, const char *tag, const char *data, int level, int mode );
+int _fields_add_tagsuffix( fields *f, const char *tag, const char *suffix,
+ const char *data, int level, int mode );
+
+int fields_maxlevel( fields *f );
+void fields_clearused( fields *f );
+void fields_setused( fields *f, int n );
+int fields_replace_or_add( fields *f, const char *tag, const char *data, int level );
+
+int fields_num( fields *f );
+int fields_used( fields *f, int n );
+int fields_notag( fields *f, int n );
+int fields_nodata( fields *f, int n );
+
+int fields_match_level( fields *f, int n, int level );
+int fields_match_tag( fields *f, int n, const char *tag );
+int fields_match_casetag( fields *f, int n, const char *tag );
+int fields_match_tag_level( fields *f, int n, const char *tag, int level );
+int fields_match_casetag_level( fields *f, int n, const char *tag, int level );
+
+void fields_report( fields *f, FILE *fp );
+
+#define FIELDS_STRP_FLAG (2)
+#define FIELDS_POSP_FLAG (4)
+#define FIELDS_NOLENOK_FLAG (8)
+#define FIELDS_SETUSE_FLAG (16)
+
+#define FIELDS_CHRP (FIELDS_SETUSE_FLAG )
+#define FIELDS_STRP (FIELDS_SETUSE_FLAG | FIELDS_STRP_FLAG )
+#define FIELDS_POSP (FIELDS_SETUSE_FLAG | FIELDS_POSP_FLAG )
+#define FIELDS_CHRP_NOLEN (FIELDS_SETUSE_FLAG | FIELDS_NOLENOK_FLAG)
+#define FIELDS_STRP_NOLEN (FIELDS_SETUSE_FLAG | FIELDS_STRP_FLAG | FIELDS_NOLENOK_FLAG)
+#define FIELDS_POSP_NOLEN (FIELDS_SETUSE_FLAG | FIELDS_POSP_FLAG | FIELDS_NOLENOK_FLAG)
+#define FIELDS_CHRP_NOUSE ( 0 )
+#define FIELDS_STRP_NOUSE ( FIELDS_STRP_FLAG )
+
+void *fields_tag( fields *f, int n, int mode );
+void *fields_value( fields *f, int n, int mode );
+int fields_level( fields *f, int n );
+
+int fields_find( fields *f, const char *searchtag, int level );
+
+void *fields_findv( fields *f, int level, int mode, const char *tag );
+void *fields_findv_firstof( fields *f, int level, int mode, ... );
+
+int fields_findv_each( fields *f, int level, int mode, vplist *a, const char *tag );
+int fields_findv_eachof( fields *f, int level, int mode, vplist *a, ... );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/gb18030.c b/support/texlab/crates/bibutils_sys/src/gb18030.c
new file mode 100644
index 0000000000..b8fdf855fa
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/gb18030.c
@@ -0,0 +1,184 @@
+#include <stdio.h>
+#include "gb18030.h"
+
+/* GB18030-2000 is an encoding of Unicode character used in China
+ *
+ * {0x00-0x7f} are one byte characters identical to US-ASCII
+ * {0x80} is properly undefined, but many GB18030 encodings make
+ * it the Euro sign (Unicode 0x20AC), so use that
+ * {0x81-0xFE}{0x40-0x7E,0x80-0xFE} a full superset of GBK (with fallback
+ * mappings)
+ * {0x81-0xFE}{0x30-0x39}{0x81-0xFE}{0x30-0x39} maps linearly to ISO 10646
+ * GB+81308130 = U+0080 up to U+FFFF
+ * GB+90308130 = U+10000 up to U+10FFFF skipping mappings already
+ * defined in 1-byte and 2-byte areas.
+ *
+ * Truth is it's a bit of a mess algorithmically as it doesn't multiply
+ * encode characters, so there are holes in the Unicode mapping that
+ * should be avoided.
+ */
+
+/* This is a "small" region that needs explicit enumeration */
+#include "gb18030_enumeration.c"
+
+static int
+in_range( unsigned char n, unsigned char low, unsigned char high )
+{
+ if ( n < low || n > high ) return 0;
+ return 1;
+}
+
+
+/* Get GB 18030 from Unicode Value in Table */
+static int
+gb18030_unicode_table_lookup( unsigned int unicode, unsigned char out[4] )
+{
+ int i, j;
+ if ( unicode >= 0x0080 && unicode <= 0xFFE5 ) {
+ /* list is sorted, so should do binary search here */
+ for ( i=0; i<ngb18030_enums; ++i ) {
+ if ( unicode == gb18030_enums[i].unicode ) {
+ for ( j=0; j<gb18030_enums[i].len; ++j )
+ out[j] = gb18030_enums[i].bytes[j];
+ return gb18030_enums[i].len;
+ }
+ }
+ }
+ return 0;
+}
+
+static int
+gb18030_match( unsigned char *s, const unsigned char *bytes, unsigned char len )
+{
+ int i;
+ for ( i=0; i<len; ++i )
+ if ( ( s[i])!=bytes[i] ) return 0;
+ return 1;
+}
+
+static unsigned int
+gb18030_table_lookup( unsigned char *uc, unsigned char len, int *found )
+{
+ unsigned int i;
+ *found = 0;
+ for ( i=0; i<ngb18030_enums; ++i ) {
+ if ( gb18030_enums[i].len!=len ) continue;
+ if ( gb18030_match( &(uc[0]), gb18030_enums[i].bytes, len ) ) {
+ *found = 1;
+ return gb18030_enums[i].unicode;
+ }
+ }
+ return '?';
+}
+
+
+static int
+gb18030_unicode_range_lookup( unsigned int unicode, unsigned char out[4] )
+{
+ return 0;
+}
+
+static int
+gb18030_range_lookup( unsigned char *s, /* unsigned char len = 4 only */ int *found )
+{
+ *found = 0;
+ return 0;
+#if 0
+ <!-- Roundtrip-mappings that can be enumerated
+ Note that GB 18030 defines roundtrip mappings for all Unicode code points U+0000..U+10ffff.
+ This would require 1.1 million <a> elements.
+ However, most four-byte GB 18030 mappings can be enumerated efficiently within distinct ranges.
+ Therefore, we use <range> elements for all but the 31000 or so assignments above.
+ -->
+ <range uFirst="0452" uLast="200F" bFirst="81 30 D3 30" bLast="81 36 A5 31" bMin="81 30 81 30" bMax="FE 39 FE 39"/>
+ <range uFirst="2643" uLast="2E80" bFirst="81 37 A8 39" bLast="81 38 FD 38" bMin="81 30 81 30" bMax="FE 39 FE 39"/>
+ <range uFirst="361B" uLast="3917" bFirst="82 30 A6 33" bLast="82 30 F2 37" bMin="81 30 81 30" bMax="FE 39 FE 39"/>
+ <range uFirst="3CE1" uLast="4055" bFirst="82 31 D4 38" bLast="82 32 AF 32" bMin="81 30 81 30" bMax="FE 39 FE 39"/>
+ <range uFirst="4160" uLast="4336" bFirst="82 32 C9 37" bLast="82 32 F8 37" bMin="81 30 81 30" bMax="FE 39 FE 39"/>
+ <range uFirst="44D7" uLast="464B" bFirst="82 33 A3 39" bLast="82 33 C9 31" bMin="81 30 81 30" bMax="FE 39 FE 39"/>
+ <range uFirst="478E" uLast="4946" bFirst="82 33 E8 38" bLast="82 34 96 38" bMin="81 30 81 30" bMax="FE 39 FE 39"/>
+ <range uFirst="49B8" uLast="4C76" bFirst="82 34 A1 31" bLast="82 34 E7 33" bMin="81 30 81 30" bMax="FE 39 FE 39"/>
+ <range uFirst="9FA6" uLast="D7FF" bFirst="82 35 8F 33" bLast="83 36 C7 38" bMin="81 30 81 30" bMax="FE 39 FE 39"/>
+ <range uFirst="E865" uLast="F92B" bFirst="83 36 D0 30" bLast="84 30 85 34" bMin="81 30 81 30" bMax="FE 39 FE 39"/>
+ <range uFirst="FA2A" uLast="FE2F" bFirst="84 30 9C 38" bLast="84 31 85 37" bMin="81 30 81 30" bMax="FE 39 FE 39"/>
+ <range uFirst="FFE6" uLast="FFFF" bFirst="84 31 A2 34" bLast="84 31 A4 39" bMin="81 30 81 30" bMax="FE 39 FE 39"/>
+ <range uFirst="10000" uLast="10FFFF" bFirst="90 30 81 30" bLast="E3 32 9A 35" bMin="81 30 81 30" bMax="FE 39 FE 39"/>
+#endif
+}
+
+unsigned int
+gb18030_to_unicode( unsigned char *s, unsigned char len )
+{
+ unsigned int ret;
+ int found;
+ ret = gb18030_table_lookup( s, len, &found );
+ if ( !found && len==4 ) {
+ ret = gb18030_range_lookup( s, &found );
+ if ( !found ) ret = '?';
+ }
+ return ret;
+}
+
+/*
+ * Convert unicode character to gb18030
+ *
+ * returns number of characters for output
+ */
+int
+gb18030_encode( unsigned int unicode, unsigned char out[4] )
+{
+ int len;
+ if ( unicode < 0x80 ) {
+ out[0] = unicode;
+ len = 1;
+ } else {
+ len = gb18030_unicode_table_lookup( unicode, out );
+ if ( !len )
+ len = gb18030_unicode_range_lookup( unicode, out );
+ }
+ return len;
+}
+
+/*
+ * Decode a gb18030 character into unicode
+ */
+unsigned int
+gb18030_decode( char *s, unsigned int *pi )
+{
+ unsigned int c;
+ unsigned char uc[4];
+ int i = *pi;
+ uc[0] = ( unsigned char ) s[i];
+ if ( ( uc[0] & 128 ) == 0 ) {
+ c = ( unsigned int ) uc[0];
+ i += 1;
+ } else if ( uc[0] == 0x80 ) {
+ c = 0x20AC;
+ i += 1;
+ } else if ( uc[0] != 0xFF ) { /* multi-byte character */
+ uc[1] = ( unsigned char ) s[i+1];
+ uc[2] = ( unsigned char ) s[i+2];
+ uc[3]= ( unsigned char ) s[i+3];
+ if ( in_range( uc[1], 0x40, 0x7e ) || in_range( uc[1], 0x80, 0xfe ) ) {
+ /* two-byte character */
+ c = gb18030_to_unicode( &(uc[0]), 2 );
+ i += 2;
+ } else if ( in_range( uc[1], 0x30, 0x39 ) &&
+ in_range( uc[2], 0x81, 0xfe ) &&
+ in_range( uc[3], 0x30, 0x39 ) ) {
+ /* four-byte character */
+ c = gb18030_to_unicode( &(uc[0]), 4 );
+ i += 4;
+ } else {
+ /* this is an illegal character */
+ c = '?';
+ i += 1;
+ }
+ } else { /* s[i]==0xFF */
+ /* this is an illegal character */
+ c = '?';
+ i += 1;
+ }
+ *pi = i;
+ return c;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/gb18030.h b/support/texlab/crates/bibutils_sys/src/gb18030.h
new file mode 100644
index 0000000000..e4acd1763b
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/gb18030.h
@@ -0,0 +1,15 @@
+/*
+ * gb18030.h
+ *
+ * Copyright (c) Chris Putnam 2008-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef GB18030_H
+#define GB18030_H
+
+extern int gb18030_encode( unsigned int unicode, unsigned char out[4] );
+extern unsigned int gb18030_decode( char *s, unsigned int *pi );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/gb18030_enumeration.c b/support/texlab/crates/bibutils_sys/src/gb18030_enumeration.c
new file mode 100644
index 0000000000..1187a3c972
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/gb18030_enumeration.c
@@ -0,0 +1,30746 @@
+
+typedef struct genums_t {
+ unsigned int unicode;
+ unsigned char len;
+ unsigned char bytes[4];
+} genums_t;
+
+static const
+genums_t gb18030_enums[] = {
+ {0x0080,4,{0x81,0x30,0x81,0x30,}},
+ {0x0081,4,{0x81,0x30,0x81,0x31,}},
+ {0x0082,4,{0x81,0x30,0x81,0x32,}},
+ {0x0083,4,{0x81,0x30,0x81,0x33,}},
+ {0x0084,4,{0x81,0x30,0x81,0x34,}},
+ {0x0085,4,{0x81,0x30,0x81,0x35,}},
+ {0x0086,4,{0x81,0x30,0x81,0x36,}},
+ {0x0087,4,{0x81,0x30,0x81,0x37,}},
+ {0x0088,4,{0x81,0x30,0x81,0x38,}},
+ {0x0089,4,{0x81,0x30,0x81,0x39,}},
+ {0x008A,4,{0x81,0x30,0x82,0x30,}},
+ {0x008B,4,{0x81,0x30,0x82,0x31,}},
+ {0x008C,4,{0x81,0x30,0x82,0x32,}},
+ {0x008D,4,{0x81,0x30,0x82,0x33,}},
+ {0x008E,4,{0x81,0x30,0x82,0x34,}},
+ {0x008F,4,{0x81,0x30,0x82,0x35,}},
+ {0x0090,4,{0x81,0x30,0x82,0x36,}},
+ {0x0091,4,{0x81,0x30,0x82,0x37,}},
+ {0x0092,4,{0x81,0x30,0x82,0x38,}},
+ {0x0093,4,{0x81,0x30,0x82,0x39,}},
+ {0x0094,4,{0x81,0x30,0x83,0x30,}},
+ {0x0095,4,{0x81,0x30,0x83,0x31,}},
+ {0x0096,4,{0x81,0x30,0x83,0x32,}},
+ {0x0097,4,{0x81,0x30,0x83,0x33,}},
+ {0x0098,4,{0x81,0x30,0x83,0x34,}},
+ {0x0099,4,{0x81,0x30,0x83,0x35,}},
+ {0x009A,4,{0x81,0x30,0x83,0x36,}},
+ {0x009B,4,{0x81,0x30,0x83,0x37,}},
+ {0x009C,4,{0x81,0x30,0x83,0x38,}},
+ {0x009D,4,{0x81,0x30,0x83,0x39,}},
+ {0x009E,4,{0x81,0x30,0x84,0x30,}},
+ {0x009F,4,{0x81,0x30,0x84,0x31,}},
+ {0x00A0,4,{0x81,0x30,0x84,0x32,}},
+ {0x00A1,4,{0x81,0x30,0x84,0x33,}},
+ {0x00A2,4,{0x81,0x30,0x84,0x34,}},
+ {0x00A3,4,{0x81,0x30,0x84,0x35,}},
+ {0x00A4,2,{0xA1,0xE8,0x00,0x00,}},
+ {0x00A5,4,{0x81,0x30,0x84,0x36,}},
+ {0x00A6,4,{0x81,0x30,0x84,0x37,}},
+ {0x00A7,2,{0xA1,0xEC,0x00,0x00,}},
+ {0x00A8,2,{0xA1,0xA7,0x00,0x00,}},
+ {0x00A9,4,{0x81,0x30,0x84,0x38,}},
+ {0x00AA,4,{0x81,0x30,0x84,0x39,}},
+ {0x00AB,4,{0x81,0x30,0x85,0x30,}},
+ {0x00AC,4,{0x81,0x30,0x85,0x31,}},
+ {0x00AD,4,{0x81,0x30,0x85,0x32,}},
+ {0x00AE,4,{0x81,0x30,0x85,0x33,}},
+ {0x00AF,4,{0x81,0x30,0x85,0x34,}},
+ {0x00B0,2,{0xA1,0xE3,0x00,0x00,}},
+ {0x00B1,2,{0xA1,0xC0,0x00,0x00,}},
+ {0x00B2,4,{0x81,0x30,0x85,0x35,}},
+ {0x00B3,4,{0x81,0x30,0x85,0x36,}},
+ {0x00B4,4,{0x81,0x30,0x85,0x37,}},
+ {0x00B5,4,{0x81,0x30,0x85,0x38,}},
+ {0x00B6,4,{0x81,0x30,0x85,0x39,}},
+ {0x00B7,2,{0xA1,0xA4,0x00,0x00,}},
+ {0x00B8,4,{0x81,0x30,0x86,0x30,}},
+ {0x00B9,4,{0x81,0x30,0x86,0x31,}},
+ {0x00BA,4,{0x81,0x30,0x86,0x32,}},
+ {0x00BB,4,{0x81,0x30,0x86,0x33,}},
+ {0x00BC,4,{0x81,0x30,0x86,0x34,}},
+ {0x00BD,4,{0x81,0x30,0x86,0x35,}},
+ {0x00BE,4,{0x81,0x30,0x86,0x36,}},
+ {0x00BF,4,{0x81,0x30,0x86,0x37,}},
+ {0x00C0,4,{0x81,0x30,0x86,0x38,}},
+ {0x00C1,4,{0x81,0x30,0x86,0x39,}},
+ {0x00C2,4,{0x81,0x30,0x87,0x30,}},
+ {0x00C3,4,{0x81,0x30,0x87,0x31,}},
+ {0x00C4,4,{0x81,0x30,0x87,0x32,}},
+ {0x00C5,4,{0x81,0x30,0x87,0x33,}},
+ {0x00C6,4,{0x81,0x30,0x87,0x34,}},
+ {0x00C7,4,{0x81,0x30,0x87,0x35,}},
+ {0x00C8,4,{0x81,0x30,0x87,0x36,}},
+ {0x00C9,4,{0x81,0x30,0x87,0x37,}},
+ {0x00CA,4,{0x81,0x30,0x87,0x38,}},
+ {0x00CB,4,{0x81,0x30,0x87,0x39,}},
+ {0x00CC,4,{0x81,0x30,0x88,0x30,}},
+ {0x00CD,4,{0x81,0x30,0x88,0x31,}},
+ {0x00CE,4,{0x81,0x30,0x88,0x32,}},
+ {0x00CF,4,{0x81,0x30,0x88,0x33,}},
+ {0x00D0,4,{0x81,0x30,0x88,0x34,}},
+ {0x00D1,4,{0x81,0x30,0x88,0x35,}},
+ {0x00D2,4,{0x81,0x30,0x88,0x36,}},
+ {0x00D3,4,{0x81,0x30,0x88,0x37,}},
+ {0x00D4,4,{0x81,0x30,0x88,0x38,}},
+ {0x00D5,4,{0x81,0x30,0x88,0x39,}},
+ {0x00D6,4,{0x81,0x30,0x89,0x30,}},
+ {0x00D7,2,{0xA1,0xC1,0x00,0x00,}},
+ {0x00D8,4,{0x81,0x30,0x89,0x31,}},
+ {0x00D9,4,{0x81,0x30,0x89,0x32,}},
+ {0x00DA,4,{0x81,0x30,0x89,0x33,}},
+ {0x00DB,4,{0x81,0x30,0x89,0x34,}},
+ {0x00DC,4,{0x81,0x30,0x89,0x35,}},
+ {0x00DD,4,{0x81,0x30,0x89,0x36,}},
+ {0x00DE,4,{0x81,0x30,0x89,0x37,}},
+ {0x00DF,4,{0x81,0x30,0x89,0x38,}},
+ {0x00E0,2,{0xA8,0xA4,0x00,0x00,}},
+ {0x00E1,2,{0xA8,0xA2,0x00,0x00,}},
+ {0x00E2,4,{0x81,0x30,0x89,0x39,}},
+ {0x00E3,4,{0x81,0x30,0x8A,0x30,}},
+ {0x00E4,4,{0x81,0x30,0x8A,0x31,}},
+ {0x00E5,4,{0x81,0x30,0x8A,0x32,}},
+ {0x00E6,4,{0x81,0x30,0x8A,0x33,}},
+ {0x00E7,4,{0x81,0x30,0x8A,0x34,}},
+ {0x00E8,2,{0xA8,0xA8,0x00,0x00,}},
+ {0x00E9,2,{0xA8,0xA6,0x00,0x00,}},
+ {0x00EA,2,{0xA8,0xBA,0x00,0x00,}},
+ {0x00EB,4,{0x81,0x30,0x8A,0x35,}},
+ {0x00EC,2,{0xA8,0xAC,0x00,0x00,}},
+ {0x00ED,2,{0xA8,0xAA,0x00,0x00,}},
+ {0x00EE,4,{0x81,0x30,0x8A,0x36,}},
+ {0x00EF,4,{0x81,0x30,0x8A,0x37,}},
+ {0x00F0,4,{0x81,0x30,0x8A,0x38,}},
+ {0x00F1,4,{0x81,0x30,0x8A,0x39,}},
+ {0x00F2,2,{0xA8,0xB0,0x00,0x00,}},
+ {0x00F3,2,{0xA8,0xAE,0x00,0x00,}},
+ {0x00F4,4,{0x81,0x30,0x8B,0x30,}},
+ {0x00F5,4,{0x81,0x30,0x8B,0x31,}},
+ {0x00F6,4,{0x81,0x30,0x8B,0x32,}},
+ {0x00F7,2,{0xA1,0xC2,0x00,0x00,}},
+ {0x00F8,4,{0x81,0x30,0x8B,0x33,}},
+ {0x00F9,2,{0xA8,0xB4,0x00,0x00,}},
+ {0x00FA,2,{0xA8,0xB2,0x00,0x00,}},
+ {0x00FB,4,{0x81,0x30,0x8B,0x34,}},
+ {0x00FC,2,{0xA8,0xB9,0x00,0x00,}},
+ {0x00FD,4,{0x81,0x30,0x8B,0x35,}},
+ {0x00FE,4,{0x81,0x30,0x8B,0x36,}},
+ {0x00FF,4,{0x81,0x30,0x8B,0x37,}},
+ {0x0100,4,{0x81,0x30,0x8B,0x38,}},
+ {0x0101,2,{0xA8,0xA1,0x00,0x00,}},
+ {0x0102,4,{0x81,0x30,0x8B,0x39,}},
+ {0x0103,4,{0x81,0x30,0x8C,0x30,}},
+ {0x0104,4,{0x81,0x30,0x8C,0x31,}},
+ {0x0105,4,{0x81,0x30,0x8C,0x32,}},
+ {0x0106,4,{0x81,0x30,0x8C,0x33,}},
+ {0x0107,4,{0x81,0x30,0x8C,0x34,}},
+ {0x0108,4,{0x81,0x30,0x8C,0x35,}},
+ {0x0109,4,{0x81,0x30,0x8C,0x36,}},
+ {0x010A,4,{0x81,0x30,0x8C,0x37,}},
+ {0x010B,4,{0x81,0x30,0x8C,0x38,}},
+ {0x010C,4,{0x81,0x30,0x8C,0x39,}},
+ {0x010D,4,{0x81,0x30,0x8D,0x30,}},
+ {0x010E,4,{0x81,0x30,0x8D,0x31,}},
+ {0x010F,4,{0x81,0x30,0x8D,0x32,}},
+ {0x0110,4,{0x81,0x30,0x8D,0x33,}},
+ {0x0111,4,{0x81,0x30,0x8D,0x34,}},
+ {0x0112,4,{0x81,0x30,0x8D,0x35,}},
+ {0x0113,2,{0xA8,0xA5,0x00,0x00,}},
+ {0x0114,4,{0x81,0x30,0x8D,0x36,}},
+ {0x0115,4,{0x81,0x30,0x8D,0x37,}},
+ {0x0116,4,{0x81,0x30,0x8D,0x38,}},
+ {0x0117,4,{0x81,0x30,0x8D,0x39,}},
+ {0x0118,4,{0x81,0x30,0x8E,0x30,}},
+ {0x0119,4,{0x81,0x30,0x8E,0x31,}},
+ {0x011A,4,{0x81,0x30,0x8E,0x32,}},
+ {0x011B,2,{0xA8,0xA7,0x00,0x00,}},
+ {0x011C,4,{0x81,0x30,0x8E,0x33,}},
+ {0x011D,4,{0x81,0x30,0x8E,0x34,}},
+ {0x011E,4,{0x81,0x30,0x8E,0x35,}},
+ {0x011F,4,{0x81,0x30,0x8E,0x36,}},
+ {0x0120,4,{0x81,0x30,0x8E,0x37,}},
+ {0x0121,4,{0x81,0x30,0x8E,0x38,}},
+ {0x0122,4,{0x81,0x30,0x8E,0x39,}},
+ {0x0123,4,{0x81,0x30,0x8F,0x30,}},
+ {0x0124,4,{0x81,0x30,0x8F,0x31,}},
+ {0x0125,4,{0x81,0x30,0x8F,0x32,}},
+ {0x0126,4,{0x81,0x30,0x8F,0x33,}},
+ {0x0127,4,{0x81,0x30,0x8F,0x34,}},
+ {0x0128,4,{0x81,0x30,0x8F,0x35,}},
+ {0x0129,4,{0x81,0x30,0x8F,0x36,}},
+ {0x012A,4,{0x81,0x30,0x8F,0x37,}},
+ {0x012B,2,{0xA8,0xA9,0x00,0x00,}},
+ {0x012C,4,{0x81,0x30,0x8F,0x38,}},
+ {0x012D,4,{0x81,0x30,0x8F,0x39,}},
+ {0x012E,4,{0x81,0x30,0x90,0x30,}},
+ {0x012F,4,{0x81,0x30,0x90,0x31,}},
+ {0x0130,4,{0x81,0x30,0x90,0x32,}},
+ {0x0131,4,{0x81,0x30,0x90,0x33,}},
+ {0x0132,4,{0x81,0x30,0x90,0x34,}},
+ {0x0133,4,{0x81,0x30,0x90,0x35,}},
+ {0x0134,4,{0x81,0x30,0x90,0x36,}},
+ {0x0135,4,{0x81,0x30,0x90,0x37,}},
+ {0x0136,4,{0x81,0x30,0x90,0x38,}},
+ {0x0137,4,{0x81,0x30,0x90,0x39,}},
+ {0x0138,4,{0x81,0x30,0x91,0x30,}},
+ {0x0139,4,{0x81,0x30,0x91,0x31,}},
+ {0x013A,4,{0x81,0x30,0x91,0x32,}},
+ {0x013B,4,{0x81,0x30,0x91,0x33,}},
+ {0x013C,4,{0x81,0x30,0x91,0x34,}},
+ {0x013D,4,{0x81,0x30,0x91,0x35,}},
+ {0x013E,4,{0x81,0x30,0x91,0x36,}},
+ {0x013F,4,{0x81,0x30,0x91,0x37,}},
+ {0x0140,4,{0x81,0x30,0x91,0x38,}},
+ {0x0141,4,{0x81,0x30,0x91,0x39,}},
+ {0x0142,4,{0x81,0x30,0x92,0x30,}},
+ {0x0143,4,{0x81,0x30,0x92,0x31,}},
+ {0x0144,2,{0xA8,0xBD,0x00,0x00,}},
+ {0x0145,4,{0x81,0x30,0x92,0x32,}},
+ {0x0146,4,{0x81,0x30,0x92,0x33,}},
+ {0x0147,4,{0x81,0x30,0x92,0x34,}},
+ {0x0148,2,{0xA8,0xBE,0x00,0x00,}},
+ {0x0149,4,{0x81,0x30,0x92,0x35,}},
+ {0x014A,4,{0x81,0x30,0x92,0x36,}},
+ {0x014B,4,{0x81,0x30,0x92,0x37,}},
+ {0x014C,4,{0x81,0x30,0x92,0x38,}},
+ {0x014D,2,{0xA8,0xAD,0x00,0x00,}},
+ {0x014E,4,{0x81,0x30,0x92,0x39,}},
+ {0x014F,4,{0x81,0x30,0x93,0x30,}},
+ {0x0150,4,{0x81,0x30,0x93,0x31,}},
+ {0x0151,4,{0x81,0x30,0x93,0x32,}},
+ {0x0152,4,{0x81,0x30,0x93,0x33,}},
+ {0x0153,4,{0x81,0x30,0x93,0x34,}},
+ {0x0154,4,{0x81,0x30,0x93,0x35,}},
+ {0x0155,4,{0x81,0x30,0x93,0x36,}},
+ {0x0156,4,{0x81,0x30,0x93,0x37,}},
+ {0x0157,4,{0x81,0x30,0x93,0x38,}},
+ {0x0158,4,{0x81,0x30,0x93,0x39,}},
+ {0x0159,4,{0x81,0x30,0x94,0x30,}},
+ {0x015A,4,{0x81,0x30,0x94,0x31,}},
+ {0x015B,4,{0x81,0x30,0x94,0x32,}},
+ {0x015C,4,{0x81,0x30,0x94,0x33,}},
+ {0x015D,4,{0x81,0x30,0x94,0x34,}},
+ {0x015E,4,{0x81,0x30,0x94,0x35,}},
+ {0x015F,4,{0x81,0x30,0x94,0x36,}},
+ {0x0160,4,{0x81,0x30,0x94,0x37,}},
+ {0x0161,4,{0x81,0x30,0x94,0x38,}},
+ {0x0162,4,{0x81,0x30,0x94,0x39,}},
+ {0x0163,4,{0x81,0x30,0x95,0x30,}},
+ {0x0164,4,{0x81,0x30,0x95,0x31,}},
+ {0x0165,4,{0x81,0x30,0x95,0x32,}},
+ {0x0166,4,{0x81,0x30,0x95,0x33,}},
+ {0x0167,4,{0x81,0x30,0x95,0x34,}},
+ {0x0168,4,{0x81,0x30,0x95,0x35,}},
+ {0x0169,4,{0x81,0x30,0x95,0x36,}},
+ {0x016A,4,{0x81,0x30,0x95,0x37,}},
+ {0x016B,2,{0xA8,0xB1,0x00,0x00,}},
+ {0x016C,4,{0x81,0x30,0x95,0x38,}},
+ {0x016D,4,{0x81,0x30,0x95,0x39,}},
+ {0x016E,4,{0x81,0x30,0x96,0x30,}},
+ {0x016F,4,{0x81,0x30,0x96,0x31,}},
+ {0x0170,4,{0x81,0x30,0x96,0x32,}},
+ {0x0171,4,{0x81,0x30,0x96,0x33,}},
+ {0x0172,4,{0x81,0x30,0x96,0x34,}},
+ {0x0173,4,{0x81,0x30,0x96,0x35,}},
+ {0x0174,4,{0x81,0x30,0x96,0x36,}},
+ {0x0175,4,{0x81,0x30,0x96,0x37,}},
+ {0x0176,4,{0x81,0x30,0x96,0x38,}},
+ {0x0177,4,{0x81,0x30,0x96,0x39,}},
+ {0x0178,4,{0x81,0x30,0x97,0x30,}},
+ {0x0179,4,{0x81,0x30,0x97,0x31,}},
+ {0x017A,4,{0x81,0x30,0x97,0x32,}},
+ {0x017B,4,{0x81,0x30,0x97,0x33,}},
+ {0x017C,4,{0x81,0x30,0x97,0x34,}},
+ {0x017D,4,{0x81,0x30,0x97,0x35,}},
+ {0x017E,4,{0x81,0x30,0x97,0x36,}},
+ {0x017F,4,{0x81,0x30,0x97,0x37,}},
+ {0x0180,4,{0x81,0x30,0x97,0x38,}},
+ {0x0181,4,{0x81,0x30,0x97,0x39,}},
+ {0x0182,4,{0x81,0x30,0x98,0x30,}},
+ {0x0183,4,{0x81,0x30,0x98,0x31,}},
+ {0x0184,4,{0x81,0x30,0x98,0x32,}},
+ {0x0185,4,{0x81,0x30,0x98,0x33,}},
+ {0x0186,4,{0x81,0x30,0x98,0x34,}},
+ {0x0187,4,{0x81,0x30,0x98,0x35,}},
+ {0x0188,4,{0x81,0x30,0x98,0x36,}},
+ {0x0189,4,{0x81,0x30,0x98,0x37,}},
+ {0x018A,4,{0x81,0x30,0x98,0x38,}},
+ {0x018B,4,{0x81,0x30,0x98,0x39,}},
+ {0x018C,4,{0x81,0x30,0x99,0x30,}},
+ {0x018D,4,{0x81,0x30,0x99,0x31,}},
+ {0x018E,4,{0x81,0x30,0x99,0x32,}},
+ {0x018F,4,{0x81,0x30,0x99,0x33,}},
+ {0x0190,4,{0x81,0x30,0x99,0x34,}},
+ {0x0191,4,{0x81,0x30,0x99,0x35,}},
+ {0x0192,4,{0x81,0x30,0x99,0x36,}},
+ {0x0193,4,{0x81,0x30,0x99,0x37,}},
+ {0x0194,4,{0x81,0x30,0x99,0x38,}},
+ {0x0195,4,{0x81,0x30,0x99,0x39,}},
+ {0x0196,4,{0x81,0x30,0x9A,0x30,}},
+ {0x0197,4,{0x81,0x30,0x9A,0x31,}},
+ {0x0198,4,{0x81,0x30,0x9A,0x32,}},
+ {0x0199,4,{0x81,0x30,0x9A,0x33,}},
+ {0x019A,4,{0x81,0x30,0x9A,0x34,}},
+ {0x019B,4,{0x81,0x30,0x9A,0x35,}},
+ {0x019C,4,{0x81,0x30,0x9A,0x36,}},
+ {0x019D,4,{0x81,0x30,0x9A,0x37,}},
+ {0x019E,4,{0x81,0x30,0x9A,0x38,}},
+ {0x019F,4,{0x81,0x30,0x9A,0x39,}},
+ {0x01A0,4,{0x81,0x30,0x9B,0x30,}},
+ {0x01A1,4,{0x81,0x30,0x9B,0x31,}},
+ {0x01A2,4,{0x81,0x30,0x9B,0x32,}},
+ {0x01A3,4,{0x81,0x30,0x9B,0x33,}},
+ {0x01A4,4,{0x81,0x30,0x9B,0x34,}},
+ {0x01A5,4,{0x81,0x30,0x9B,0x35,}},
+ {0x01A6,4,{0x81,0x30,0x9B,0x36,}},
+ {0x01A7,4,{0x81,0x30,0x9B,0x37,}},
+ {0x01A8,4,{0x81,0x30,0x9B,0x38,}},
+ {0x01A9,4,{0x81,0x30,0x9B,0x39,}},
+ {0x01AA,4,{0x81,0x30,0x9C,0x30,}},
+ {0x01AB,4,{0x81,0x30,0x9C,0x31,}},
+ {0x01AC,4,{0x81,0x30,0x9C,0x32,}},
+ {0x01AD,4,{0x81,0x30,0x9C,0x33,}},
+ {0x01AE,4,{0x81,0x30,0x9C,0x34,}},
+ {0x01AF,4,{0x81,0x30,0x9C,0x35,}},
+ {0x01B0,4,{0x81,0x30,0x9C,0x36,}},
+ {0x01B1,4,{0x81,0x30,0x9C,0x37,}},
+ {0x01B2,4,{0x81,0x30,0x9C,0x38,}},
+ {0x01B3,4,{0x81,0x30,0x9C,0x39,}},
+ {0x01B4,4,{0x81,0x30,0x9D,0x30,}},
+ {0x01B5,4,{0x81,0x30,0x9D,0x31,}},
+ {0x01B6,4,{0x81,0x30,0x9D,0x32,}},
+ {0x01B7,4,{0x81,0x30,0x9D,0x33,}},
+ {0x01B8,4,{0x81,0x30,0x9D,0x34,}},
+ {0x01B9,4,{0x81,0x30,0x9D,0x35,}},
+ {0x01BA,4,{0x81,0x30,0x9D,0x36,}},
+ {0x01BB,4,{0x81,0x30,0x9D,0x37,}},
+ {0x01BC,4,{0x81,0x30,0x9D,0x38,}},
+ {0x01BD,4,{0x81,0x30,0x9D,0x39,}},
+ {0x01BE,4,{0x81,0x30,0x9E,0x30,}},
+ {0x01BF,4,{0x81,0x30,0x9E,0x31,}},
+ {0x01C0,4,{0x81,0x30,0x9E,0x32,}},
+ {0x01C1,4,{0x81,0x30,0x9E,0x33,}},
+ {0x01C2,4,{0x81,0x30,0x9E,0x34,}},
+ {0x01C3,4,{0x81,0x30,0x9E,0x35,}},
+ {0x01C4,4,{0x81,0x30,0x9E,0x36,}},
+ {0x01C5,4,{0x81,0x30,0x9E,0x37,}},
+ {0x01C6,4,{0x81,0x30,0x9E,0x38,}},
+ {0x01C7,4,{0x81,0x30,0x9E,0x39,}},
+ {0x01C8,4,{0x81,0x30,0x9F,0x30,}},
+ {0x01C9,4,{0x81,0x30,0x9F,0x31,}},
+ {0x01CA,4,{0x81,0x30,0x9F,0x32,}},
+ {0x01CB,4,{0x81,0x30,0x9F,0x33,}},
+ {0x01CC,4,{0x81,0x30,0x9F,0x34,}},
+ {0x01CD,4,{0x81,0x30,0x9F,0x35,}},
+ {0x01CE,2,{0xA8,0xA3,0x00,0x00,}},
+ {0x01CF,4,{0x81,0x30,0x9F,0x36,}},
+ {0x01D0,2,{0xA8,0xAB,0x00,0x00,}},
+ {0x01D1,4,{0x81,0x30,0x9F,0x37,}},
+ {0x01D2,2,{0xA8,0xAF,0x00,0x00,}},
+ {0x01D3,4,{0x81,0x30,0x9F,0x38,}},
+ {0x01D4,2,{0xA8,0xB3,0x00,0x00,}},
+ {0x01D5,4,{0x81,0x30,0x9F,0x39,}},
+ {0x01D6,2,{0xA8,0xB5,0x00,0x00,}},
+ {0x01D7,4,{0x81,0x30,0xA0,0x30,}},
+ {0x01D8,2,{0xA8,0xB6,0x00,0x00,}},
+ {0x01D9,4,{0x81,0x30,0xA0,0x31,}},
+ {0x01DA,2,{0xA8,0xB7,0x00,0x00,}},
+ {0x01DB,4,{0x81,0x30,0xA0,0x32,}},
+ {0x01DC,2,{0xA8,0xB8,0x00,0x00,}},
+ {0x01DD,4,{0x81,0x30,0xA0,0x33,}},
+ {0x01DE,4,{0x81,0x30,0xA0,0x34,}},
+ {0x01DF,4,{0x81,0x30,0xA0,0x35,}},
+ {0x01E0,4,{0x81,0x30,0xA0,0x36,}},
+ {0x01E1,4,{0x81,0x30,0xA0,0x37,}},
+ {0x01E2,4,{0x81,0x30,0xA0,0x38,}},
+ {0x01E3,4,{0x81,0x30,0xA0,0x39,}},
+ {0x01E4,4,{0x81,0x30,0xA1,0x30,}},
+ {0x01E5,4,{0x81,0x30,0xA1,0x31,}},
+ {0x01E6,4,{0x81,0x30,0xA1,0x32,}},
+ {0x01E7,4,{0x81,0x30,0xA1,0x33,}},
+ {0x01E8,4,{0x81,0x30,0xA1,0x34,}},
+ {0x01E9,4,{0x81,0x30,0xA1,0x35,}},
+ {0x01EA,4,{0x81,0x30,0xA1,0x36,}},
+ {0x01EB,4,{0x81,0x30,0xA1,0x37,}},
+ {0x01EC,4,{0x81,0x30,0xA1,0x38,}},
+ {0x01ED,4,{0x81,0x30,0xA1,0x39,}},
+ {0x01EE,4,{0x81,0x30,0xA2,0x30,}},
+ {0x01EF,4,{0x81,0x30,0xA2,0x31,}},
+ {0x01F0,4,{0x81,0x30,0xA2,0x32,}},
+ {0x01F1,4,{0x81,0x30,0xA2,0x33,}},
+ {0x01F2,4,{0x81,0x30,0xA2,0x34,}},
+ {0x01F3,4,{0x81,0x30,0xA2,0x35,}},
+ {0x01F4,4,{0x81,0x30,0xA2,0x36,}},
+ {0x01F5,4,{0x81,0x30,0xA2,0x37,}},
+ {0x01F6,4,{0x81,0x30,0xA2,0x38,}},
+ {0x01F7,4,{0x81,0x30,0xA2,0x39,}},
+ {0x01F8,4,{0x81,0x30,0xA3,0x30,}},
+ {0x01F9,2,{0xA8,0xBF,0x00,0x00,}},
+ {0x01FA,4,{0x81,0x30,0xA3,0x31,}},
+ {0x01FB,4,{0x81,0x30,0xA3,0x32,}},
+ {0x01FC,4,{0x81,0x30,0xA3,0x33,}},
+ {0x01FD,4,{0x81,0x30,0xA3,0x34,}},
+ {0x01FE,4,{0x81,0x30,0xA3,0x35,}},
+ {0x01FF,4,{0x81,0x30,0xA3,0x36,}},
+ {0x0200,4,{0x81,0x30,0xA3,0x37,}},
+ {0x0201,4,{0x81,0x30,0xA3,0x38,}},
+ {0x0202,4,{0x81,0x30,0xA3,0x39,}},
+ {0x0203,4,{0x81,0x30,0xA4,0x30,}},
+ {0x0204,4,{0x81,0x30,0xA4,0x31,}},
+ {0x0205,4,{0x81,0x30,0xA4,0x32,}},
+ {0x0206,4,{0x81,0x30,0xA4,0x33,}},
+ {0x0207,4,{0x81,0x30,0xA4,0x34,}},
+ {0x0208,4,{0x81,0x30,0xA4,0x35,}},
+ {0x0209,4,{0x81,0x30,0xA4,0x36,}},
+ {0x020A,4,{0x81,0x30,0xA4,0x37,}},
+ {0x020B,4,{0x81,0x30,0xA4,0x38,}},
+ {0x020C,4,{0x81,0x30,0xA4,0x39,}},
+ {0x020D,4,{0x81,0x30,0xA5,0x30,}},
+ {0x020E,4,{0x81,0x30,0xA5,0x31,}},
+ {0x020F,4,{0x81,0x30,0xA5,0x32,}},
+ {0x0210,4,{0x81,0x30,0xA5,0x33,}},
+ {0x0211,4,{0x81,0x30,0xA5,0x34,}},
+ {0x0212,4,{0x81,0x30,0xA5,0x35,}},
+ {0x0213,4,{0x81,0x30,0xA5,0x36,}},
+ {0x0214,4,{0x81,0x30,0xA5,0x37,}},
+ {0x0215,4,{0x81,0x30,0xA5,0x38,}},
+ {0x0216,4,{0x81,0x30,0xA5,0x39,}},
+ {0x0217,4,{0x81,0x30,0xA6,0x30,}},
+ {0x0218,4,{0x81,0x30,0xA6,0x31,}},
+ {0x0219,4,{0x81,0x30,0xA6,0x32,}},
+ {0x021A,4,{0x81,0x30,0xA6,0x33,}},
+ {0x021B,4,{0x81,0x30,0xA6,0x34,}},
+ {0x021C,4,{0x81,0x30,0xA6,0x35,}},
+ {0x021D,4,{0x81,0x30,0xA6,0x36,}},
+ {0x021E,4,{0x81,0x30,0xA6,0x37,}},
+ {0x021F,4,{0x81,0x30,0xA6,0x38,}},
+ {0x0220,4,{0x81,0x30,0xA6,0x39,}},
+ {0x0221,4,{0x81,0x30,0xA7,0x30,}},
+ {0x0222,4,{0x81,0x30,0xA7,0x31,}},
+ {0x0223,4,{0x81,0x30,0xA7,0x32,}},
+ {0x0224,4,{0x81,0x30,0xA7,0x33,}},
+ {0x0225,4,{0x81,0x30,0xA7,0x34,}},
+ {0x0226,4,{0x81,0x30,0xA7,0x35,}},
+ {0x0227,4,{0x81,0x30,0xA7,0x36,}},
+ {0x0228,4,{0x81,0x30,0xA7,0x37,}},
+ {0x0229,4,{0x81,0x30,0xA7,0x38,}},
+ {0x022A,4,{0x81,0x30,0xA7,0x39,}},
+ {0x022B,4,{0x81,0x30,0xA8,0x30,}},
+ {0x022C,4,{0x81,0x30,0xA8,0x31,}},
+ {0x022D,4,{0x81,0x30,0xA8,0x32,}},
+ {0x022E,4,{0x81,0x30,0xA8,0x33,}},
+ {0x022F,4,{0x81,0x30,0xA8,0x34,}},
+ {0x0230,4,{0x81,0x30,0xA8,0x35,}},
+ {0x0231,4,{0x81,0x30,0xA8,0x36,}},
+ {0x0232,4,{0x81,0x30,0xA8,0x37,}},
+ {0x0233,4,{0x81,0x30,0xA8,0x38,}},
+ {0x0234,4,{0x81,0x30,0xA8,0x39,}},
+ {0x0235,4,{0x81,0x30,0xA9,0x30,}},
+ {0x0236,4,{0x81,0x30,0xA9,0x31,}},
+ {0x0237,4,{0x81,0x30,0xA9,0x32,}},
+ {0x0238,4,{0x81,0x30,0xA9,0x33,}},
+ {0x0239,4,{0x81,0x30,0xA9,0x34,}},
+ {0x023A,4,{0x81,0x30,0xA9,0x35,}},
+ {0x023B,4,{0x81,0x30,0xA9,0x36,}},
+ {0x023C,4,{0x81,0x30,0xA9,0x37,}},
+ {0x023D,4,{0x81,0x30,0xA9,0x38,}},
+ {0x023E,4,{0x81,0x30,0xA9,0x39,}},
+ {0x023F,4,{0x81,0x30,0xAA,0x30,}},
+ {0x0240,4,{0x81,0x30,0xAA,0x31,}},
+ {0x0241,4,{0x81,0x30,0xAA,0x32,}},
+ {0x0242,4,{0x81,0x30,0xAA,0x33,}},
+ {0x0243,4,{0x81,0x30,0xAA,0x34,}},
+ {0x0244,4,{0x81,0x30,0xAA,0x35,}},
+ {0x0245,4,{0x81,0x30,0xAA,0x36,}},
+ {0x0246,4,{0x81,0x30,0xAA,0x37,}},
+ {0x0247,4,{0x81,0x30,0xAA,0x38,}},
+ {0x0248,4,{0x81,0x30,0xAA,0x39,}},
+ {0x0249,4,{0x81,0x30,0xAB,0x30,}},
+ {0x024A,4,{0x81,0x30,0xAB,0x31,}},
+ {0x024B,4,{0x81,0x30,0xAB,0x32,}},
+ {0x024C,4,{0x81,0x30,0xAB,0x33,}},
+ {0x024D,4,{0x81,0x30,0xAB,0x34,}},
+ {0x024E,4,{0x81,0x30,0xAB,0x35,}},
+ {0x024F,4,{0x81,0x30,0xAB,0x36,}},
+ {0x0250,4,{0x81,0x30,0xAB,0x37,}},
+ {0x0251,2,{0xA8,0xBB,0x00,0x00,}},
+ {0x0252,4,{0x81,0x30,0xAB,0x38,}},
+ {0x0253,4,{0x81,0x30,0xAB,0x39,}},
+ {0x0254,4,{0x81,0x30,0xAC,0x30,}},
+ {0x0255,4,{0x81,0x30,0xAC,0x31,}},
+ {0x0256,4,{0x81,0x30,0xAC,0x32,}},
+ {0x0257,4,{0x81,0x30,0xAC,0x33,}},
+ {0x0258,4,{0x81,0x30,0xAC,0x34,}},
+ {0x0259,4,{0x81,0x30,0xAC,0x35,}},
+ {0x025A,4,{0x81,0x30,0xAC,0x36,}},
+ {0x025B,4,{0x81,0x30,0xAC,0x37,}},
+ {0x025C,4,{0x81,0x30,0xAC,0x38,}},
+ {0x025D,4,{0x81,0x30,0xAC,0x39,}},
+ {0x025E,4,{0x81,0x30,0xAD,0x30,}},
+ {0x025F,4,{0x81,0x30,0xAD,0x31,}},
+ {0x0260,4,{0x81,0x30,0xAD,0x32,}},
+ {0x0261,2,{0xA8,0xC0,0x00,0x00,}},
+ {0x0262,4,{0x81,0x30,0xAD,0x33,}},
+ {0x0263,4,{0x81,0x30,0xAD,0x34,}},
+ {0x0264,4,{0x81,0x30,0xAD,0x35,}},
+ {0x0265,4,{0x81,0x30,0xAD,0x36,}},
+ {0x0266,4,{0x81,0x30,0xAD,0x37,}},
+ {0x0267,4,{0x81,0x30,0xAD,0x38,}},
+ {0x0268,4,{0x81,0x30,0xAD,0x39,}},
+ {0x0269,4,{0x81,0x30,0xAE,0x30,}},
+ {0x026A,4,{0x81,0x30,0xAE,0x31,}},
+ {0x026B,4,{0x81,0x30,0xAE,0x32,}},
+ {0x026C,4,{0x81,0x30,0xAE,0x33,}},
+ {0x026D,4,{0x81,0x30,0xAE,0x34,}},
+ {0x026E,4,{0x81,0x30,0xAE,0x35,}},
+ {0x026F,4,{0x81,0x30,0xAE,0x36,}},
+ {0x0270,4,{0x81,0x30,0xAE,0x37,}},
+ {0x0271,4,{0x81,0x30,0xAE,0x38,}},
+ {0x0272,4,{0x81,0x30,0xAE,0x39,}},
+ {0x0273,4,{0x81,0x30,0xAF,0x30,}},
+ {0x0274,4,{0x81,0x30,0xAF,0x31,}},
+ {0x0275,4,{0x81,0x30,0xAF,0x32,}},
+ {0x0276,4,{0x81,0x30,0xAF,0x33,}},
+ {0x0277,4,{0x81,0x30,0xAF,0x34,}},
+ {0x0278,4,{0x81,0x30,0xAF,0x35,}},
+ {0x0279,4,{0x81,0x30,0xAF,0x36,}},
+ {0x027A,4,{0x81,0x30,0xAF,0x37,}},
+ {0x027B,4,{0x81,0x30,0xAF,0x38,}},
+ {0x027C,4,{0x81,0x30,0xAF,0x39,}},
+ {0x027D,4,{0x81,0x30,0xB0,0x30,}},
+ {0x027E,4,{0x81,0x30,0xB0,0x31,}},
+ {0x027F,4,{0x81,0x30,0xB0,0x32,}},
+ {0x0280,4,{0x81,0x30,0xB0,0x33,}},
+ {0x0281,4,{0x81,0x30,0xB0,0x34,}},
+ {0x0282,4,{0x81,0x30,0xB0,0x35,}},
+ {0x0283,4,{0x81,0x30,0xB0,0x36,}},
+ {0x0284,4,{0x81,0x30,0xB0,0x37,}},
+ {0x0285,4,{0x81,0x30,0xB0,0x38,}},
+ {0x0286,4,{0x81,0x30,0xB0,0x39,}},
+ {0x0287,4,{0x81,0x30,0xB1,0x30,}},
+ {0x0288,4,{0x81,0x30,0xB1,0x31,}},
+ {0x0289,4,{0x81,0x30,0xB1,0x32,}},
+ {0x028A,4,{0x81,0x30,0xB1,0x33,}},
+ {0x028B,4,{0x81,0x30,0xB1,0x34,}},
+ {0x028C,4,{0x81,0x30,0xB1,0x35,}},
+ {0x028D,4,{0x81,0x30,0xB1,0x36,}},
+ {0x028E,4,{0x81,0x30,0xB1,0x37,}},
+ {0x028F,4,{0x81,0x30,0xB1,0x38,}},
+ {0x0290,4,{0x81,0x30,0xB1,0x39,}},
+ {0x0291,4,{0x81,0x30,0xB2,0x30,}},
+ {0x0292,4,{0x81,0x30,0xB2,0x31,}},
+ {0x0293,4,{0x81,0x30,0xB2,0x32,}},
+ {0x0294,4,{0x81,0x30,0xB2,0x33,}},
+ {0x0295,4,{0x81,0x30,0xB2,0x34,}},
+ {0x0296,4,{0x81,0x30,0xB2,0x35,}},
+ {0x0297,4,{0x81,0x30,0xB2,0x36,}},
+ {0x0298,4,{0x81,0x30,0xB2,0x37,}},
+ {0x0299,4,{0x81,0x30,0xB2,0x38,}},
+ {0x029A,4,{0x81,0x30,0xB2,0x39,}},
+ {0x029B,4,{0x81,0x30,0xB3,0x30,}},
+ {0x029C,4,{0x81,0x30,0xB3,0x31,}},
+ {0x029D,4,{0x81,0x30,0xB3,0x32,}},
+ {0x029E,4,{0x81,0x30,0xB3,0x33,}},
+ {0x029F,4,{0x81,0x30,0xB3,0x34,}},
+ {0x02A0,4,{0x81,0x30,0xB3,0x35,}},
+ {0x02A1,4,{0x81,0x30,0xB3,0x36,}},
+ {0x02A2,4,{0x81,0x30,0xB3,0x37,}},
+ {0x02A3,4,{0x81,0x30,0xB3,0x38,}},
+ {0x02A4,4,{0x81,0x30,0xB3,0x39,}},
+ {0x02A5,4,{0x81,0x30,0xB4,0x30,}},
+ {0x02A6,4,{0x81,0x30,0xB4,0x31,}},
+ {0x02A7,4,{0x81,0x30,0xB4,0x32,}},
+ {0x02A8,4,{0x81,0x30,0xB4,0x33,}},
+ {0x02A9,4,{0x81,0x30,0xB4,0x34,}},
+ {0x02AA,4,{0x81,0x30,0xB4,0x35,}},
+ {0x02AB,4,{0x81,0x30,0xB4,0x36,}},
+ {0x02AC,4,{0x81,0x30,0xB4,0x37,}},
+ {0x02AD,4,{0x81,0x30,0xB4,0x38,}},
+ {0x02AE,4,{0x81,0x30,0xB4,0x39,}},
+ {0x02AF,4,{0x81,0x30,0xB5,0x30,}},
+ {0x02B0,4,{0x81,0x30,0xB5,0x31,}},
+ {0x02B1,4,{0x81,0x30,0xB5,0x32,}},
+ {0x02B2,4,{0x81,0x30,0xB5,0x33,}},
+ {0x02B3,4,{0x81,0x30,0xB5,0x34,}},
+ {0x02B4,4,{0x81,0x30,0xB5,0x35,}},
+ {0x02B5,4,{0x81,0x30,0xB5,0x36,}},
+ {0x02B6,4,{0x81,0x30,0xB5,0x37,}},
+ {0x02B7,4,{0x81,0x30,0xB5,0x38,}},
+ {0x02B8,4,{0x81,0x30,0xB5,0x39,}},
+ {0x02B9,4,{0x81,0x30,0xB6,0x30,}},
+ {0x02BA,4,{0x81,0x30,0xB6,0x31,}},
+ {0x02BB,4,{0x81,0x30,0xB6,0x32,}},
+ {0x02BC,4,{0x81,0x30,0xB6,0x33,}},
+ {0x02BD,4,{0x81,0x30,0xB6,0x34,}},
+ {0x02BE,4,{0x81,0x30,0xB6,0x35,}},
+ {0x02BF,4,{0x81,0x30,0xB6,0x36,}},
+ {0x02C0,4,{0x81,0x30,0xB6,0x37,}},
+ {0x02C1,4,{0x81,0x30,0xB6,0x38,}},
+ {0x02C2,4,{0x81,0x30,0xB6,0x39,}},
+ {0x02C3,4,{0x81,0x30,0xB7,0x30,}},
+ {0x02C4,4,{0x81,0x30,0xB7,0x31,}},
+ {0x02C5,4,{0x81,0x30,0xB7,0x32,}},
+ {0x02C6,4,{0x81,0x30,0xB7,0x33,}},
+ {0x02C7,2,{0xA1,0xA6,0x00,0x00,}},
+ {0x02C8,4,{0x81,0x30,0xB7,0x34,}},
+ {0x02C9,2,{0xA1,0xA5,0x00,0x00,}},
+ {0x02CA,2,{0xA8,0x40,0x00,0x00,}},
+ {0x02CB,2,{0xA8,0x41,0x00,0x00,}},
+ {0x02CC,4,{0x81,0x30,0xB7,0x35,}},
+ {0x02CD,4,{0x81,0x30,0xB7,0x36,}},
+ {0x02CE,4,{0x81,0x30,0xB7,0x37,}},
+ {0x02CF,4,{0x81,0x30,0xB7,0x38,}},
+ {0x02D0,4,{0x81,0x30,0xB7,0x39,}},
+ {0x02D1,4,{0x81,0x30,0xB8,0x30,}},
+ {0x02D2,4,{0x81,0x30,0xB8,0x31,}},
+ {0x02D3,4,{0x81,0x30,0xB8,0x32,}},
+ {0x02D4,4,{0x81,0x30,0xB8,0x33,}},
+ {0x02D5,4,{0x81,0x30,0xB8,0x34,}},
+ {0x02D6,4,{0x81,0x30,0xB8,0x35,}},
+ {0x02D7,4,{0x81,0x30,0xB8,0x36,}},
+ {0x02D8,4,{0x81,0x30,0xB8,0x37,}},
+ {0x02D9,2,{0xA8,0x42,0x00,0x00,}},
+ {0x02DA,4,{0x81,0x30,0xB8,0x38,}},
+ {0x02DB,4,{0x81,0x30,0xB8,0x39,}},
+ {0x02DC,4,{0x81,0x30,0xB9,0x30,}},
+ {0x02DD,4,{0x81,0x30,0xB9,0x31,}},
+ {0x02DE,4,{0x81,0x30,0xB9,0x32,}},
+ {0x02DF,4,{0x81,0x30,0xB9,0x33,}},
+ {0x02E0,4,{0x81,0x30,0xB9,0x34,}},
+ {0x02E1,4,{0x81,0x30,0xB9,0x35,}},
+ {0x02E2,4,{0x81,0x30,0xB9,0x36,}},
+ {0x02E3,4,{0x81,0x30,0xB9,0x37,}},
+ {0x02E4,4,{0x81,0x30,0xB9,0x38,}},
+ {0x02E5,4,{0x81,0x30,0xB9,0x39,}},
+ {0x02E6,4,{0x81,0x30,0xBA,0x30,}},
+ {0x02E7,4,{0x81,0x30,0xBA,0x31,}},
+ {0x02E8,4,{0x81,0x30,0xBA,0x32,}},
+ {0x02E9,4,{0x81,0x30,0xBA,0x33,}},
+ {0x02EA,4,{0x81,0x30,0xBA,0x34,}},
+ {0x02EB,4,{0x81,0x30,0xBA,0x35,}},
+ {0x02EC,4,{0x81,0x30,0xBA,0x36,}},
+ {0x02ED,4,{0x81,0x30,0xBA,0x37,}},
+ {0x02EE,4,{0x81,0x30,0xBA,0x38,}},
+ {0x02EF,4,{0x81,0x30,0xBA,0x39,}},
+ {0x02F0,4,{0x81,0x30,0xBB,0x30,}},
+ {0x02F1,4,{0x81,0x30,0xBB,0x31,}},
+ {0x02F2,4,{0x81,0x30,0xBB,0x32,}},
+ {0x02F3,4,{0x81,0x30,0xBB,0x33,}},
+ {0x02F4,4,{0x81,0x30,0xBB,0x34,}},
+ {0x02F5,4,{0x81,0x30,0xBB,0x35,}},
+ {0x02F6,4,{0x81,0x30,0xBB,0x36,}},
+ {0x02F7,4,{0x81,0x30,0xBB,0x37,}},
+ {0x02F8,4,{0x81,0x30,0xBB,0x38,}},
+ {0x02F9,4,{0x81,0x30,0xBB,0x39,}},
+ {0x02FA,4,{0x81,0x30,0xBC,0x30,}},
+ {0x02FB,4,{0x81,0x30,0xBC,0x31,}},
+ {0x02FC,4,{0x81,0x30,0xBC,0x32,}},
+ {0x02FD,4,{0x81,0x30,0xBC,0x33,}},
+ {0x02FE,4,{0x81,0x30,0xBC,0x34,}},
+ {0x02FF,4,{0x81,0x30,0xBC,0x35,}},
+ {0x0300,4,{0x81,0x30,0xBC,0x36,}},
+ {0x0301,4,{0x81,0x30,0xBC,0x37,}},
+ {0x0302,4,{0x81,0x30,0xBC,0x38,}},
+ {0x0303,4,{0x81,0x30,0xBC,0x39,}},
+ {0x0304,4,{0x81,0x30,0xBD,0x30,}},
+ {0x0305,4,{0x81,0x30,0xBD,0x31,}},
+ {0x0306,4,{0x81,0x30,0xBD,0x32,}},
+ {0x0307,4,{0x81,0x30,0xBD,0x33,}},
+ {0x0308,4,{0x81,0x30,0xBD,0x34,}},
+ {0x0309,4,{0x81,0x30,0xBD,0x35,}},
+ {0x030A,4,{0x81,0x30,0xBD,0x36,}},
+ {0x030B,4,{0x81,0x30,0xBD,0x37,}},
+ {0x030C,4,{0x81,0x30,0xBD,0x38,}},
+ {0x030D,4,{0x81,0x30,0xBD,0x39,}},
+ {0x030E,4,{0x81,0x30,0xBE,0x30,}},
+ {0x030F,4,{0x81,0x30,0xBE,0x31,}},
+ {0x0310,4,{0x81,0x30,0xBE,0x32,}},
+ {0x0311,4,{0x81,0x30,0xBE,0x33,}},
+ {0x0312,4,{0x81,0x30,0xBE,0x34,}},
+ {0x0313,4,{0x81,0x30,0xBE,0x35,}},
+ {0x0314,4,{0x81,0x30,0xBE,0x36,}},
+ {0x0315,4,{0x81,0x30,0xBE,0x37,}},
+ {0x0316,4,{0x81,0x30,0xBE,0x38,}},
+ {0x0317,4,{0x81,0x30,0xBE,0x39,}},
+ {0x0318,4,{0x81,0x30,0xBF,0x30,}},
+ {0x0319,4,{0x81,0x30,0xBF,0x31,}},
+ {0x031A,4,{0x81,0x30,0xBF,0x32,}},
+ {0x031B,4,{0x81,0x30,0xBF,0x33,}},
+ {0x031C,4,{0x81,0x30,0xBF,0x34,}},
+ {0x031D,4,{0x81,0x30,0xBF,0x35,}},
+ {0x031E,4,{0x81,0x30,0xBF,0x36,}},
+ {0x031F,4,{0x81,0x30,0xBF,0x37,}},
+ {0x0320,4,{0x81,0x30,0xBF,0x38,}},
+ {0x0321,4,{0x81,0x30,0xBF,0x39,}},
+ {0x0322,4,{0x81,0x30,0xC0,0x30,}},
+ {0x0323,4,{0x81,0x30,0xC0,0x31,}},
+ {0x0324,4,{0x81,0x30,0xC0,0x32,}},
+ {0x0325,4,{0x81,0x30,0xC0,0x33,}},
+ {0x0326,4,{0x81,0x30,0xC0,0x34,}},
+ {0x0327,4,{0x81,0x30,0xC0,0x35,}},
+ {0x0328,4,{0x81,0x30,0xC0,0x36,}},
+ {0x0329,4,{0x81,0x30,0xC0,0x37,}},
+ {0x032A,4,{0x81,0x30,0xC0,0x38,}},
+ {0x032B,4,{0x81,0x30,0xC0,0x39,}},
+ {0x032C,4,{0x81,0x30,0xC1,0x30,}},
+ {0x032D,4,{0x81,0x30,0xC1,0x31,}},
+ {0x032E,4,{0x81,0x30,0xC1,0x32,}},
+ {0x032F,4,{0x81,0x30,0xC1,0x33,}},
+ {0x0330,4,{0x81,0x30,0xC1,0x34,}},
+ {0x0331,4,{0x81,0x30,0xC1,0x35,}},
+ {0x0332,4,{0x81,0x30,0xC1,0x36,}},
+ {0x0333,4,{0x81,0x30,0xC1,0x37,}},
+ {0x0334,4,{0x81,0x30,0xC1,0x38,}},
+ {0x0335,4,{0x81,0x30,0xC1,0x39,}},
+ {0x0336,4,{0x81,0x30,0xC2,0x30,}},
+ {0x0337,4,{0x81,0x30,0xC2,0x31,}},
+ {0x0338,4,{0x81,0x30,0xC2,0x32,}},
+ {0x0339,4,{0x81,0x30,0xC2,0x33,}},
+ {0x033A,4,{0x81,0x30,0xC2,0x34,}},
+ {0x033B,4,{0x81,0x30,0xC2,0x35,}},
+ {0x033C,4,{0x81,0x30,0xC2,0x36,}},
+ {0x033D,4,{0x81,0x30,0xC2,0x37,}},
+ {0x033E,4,{0x81,0x30,0xC2,0x38,}},
+ {0x033F,4,{0x81,0x30,0xC2,0x39,}},
+ {0x0340,4,{0x81,0x30,0xC3,0x30,}},
+ {0x0341,4,{0x81,0x30,0xC3,0x31,}},
+ {0x0342,4,{0x81,0x30,0xC3,0x32,}},
+ {0x0343,4,{0x81,0x30,0xC3,0x33,}},
+ {0x0344,4,{0x81,0x30,0xC3,0x34,}},
+ {0x0345,4,{0x81,0x30,0xC3,0x35,}},
+ {0x0346,4,{0x81,0x30,0xC3,0x36,}},
+ {0x0347,4,{0x81,0x30,0xC3,0x37,}},
+ {0x0348,4,{0x81,0x30,0xC3,0x38,}},
+ {0x0349,4,{0x81,0x30,0xC3,0x39,}},
+ {0x034A,4,{0x81,0x30,0xC4,0x30,}},
+ {0x034B,4,{0x81,0x30,0xC4,0x31,}},
+ {0x034C,4,{0x81,0x30,0xC4,0x32,}},
+ {0x034D,4,{0x81,0x30,0xC4,0x33,}},
+ {0x034E,4,{0x81,0x30,0xC4,0x34,}},
+ {0x034F,4,{0x81,0x30,0xC4,0x35,}},
+ {0x0350,4,{0x81,0x30,0xC4,0x36,}},
+ {0x0351,4,{0x81,0x30,0xC4,0x37,}},
+ {0x0352,4,{0x81,0x30,0xC4,0x38,}},
+ {0x0353,4,{0x81,0x30,0xC4,0x39,}},
+ {0x0354,4,{0x81,0x30,0xC5,0x30,}},
+ {0x0355,4,{0x81,0x30,0xC5,0x31,}},
+ {0x0356,4,{0x81,0x30,0xC5,0x32,}},
+ {0x0357,4,{0x81,0x30,0xC5,0x33,}},
+ {0x0358,4,{0x81,0x30,0xC5,0x34,}},
+ {0x0359,4,{0x81,0x30,0xC5,0x35,}},
+ {0x035A,4,{0x81,0x30,0xC5,0x36,}},
+ {0x035B,4,{0x81,0x30,0xC5,0x37,}},
+ {0x035C,4,{0x81,0x30,0xC5,0x38,}},
+ {0x035D,4,{0x81,0x30,0xC5,0x39,}},
+ {0x035E,4,{0x81,0x30,0xC6,0x30,}},
+ {0x035F,4,{0x81,0x30,0xC6,0x31,}},
+ {0x0360,4,{0x81,0x30,0xC6,0x32,}},
+ {0x0361,4,{0x81,0x30,0xC6,0x33,}},
+ {0x0362,4,{0x81,0x30,0xC6,0x34,}},
+ {0x0363,4,{0x81,0x30,0xC6,0x35,}},
+ {0x0364,4,{0x81,0x30,0xC6,0x36,}},
+ {0x0365,4,{0x81,0x30,0xC6,0x37,}},
+ {0x0366,4,{0x81,0x30,0xC6,0x38,}},
+ {0x0367,4,{0x81,0x30,0xC6,0x39,}},
+ {0x0368,4,{0x81,0x30,0xC7,0x30,}},
+ {0x0369,4,{0x81,0x30,0xC7,0x31,}},
+ {0x036A,4,{0x81,0x30,0xC7,0x32,}},
+ {0x036B,4,{0x81,0x30,0xC7,0x33,}},
+ {0x036C,4,{0x81,0x30,0xC7,0x34,}},
+ {0x036D,4,{0x81,0x30,0xC7,0x35,}},
+ {0x036E,4,{0x81,0x30,0xC7,0x36,}},
+ {0x036F,4,{0x81,0x30,0xC7,0x37,}},
+ {0x0370,4,{0x81,0x30,0xC7,0x38,}},
+ {0x0371,4,{0x81,0x30,0xC7,0x39,}},
+ {0x0372,4,{0x81,0x30,0xC8,0x30,}},
+ {0x0373,4,{0x81,0x30,0xC8,0x31,}},
+ {0x0374,4,{0x81,0x30,0xC8,0x32,}},
+ {0x0375,4,{0x81,0x30,0xC8,0x33,}},
+ {0x0376,4,{0x81,0x30,0xC8,0x34,}},
+ {0x0377,4,{0x81,0x30,0xC8,0x35,}},
+ {0x0378,4,{0x81,0x30,0xC8,0x36,}},
+ {0x0379,4,{0x81,0x30,0xC8,0x37,}},
+ {0x037A,4,{0x81,0x30,0xC8,0x38,}},
+ {0x037B,4,{0x81,0x30,0xC8,0x39,}},
+ {0x037C,4,{0x81,0x30,0xC9,0x30,}},
+ {0x037D,4,{0x81,0x30,0xC9,0x31,}},
+ {0x037E,4,{0x81,0x30,0xC9,0x32,}},
+ {0x037F,4,{0x81,0x30,0xC9,0x33,}},
+ {0x0380,4,{0x81,0x30,0xC9,0x34,}},
+ {0x0381,4,{0x81,0x30,0xC9,0x35,}},
+ {0x0382,4,{0x81,0x30,0xC9,0x36,}},
+ {0x0383,4,{0x81,0x30,0xC9,0x37,}},
+ {0x0384,4,{0x81,0x30,0xC9,0x38,}},
+ {0x0385,4,{0x81,0x30,0xC9,0x39,}},
+ {0x0386,4,{0x81,0x30,0xCA,0x30,}},
+ {0x0387,4,{0x81,0x30,0xCA,0x31,}},
+ {0x0388,4,{0x81,0x30,0xCA,0x32,}},
+ {0x0389,4,{0x81,0x30,0xCA,0x33,}},
+ {0x038A,4,{0x81,0x30,0xCA,0x34,}},
+ {0x038B,4,{0x81,0x30,0xCA,0x35,}},
+ {0x038C,4,{0x81,0x30,0xCA,0x36,}},
+ {0x038D,4,{0x81,0x30,0xCA,0x37,}},
+ {0x038E,4,{0x81,0x30,0xCA,0x38,}},
+ {0x038F,4,{0x81,0x30,0xCA,0x39,}},
+ {0x0390,4,{0x81,0x30,0xCB,0x30,}},
+ {0x0391,2,{0xA6,0xA1,0x00,0x00,}},
+ {0x0392,2,{0xA6,0xA2,0x00,0x00,}},
+ {0x0393,2,{0xA6,0xA3,0x00,0x00,}},
+ {0x0394,2,{0xA6,0xA4,0x00,0x00,}},
+ {0x0395,2,{0xA6,0xA5,0x00,0x00,}},
+ {0x0396,2,{0xA6,0xA6,0x00,0x00,}},
+ {0x0397,2,{0xA6,0xA7,0x00,0x00,}},
+ {0x0398,2,{0xA6,0xA8,0x00,0x00,}},
+ {0x0399,2,{0xA6,0xA9,0x00,0x00,}},
+ {0x039A,2,{0xA6,0xAA,0x00,0x00,}},
+ {0x039B,2,{0xA6,0xAB,0x00,0x00,}},
+ {0x039C,2,{0xA6,0xAC,0x00,0x00,}},
+ {0x039D,2,{0xA6,0xAD,0x00,0x00,}},
+ {0x039E,2,{0xA6,0xAE,0x00,0x00,}},
+ {0x039F,2,{0xA6,0xAF,0x00,0x00,}},
+ {0x03A0,2,{0xA6,0xB0,0x00,0x00,}},
+ {0x03A1,2,{0xA6,0xB1,0x00,0x00,}},
+ {0x03A2,4,{0x81,0x30,0xCB,0x31,}},
+ {0x03A3,2,{0xA6,0xB2,0x00,0x00,}},
+ {0x03A4,2,{0xA6,0xB3,0x00,0x00,}},
+ {0x03A5,2,{0xA6,0xB4,0x00,0x00,}},
+ {0x03A6,2,{0xA6,0xB5,0x00,0x00,}},
+ {0x03A7,2,{0xA6,0xB6,0x00,0x00,}},
+ {0x03A8,2,{0xA6,0xB7,0x00,0x00,}},
+ {0x03A9,2,{0xA6,0xB8,0x00,0x00,}},
+ {0x03AA,4,{0x81,0x30,0xCB,0x32,}},
+ {0x03AB,4,{0x81,0x30,0xCB,0x33,}},
+ {0x03AC,4,{0x81,0x30,0xCB,0x34,}},
+ {0x03AD,4,{0x81,0x30,0xCB,0x35,}},
+ {0x03AE,4,{0x81,0x30,0xCB,0x36,}},
+ {0x03AF,4,{0x81,0x30,0xCB,0x37,}},
+ {0x03B0,4,{0x81,0x30,0xCB,0x38,}},
+ {0x03B1,2,{0xA6,0xC1,0x00,0x00,}},
+ {0x03B2,2,{0xA6,0xC2,0x00,0x00,}},
+ {0x03B3,2,{0xA6,0xC3,0x00,0x00,}},
+ {0x03B4,2,{0xA6,0xC4,0x00,0x00,}},
+ {0x03B5,2,{0xA6,0xC5,0x00,0x00,}},
+ {0x03B6,2,{0xA6,0xC6,0x00,0x00,}},
+ {0x03B7,2,{0xA6,0xC7,0x00,0x00,}},
+ {0x03B8,2,{0xA6,0xC8,0x00,0x00,}},
+ {0x03B9,2,{0xA6,0xC9,0x00,0x00,}},
+ {0x03BA,2,{0xA6,0xCA,0x00,0x00,}},
+ {0x03BB,2,{0xA6,0xCB,0x00,0x00,}},
+ {0x03BC,2,{0xA6,0xCC,0x00,0x00,}},
+ {0x03BD,2,{0xA6,0xCD,0x00,0x00,}},
+ {0x03BE,2,{0xA6,0xCE,0x00,0x00,}},
+ {0x03BF,2,{0xA6,0xCF,0x00,0x00,}},
+ {0x03C0,2,{0xA6,0xD0,0x00,0x00,}},
+ {0x03C1,2,{0xA6,0xD1,0x00,0x00,}},
+ {0x03C2,4,{0x81,0x30,0xCB,0x39,}},
+ {0x03C3,2,{0xA6,0xD2,0x00,0x00,}},
+ {0x03C4,2,{0xA6,0xD3,0x00,0x00,}},
+ {0x03C5,2,{0xA6,0xD4,0x00,0x00,}},
+ {0x03C6,2,{0xA6,0xD5,0x00,0x00,}},
+ {0x03C7,2,{0xA6,0xD6,0x00,0x00,}},
+ {0x03C8,2,{0xA6,0xD7,0x00,0x00,}},
+ {0x03C9,2,{0xA6,0xD8,0x00,0x00,}},
+ {0x03CA,4,{0x81,0x30,0xCC,0x30,}},
+ {0x03CB,4,{0x81,0x30,0xCC,0x31,}},
+ {0x03CC,4,{0x81,0x30,0xCC,0x32,}},
+ {0x03CD,4,{0x81,0x30,0xCC,0x33,}},
+ {0x03CE,4,{0x81,0x30,0xCC,0x34,}},
+ {0x03CF,4,{0x81,0x30,0xCC,0x35,}},
+ {0x03D0,4,{0x81,0x30,0xCC,0x36,}},
+ {0x03D1,4,{0x81,0x30,0xCC,0x37,}},
+ {0x03D2,4,{0x81,0x30,0xCC,0x38,}},
+ {0x03D3,4,{0x81,0x30,0xCC,0x39,}},
+ {0x03D4,4,{0x81,0x30,0xCD,0x30,}},
+ {0x03D5,4,{0x81,0x30,0xCD,0x31,}},
+ {0x03D6,4,{0x81,0x30,0xCD,0x32,}},
+ {0x03D7,4,{0x81,0x30,0xCD,0x33,}},
+ {0x03D8,4,{0x81,0x30,0xCD,0x34,}},
+ {0x03D9,4,{0x81,0x30,0xCD,0x35,}},
+ {0x03DA,4,{0x81,0x30,0xCD,0x36,}},
+ {0x03DB,4,{0x81,0x30,0xCD,0x37,}},
+ {0x03DC,4,{0x81,0x30,0xCD,0x38,}},
+ {0x03DD,4,{0x81,0x30,0xCD,0x39,}},
+ {0x03DE,4,{0x81,0x30,0xCE,0x30,}},
+ {0x03DF,4,{0x81,0x30,0xCE,0x31,}},
+ {0x03E0,4,{0x81,0x30,0xCE,0x32,}},
+ {0x03E1,4,{0x81,0x30,0xCE,0x33,}},
+ {0x03E2,4,{0x81,0x30,0xCE,0x34,}},
+ {0x03E3,4,{0x81,0x30,0xCE,0x35,}},
+ {0x03E4,4,{0x81,0x30,0xCE,0x36,}},
+ {0x03E5,4,{0x81,0x30,0xCE,0x37,}},
+ {0x03E6,4,{0x81,0x30,0xCE,0x38,}},
+ {0x03E7,4,{0x81,0x30,0xCE,0x39,}},
+ {0x03E8,4,{0x81,0x30,0xCF,0x30,}},
+ {0x03E9,4,{0x81,0x30,0xCF,0x31,}},
+ {0x03EA,4,{0x81,0x30,0xCF,0x32,}},
+ {0x03EB,4,{0x81,0x30,0xCF,0x33,}},
+ {0x03EC,4,{0x81,0x30,0xCF,0x34,}},
+ {0x03ED,4,{0x81,0x30,0xCF,0x35,}},
+ {0x03EE,4,{0x81,0x30,0xCF,0x36,}},
+ {0x03EF,4,{0x81,0x30,0xCF,0x37,}},
+ {0x03F0,4,{0x81,0x30,0xCF,0x38,}},
+ {0x03F1,4,{0x81,0x30,0xCF,0x39,}},
+ {0x03F2,4,{0x81,0x30,0xD0,0x30,}},
+ {0x03F3,4,{0x81,0x30,0xD0,0x31,}},
+ {0x03F4,4,{0x81,0x30,0xD0,0x32,}},
+ {0x03F5,4,{0x81,0x30,0xD0,0x33,}},
+ {0x03F6,4,{0x81,0x30,0xD0,0x34,}},
+ {0x03F7,4,{0x81,0x30,0xD0,0x35,}},
+ {0x03F8,4,{0x81,0x30,0xD0,0x36,}},
+ {0x03F9,4,{0x81,0x30,0xD0,0x37,}},
+ {0x03FA,4,{0x81,0x30,0xD0,0x38,}},
+ {0x03FB,4,{0x81,0x30,0xD0,0x39,}},
+ {0x03FC,4,{0x81,0x30,0xD1,0x30,}},
+ {0x03FD,4,{0x81,0x30,0xD1,0x31,}},
+ {0x03FE,4,{0x81,0x30,0xD1,0x32,}},
+ {0x03FF,4,{0x81,0x30,0xD1,0x33,}},
+ {0x0400,4,{0x81,0x30,0xD1,0x34,}},
+ {0x0401,2,{0xA7,0xA7,0x00,0x00,}},
+ {0x0402,4,{0x81,0x30,0xD1,0x35,}},
+ {0x0403,4,{0x81,0x30,0xD1,0x36,}},
+ {0x0404,4,{0x81,0x30,0xD1,0x37,}},
+ {0x0405,4,{0x81,0x30,0xD1,0x38,}},
+ {0x0406,4,{0x81,0x30,0xD1,0x39,}},
+ {0x0407,4,{0x81,0x30,0xD2,0x30,}},
+ {0x0408,4,{0x81,0x30,0xD2,0x31,}},
+ {0x0409,4,{0x81,0x30,0xD2,0x32,}},
+ {0x040A,4,{0x81,0x30,0xD2,0x33,}},
+ {0x040B,4,{0x81,0x30,0xD2,0x34,}},
+ {0x040C,4,{0x81,0x30,0xD2,0x35,}},
+ {0x040D,4,{0x81,0x30,0xD2,0x36,}},
+ {0x040E,4,{0x81,0x30,0xD2,0x37,}},
+ {0x040F,4,{0x81,0x30,0xD2,0x38,}},
+ {0x0410,2,{0xA7,0xA1,0x00,0x00,}},
+ {0x0411,2,{0xA7,0xA2,0x00,0x00,}},
+ {0x0412,2,{0xA7,0xA3,0x00,0x00,}},
+ {0x0413,2,{0xA7,0xA4,0x00,0x00,}},
+ {0x0414,2,{0xA7,0xA5,0x00,0x00,}},
+ {0x0415,2,{0xA7,0xA6,0x00,0x00,}},
+ {0x0416,2,{0xA7,0xA8,0x00,0x00,}},
+ {0x0417,2,{0xA7,0xA9,0x00,0x00,}},
+ {0x0418,2,{0xA7,0xAA,0x00,0x00,}},
+ {0x0419,2,{0xA7,0xAB,0x00,0x00,}},
+ {0x041A,2,{0xA7,0xAC,0x00,0x00,}},
+ {0x041B,2,{0xA7,0xAD,0x00,0x00,}},
+ {0x041C,2,{0xA7,0xAE,0x00,0x00,}},
+ {0x041D,2,{0xA7,0xAF,0x00,0x00,}},
+ {0x041E,2,{0xA7,0xB0,0x00,0x00,}},
+ {0x041F,2,{0xA7,0xB1,0x00,0x00,}},
+ {0x0420,2,{0xA7,0xB2,0x00,0x00,}},
+ {0x0421,2,{0xA7,0xB3,0x00,0x00,}},
+ {0x0422,2,{0xA7,0xB4,0x00,0x00,}},
+ {0x0423,2,{0xA7,0xB5,0x00,0x00,}},
+ {0x0424,2,{0xA7,0xB6,0x00,0x00,}},
+ {0x0425,2,{0xA7,0xB7,0x00,0x00,}},
+ {0x0426,2,{0xA7,0xB8,0x00,0x00,}},
+ {0x0427,2,{0xA7,0xB9,0x00,0x00,}},
+ {0x0428,2,{0xA7,0xBA,0x00,0x00,}},
+ {0x0429,2,{0xA7,0xBB,0x00,0x00,}},
+ {0x042A,2,{0xA7,0xBC,0x00,0x00,}},
+ {0x042B,2,{0xA7,0xBD,0x00,0x00,}},
+ {0x042C,2,{0xA7,0xBE,0x00,0x00,}},
+ {0x042D,2,{0xA7,0xBF,0x00,0x00,}},
+ {0x042E,2,{0xA7,0xC0,0x00,0x00,}},
+ {0x042F,2,{0xA7,0xC1,0x00,0x00,}},
+ {0x0430,2,{0xA7,0xD1,0x00,0x00,}},
+ {0x0431,2,{0xA7,0xD2,0x00,0x00,}},
+ {0x0432,2,{0xA7,0xD3,0x00,0x00,}},
+ {0x0433,2,{0xA7,0xD4,0x00,0x00,}},
+ {0x0434,2,{0xA7,0xD5,0x00,0x00,}},
+ {0x0435,2,{0xA7,0xD6,0x00,0x00,}},
+ {0x0436,2,{0xA7,0xD8,0x00,0x00,}},
+ {0x0437,2,{0xA7,0xD9,0x00,0x00,}},
+ {0x0438,2,{0xA7,0xDA,0x00,0x00,}},
+ {0x0439,2,{0xA7,0xDB,0x00,0x00,}},
+ {0x043A,2,{0xA7,0xDC,0x00,0x00,}},
+ {0x043B,2,{0xA7,0xDD,0x00,0x00,}},
+ {0x043C,2,{0xA7,0xDE,0x00,0x00,}},
+ {0x043D,2,{0xA7,0xDF,0x00,0x00,}},
+ {0x043E,2,{0xA7,0xE0,0x00,0x00,}},
+ {0x043F,2,{0xA7,0xE1,0x00,0x00,}},
+ {0x0440,2,{0xA7,0xE2,0x00,0x00,}},
+ {0x0441,2,{0xA7,0xE3,0x00,0x00,}},
+ {0x0442,2,{0xA7,0xE4,0x00,0x00,}},
+ {0x0443,2,{0xA7,0xE5,0x00,0x00,}},
+ {0x0444,2,{0xA7,0xE6,0x00,0x00,}},
+ {0x0445,2,{0xA7,0xE7,0x00,0x00,}},
+ {0x0446,2,{0xA7,0xE8,0x00,0x00,}},
+ {0x0447,2,{0xA7,0xE9,0x00,0x00,}},
+ {0x0448,2,{0xA7,0xEA,0x00,0x00,}},
+ {0x0449,2,{0xA7,0xEB,0x00,0x00,}},
+ {0x044A,2,{0xA7,0xEC,0x00,0x00,}},
+ {0x044B,2,{0xA7,0xED,0x00,0x00,}},
+ {0x044C,2,{0xA7,0xEE,0x00,0x00,}},
+ {0x044D,2,{0xA7,0xEF,0x00,0x00,}},
+ {0x044E,2,{0xA7,0xF0,0x00,0x00,}},
+ {0x044F,2,{0xA7,0xF1,0x00,0x00,}},
+ {0x0450,4,{0x81,0x30,0xD2,0x39,}},
+ {0x0451,2,{0xA7,0xD7,0x00,0x00,}},
+ {0x2010,2,{0xA9,0x5C,0x00,0x00,}},
+ {0x2011,4,{0x81,0x36,0xA5,0x32,}},
+ {0x2012,4,{0x81,0x36,0xA5,0x33,}},
+ {0x2013,2,{0xA8,0x43,0x00,0x00,}},
+ {0x2014,2,{0xA1,0xAA,0x00,0x00,}},
+ {0x2015,2,{0xA8,0x44,0x00,0x00,}},
+ {0x2016,2,{0xA1,0xAC,0x00,0x00,}},
+ {0x2017,4,{0x81,0x36,0xA5,0x34,}},
+ {0x2018,2,{0xA1,0xAE,0x00,0x00,}},
+ {0x2019,2,{0xA1,0xAF,0x00,0x00,}},
+ {0x201A,4,{0x81,0x36,0xA5,0x35,}},
+ {0x201B,4,{0x81,0x36,0xA5,0x36,}},
+ {0x201C,2,{0xA1,0xB0,0x00,0x00,}},
+ {0x201D,2,{0xA1,0xB1,0x00,0x00,}},
+ {0x201E,4,{0x81,0x36,0xA5,0x37,}},
+ {0x201F,4,{0x81,0x36,0xA5,0x38,}},
+ {0x2020,4,{0x81,0x36,0xA5,0x39,}},
+ {0x2021,4,{0x81,0x36,0xA6,0x30,}},
+ {0x2022,4,{0x81,0x36,0xA6,0x31,}},
+ {0x2023,4,{0x81,0x36,0xA6,0x32,}},
+ {0x2024,4,{0x81,0x36,0xA6,0x33,}},
+ {0x2025,2,{0xA8,0x45,0x00,0x00,}},
+ {0x2026,2,{0xA1,0xAD,0x00,0x00,}},
+ {0x2027,4,{0x81,0x36,0xA6,0x34,}},
+ {0x2028,4,{0x81,0x36,0xA6,0x35,}},
+ {0x2029,4,{0x81,0x36,0xA6,0x36,}},
+ {0x202A,4,{0x81,0x36,0xA6,0x37,}},
+ {0x202B,4,{0x81,0x36,0xA6,0x38,}},
+ {0x202C,4,{0x81,0x36,0xA6,0x39,}},
+ {0x202D,4,{0x81,0x36,0xA7,0x30,}},
+ {0x202E,4,{0x81,0x36,0xA7,0x31,}},
+ {0x202F,4,{0x81,0x36,0xA7,0x32,}},
+ {0x2030,2,{0xA1,0xEB,0x00,0x00,}},
+ {0x2031,4,{0x81,0x36,0xA7,0x33,}},
+ {0x2032,2,{0xA1,0xE4,0x00,0x00,}},
+ {0x2033,2,{0xA1,0xE5,0x00,0x00,}},
+ {0x2034,4,{0x81,0x36,0xA7,0x34,}},
+ {0x2035,2,{0xA8,0x46,0x00,0x00,}},
+ {0x2036,4,{0x81,0x36,0xA7,0x35,}},
+ {0x2037,4,{0x81,0x36,0xA7,0x36,}},
+ {0x2038,4,{0x81,0x36,0xA7,0x37,}},
+ {0x2039,4,{0x81,0x36,0xA7,0x38,}},
+ {0x203A,4,{0x81,0x36,0xA7,0x39,}},
+ {0x203B,2,{0xA1,0xF9,0x00,0x00,}},
+ {0x203C,4,{0x81,0x36,0xA8,0x30,}},
+ {0x203D,4,{0x81,0x36,0xA8,0x31,}},
+ {0x203E,4,{0x81,0x36,0xA8,0x32,}},
+ {0x203F,4,{0x81,0x36,0xA8,0x33,}},
+ {0x2040,4,{0x81,0x36,0xA8,0x34,}},
+ {0x2041,4,{0x81,0x36,0xA8,0x35,}},
+ {0x2042,4,{0x81,0x36,0xA8,0x36,}},
+ {0x2043,4,{0x81,0x36,0xA8,0x37,}},
+ {0x2044,4,{0x81,0x36,0xA8,0x38,}},
+ {0x2045,4,{0x81,0x36,0xA8,0x39,}},
+ {0x2046,4,{0x81,0x36,0xA9,0x30,}},
+ {0x2047,4,{0x81,0x36,0xA9,0x31,}},
+ {0x2048,4,{0x81,0x36,0xA9,0x32,}},
+ {0x2049,4,{0x81,0x36,0xA9,0x33,}},
+ {0x204A,4,{0x81,0x36,0xA9,0x34,}},
+ {0x204B,4,{0x81,0x36,0xA9,0x35,}},
+ {0x204C,4,{0x81,0x36,0xA9,0x36,}},
+ {0x204D,4,{0x81,0x36,0xA9,0x37,}},
+ {0x204E,4,{0x81,0x36,0xA9,0x38,}},
+ {0x204F,4,{0x81,0x36,0xA9,0x39,}},
+ {0x2050,4,{0x81,0x36,0xAA,0x30,}},
+ {0x2051,4,{0x81,0x36,0xAA,0x31,}},
+ {0x2052,4,{0x81,0x36,0xAA,0x32,}},
+ {0x2053,4,{0x81,0x36,0xAA,0x33,}},
+ {0x2054,4,{0x81,0x36,0xAA,0x34,}},
+ {0x2055,4,{0x81,0x36,0xAA,0x35,}},
+ {0x2056,4,{0x81,0x36,0xAA,0x36,}},
+ {0x2057,4,{0x81,0x36,0xAA,0x37,}},
+ {0x2058,4,{0x81,0x36,0xAA,0x38,}},
+ {0x2059,4,{0x81,0x36,0xAA,0x39,}},
+ {0x205A,4,{0x81,0x36,0xAB,0x30,}},
+ {0x205B,4,{0x81,0x36,0xAB,0x31,}},
+ {0x205C,4,{0x81,0x36,0xAB,0x32,}},
+ {0x205D,4,{0x81,0x36,0xAB,0x33,}},
+ {0x205E,4,{0x81,0x36,0xAB,0x34,}},
+ {0x205F,4,{0x81,0x36,0xAB,0x35,}},
+ {0x2060,4,{0x81,0x36,0xAB,0x36,}},
+ {0x2061,4,{0x81,0x36,0xAB,0x37,}},
+ {0x2062,4,{0x81,0x36,0xAB,0x38,}},
+ {0x2063,4,{0x81,0x36,0xAB,0x39,}},
+ {0x2064,4,{0x81,0x36,0xAC,0x30,}},
+ {0x2065,4,{0x81,0x36,0xAC,0x31,}},
+ {0x2066,4,{0x81,0x36,0xAC,0x32,}},
+ {0x2067,4,{0x81,0x36,0xAC,0x33,}},
+ {0x2068,4,{0x81,0x36,0xAC,0x34,}},
+ {0x2069,4,{0x81,0x36,0xAC,0x35,}},
+ {0x206A,4,{0x81,0x36,0xAC,0x36,}},
+ {0x206B,4,{0x81,0x36,0xAC,0x37,}},
+ {0x206C,4,{0x81,0x36,0xAC,0x38,}},
+ {0x206D,4,{0x81,0x36,0xAC,0x39,}},
+ {0x206E,4,{0x81,0x36,0xAD,0x30,}},
+ {0x206F,4,{0x81,0x36,0xAD,0x31,}},
+ {0x2070,4,{0x81,0x36,0xAD,0x32,}},
+ {0x2071,4,{0x81,0x36,0xAD,0x33,}},
+ {0x2072,4,{0x81,0x36,0xAD,0x34,}},
+ {0x2073,4,{0x81,0x36,0xAD,0x35,}},
+ {0x2074,4,{0x81,0x36,0xAD,0x36,}},
+ {0x2075,4,{0x81,0x36,0xAD,0x37,}},
+ {0x2076,4,{0x81,0x36,0xAD,0x38,}},
+ {0x2077,4,{0x81,0x36,0xAD,0x39,}},
+ {0x2078,4,{0x81,0x36,0xAE,0x30,}},
+ {0x2079,4,{0x81,0x36,0xAE,0x31,}},
+ {0x207A,4,{0x81,0x36,0xAE,0x32,}},
+ {0x207B,4,{0x81,0x36,0xAE,0x33,}},
+ {0x207C,4,{0x81,0x36,0xAE,0x34,}},
+ {0x207D,4,{0x81,0x36,0xAE,0x35,}},
+ {0x207E,4,{0x81,0x36,0xAE,0x36,}},
+ {0x207F,4,{0x81,0x36,0xAE,0x37,}},
+ {0x2080,4,{0x81,0x36,0xAE,0x38,}},
+ {0x2081,4,{0x81,0x36,0xAE,0x39,}},
+ {0x2082,4,{0x81,0x36,0xAF,0x30,}},
+ {0x2083,4,{0x81,0x36,0xAF,0x31,}},
+ {0x2084,4,{0x81,0x36,0xAF,0x32,}},
+ {0x2085,4,{0x81,0x36,0xAF,0x33,}},
+ {0x2086,4,{0x81,0x36,0xAF,0x34,}},
+ {0x2087,4,{0x81,0x36,0xAF,0x35,}},
+ {0x2088,4,{0x81,0x36,0xAF,0x36,}},
+ {0x2089,4,{0x81,0x36,0xAF,0x37,}},
+ {0x208A,4,{0x81,0x36,0xAF,0x38,}},
+ {0x208B,4,{0x81,0x36,0xAF,0x39,}},
+ {0x208C,4,{0x81,0x36,0xB0,0x30,}},
+ {0x208D,4,{0x81,0x36,0xB0,0x31,}},
+ {0x208E,4,{0x81,0x36,0xB0,0x32,}},
+ {0x208F,4,{0x81,0x36,0xB0,0x33,}},
+ {0x2090,4,{0x81,0x36,0xB0,0x34,}},
+ {0x2091,4,{0x81,0x36,0xB0,0x35,}},
+ {0x2092,4,{0x81,0x36,0xB0,0x36,}},
+ {0x2093,4,{0x81,0x36,0xB0,0x37,}},
+ {0x2094,4,{0x81,0x36,0xB0,0x38,}},
+ {0x2095,4,{0x81,0x36,0xB0,0x39,}},
+ {0x2096,4,{0x81,0x36,0xB1,0x30,}},
+ {0x2097,4,{0x81,0x36,0xB1,0x31,}},
+ {0x2098,4,{0x81,0x36,0xB1,0x32,}},
+ {0x2099,4,{0x81,0x36,0xB1,0x33,}},
+ {0x209A,4,{0x81,0x36,0xB1,0x34,}},
+ {0x209B,4,{0x81,0x36,0xB1,0x35,}},
+ {0x209C,4,{0x81,0x36,0xB1,0x36,}},
+ {0x209D,4,{0x81,0x36,0xB1,0x37,}},
+ {0x209E,4,{0x81,0x36,0xB1,0x38,}},
+ {0x209F,4,{0x81,0x36,0xB1,0x39,}},
+ {0x20A0,4,{0x81,0x36,0xB2,0x30,}},
+ {0x20A1,4,{0x81,0x36,0xB2,0x31,}},
+ {0x20A2,4,{0x81,0x36,0xB2,0x32,}},
+ {0x20A3,4,{0x81,0x36,0xB2,0x33,}},
+ {0x20A4,4,{0x81,0x36,0xB2,0x34,}},
+ {0x20A5,4,{0x81,0x36,0xB2,0x35,}},
+ {0x20A6,4,{0x81,0x36,0xB2,0x36,}},
+ {0x20A7,4,{0x81,0x36,0xB2,0x37,}},
+ {0x20A8,4,{0x81,0x36,0xB2,0x38,}},
+ {0x20A9,4,{0x81,0x36,0xB2,0x39,}},
+ {0x20AA,4,{0x81,0x36,0xB3,0x30,}},
+ {0x20AB,4,{0x81,0x36,0xB3,0x31,}},
+ {0x20AC,2,{0xA2,0xE3,0x00,0x00,}},
+ {0x20AD,4,{0x81,0x36,0xB3,0x32,}},
+ {0x20AE,4,{0x81,0x36,0xB3,0x33,}},
+ {0x20AF,4,{0x81,0x36,0xB3,0x34,}},
+ {0x20B0,4,{0x81,0x36,0xB3,0x35,}},
+ {0x20B1,4,{0x81,0x36,0xB3,0x36,}},
+ {0x20B2,4,{0x81,0x36,0xB3,0x37,}},
+ {0x20B3,4,{0x81,0x36,0xB3,0x38,}},
+ {0x20B4,4,{0x81,0x36,0xB3,0x39,}},
+ {0x20B5,4,{0x81,0x36,0xB4,0x30,}},
+ {0x20B6,4,{0x81,0x36,0xB4,0x31,}},
+ {0x20B7,4,{0x81,0x36,0xB4,0x32,}},
+ {0x20B8,4,{0x81,0x36,0xB4,0x33,}},
+ {0x20B9,4,{0x81,0x36,0xB4,0x34,}},
+ {0x20BA,4,{0x81,0x36,0xB4,0x35,}},
+ {0x20BB,4,{0x81,0x36,0xB4,0x36,}},
+ {0x20BC,4,{0x81,0x36,0xB4,0x37,}},
+ {0x20BD,4,{0x81,0x36,0xB4,0x38,}},
+ {0x20BE,4,{0x81,0x36,0xB4,0x39,}},
+ {0x20BF,4,{0x81,0x36,0xB5,0x30,}},
+ {0x20C0,4,{0x81,0x36,0xB5,0x31,}},
+ {0x20C1,4,{0x81,0x36,0xB5,0x32,}},
+ {0x20C2,4,{0x81,0x36,0xB5,0x33,}},
+ {0x20C3,4,{0x81,0x36,0xB5,0x34,}},
+ {0x20C4,4,{0x81,0x36,0xB5,0x35,}},
+ {0x20C5,4,{0x81,0x36,0xB5,0x36,}},
+ {0x20C6,4,{0x81,0x36,0xB5,0x37,}},
+ {0x20C7,4,{0x81,0x36,0xB5,0x38,}},
+ {0x20C8,4,{0x81,0x36,0xB5,0x39,}},
+ {0x20C9,4,{0x81,0x36,0xB6,0x30,}},
+ {0x20CA,4,{0x81,0x36,0xB6,0x31,}},
+ {0x20CB,4,{0x81,0x36,0xB6,0x32,}},
+ {0x20CC,4,{0x81,0x36,0xB6,0x33,}},
+ {0x20CD,4,{0x81,0x36,0xB6,0x34,}},
+ {0x20CE,4,{0x81,0x36,0xB6,0x35,}},
+ {0x20CF,4,{0x81,0x36,0xB6,0x36,}},
+ {0x20D0,4,{0x81,0x36,0xB6,0x37,}},
+ {0x20D1,4,{0x81,0x36,0xB6,0x38,}},
+ {0x20D2,4,{0x81,0x36,0xB6,0x39,}},
+ {0x20D3,4,{0x81,0x36,0xB7,0x30,}},
+ {0x20D4,4,{0x81,0x36,0xB7,0x31,}},
+ {0x20D5,4,{0x81,0x36,0xB7,0x32,}},
+ {0x20D6,4,{0x81,0x36,0xB7,0x33,}},
+ {0x20D7,4,{0x81,0x36,0xB7,0x34,}},
+ {0x20D8,4,{0x81,0x36,0xB7,0x35,}},
+ {0x20D9,4,{0x81,0x36,0xB7,0x36,}},
+ {0x20DA,4,{0x81,0x36,0xB7,0x37,}},
+ {0x20DB,4,{0x81,0x36,0xB7,0x38,}},
+ {0x20DC,4,{0x81,0x36,0xB7,0x39,}},
+ {0x20DD,4,{0x81,0x36,0xB8,0x30,}},
+ {0x20DE,4,{0x81,0x36,0xB8,0x31,}},
+ {0x20DF,4,{0x81,0x36,0xB8,0x32,}},
+ {0x20E0,4,{0x81,0x36,0xB8,0x33,}},
+ {0x20E1,4,{0x81,0x36,0xB8,0x34,}},
+ {0x20E2,4,{0x81,0x36,0xB8,0x35,}},
+ {0x20E3,4,{0x81,0x36,0xB8,0x36,}},
+ {0x20E4,4,{0x81,0x36,0xB8,0x37,}},
+ {0x20E5,4,{0x81,0x36,0xB8,0x38,}},
+ {0x20E6,4,{0x81,0x36,0xB8,0x39,}},
+ {0x20E7,4,{0x81,0x36,0xB9,0x30,}},
+ {0x20E8,4,{0x81,0x36,0xB9,0x31,}},
+ {0x20E9,4,{0x81,0x36,0xB9,0x32,}},
+ {0x20EA,4,{0x81,0x36,0xB9,0x33,}},
+ {0x20EB,4,{0x81,0x36,0xB9,0x34,}},
+ {0x20EC,4,{0x81,0x36,0xB9,0x35,}},
+ {0x20ED,4,{0x81,0x36,0xB9,0x36,}},
+ {0x20EE,4,{0x81,0x36,0xB9,0x37,}},
+ {0x20EF,4,{0x81,0x36,0xB9,0x38,}},
+ {0x20F0,4,{0x81,0x36,0xB9,0x39,}},
+ {0x20F1,4,{0x81,0x36,0xBA,0x30,}},
+ {0x20F2,4,{0x81,0x36,0xBA,0x31,}},
+ {0x20F3,4,{0x81,0x36,0xBA,0x32,}},
+ {0x20F4,4,{0x81,0x36,0xBA,0x33,}},
+ {0x20F5,4,{0x81,0x36,0xBA,0x34,}},
+ {0x20F6,4,{0x81,0x36,0xBA,0x35,}},
+ {0x20F7,4,{0x81,0x36,0xBA,0x36,}},
+ {0x20F8,4,{0x81,0x36,0xBA,0x37,}},
+ {0x20F9,4,{0x81,0x36,0xBA,0x38,}},
+ {0x20FA,4,{0x81,0x36,0xBA,0x39,}},
+ {0x20FB,4,{0x81,0x36,0xBB,0x30,}},
+ {0x20FC,4,{0x81,0x36,0xBB,0x31,}},
+ {0x20FD,4,{0x81,0x36,0xBB,0x32,}},
+ {0x20FE,4,{0x81,0x36,0xBB,0x33,}},
+ {0x20FF,4,{0x81,0x36,0xBB,0x34,}},
+ {0x2100,4,{0x81,0x36,0xBB,0x35,}},
+ {0x2101,4,{0x81,0x36,0xBB,0x36,}},
+ {0x2102,4,{0x81,0x36,0xBB,0x37,}},
+ {0x2103,2,{0xA1,0xE6,0x00,0x00,}},
+ {0x2104,4,{0x81,0x36,0xBB,0x38,}},
+ {0x2105,2,{0xA8,0x47,0x00,0x00,}},
+ {0x2106,4,{0x81,0x36,0xBB,0x39,}},
+ {0x2107,4,{0x81,0x36,0xBC,0x30,}},
+ {0x2108,4,{0x81,0x36,0xBC,0x31,}},
+ {0x2109,2,{0xA8,0x48,0x00,0x00,}},
+ {0x210A,4,{0x81,0x36,0xBC,0x32,}},
+ {0x210B,4,{0x81,0x36,0xBC,0x33,}},
+ {0x210C,4,{0x81,0x36,0xBC,0x34,}},
+ {0x210D,4,{0x81,0x36,0xBC,0x35,}},
+ {0x210E,4,{0x81,0x36,0xBC,0x36,}},
+ {0x210F,4,{0x81,0x36,0xBC,0x37,}},
+ {0x2110,4,{0x81,0x36,0xBC,0x38,}},
+ {0x2111,4,{0x81,0x36,0xBC,0x39,}},
+ {0x2112,4,{0x81,0x36,0xBD,0x30,}},
+ {0x2113,4,{0x81,0x36,0xBD,0x31,}},
+ {0x2114,4,{0x81,0x36,0xBD,0x32,}},
+ {0x2115,4,{0x81,0x36,0xBD,0x33,}},
+ {0x2116,2,{0xA1,0xED,0x00,0x00,}},
+ {0x2117,4,{0x81,0x36,0xBD,0x34,}},
+ {0x2118,4,{0x81,0x36,0xBD,0x35,}},
+ {0x2119,4,{0x81,0x36,0xBD,0x36,}},
+ {0x211A,4,{0x81,0x36,0xBD,0x37,}},
+ {0x211B,4,{0x81,0x36,0xBD,0x38,}},
+ {0x211C,4,{0x81,0x36,0xBD,0x39,}},
+ {0x211D,4,{0x81,0x36,0xBE,0x30,}},
+ {0x211E,4,{0x81,0x36,0xBE,0x31,}},
+ {0x211F,4,{0x81,0x36,0xBE,0x32,}},
+ {0x2120,4,{0x81,0x36,0xBE,0x33,}},
+ {0x2121,2,{0xA9,0x59,0x00,0x00,}},
+ {0x2122,4,{0x81,0x36,0xBE,0x34,}},
+ {0x2123,4,{0x81,0x36,0xBE,0x35,}},
+ {0x2124,4,{0x81,0x36,0xBE,0x36,}},
+ {0x2125,4,{0x81,0x36,0xBE,0x37,}},
+ {0x2126,4,{0x81,0x36,0xBE,0x38,}},
+ {0x2127,4,{0x81,0x36,0xBE,0x39,}},
+ {0x2128,4,{0x81,0x36,0xBF,0x30,}},
+ {0x2129,4,{0x81,0x36,0xBF,0x31,}},
+ {0x212A,4,{0x81,0x36,0xBF,0x32,}},
+ {0x212B,4,{0x81,0x36,0xBF,0x33,}},
+ {0x212C,4,{0x81,0x36,0xBF,0x34,}},
+ {0x212D,4,{0x81,0x36,0xBF,0x35,}},
+ {0x212E,4,{0x81,0x36,0xBF,0x36,}},
+ {0x212F,4,{0x81,0x36,0xBF,0x37,}},
+ {0x2130,4,{0x81,0x36,0xBF,0x38,}},
+ {0x2131,4,{0x81,0x36,0xBF,0x39,}},
+ {0x2132,4,{0x81,0x36,0xC0,0x30,}},
+ {0x2133,4,{0x81,0x36,0xC0,0x31,}},
+ {0x2134,4,{0x81,0x36,0xC0,0x32,}},
+ {0x2135,4,{0x81,0x36,0xC0,0x33,}},
+ {0x2136,4,{0x81,0x36,0xC0,0x34,}},
+ {0x2137,4,{0x81,0x36,0xC0,0x35,}},
+ {0x2138,4,{0x81,0x36,0xC0,0x36,}},
+ {0x2139,4,{0x81,0x36,0xC0,0x37,}},
+ {0x213A,4,{0x81,0x36,0xC0,0x38,}},
+ {0x213B,4,{0x81,0x36,0xC0,0x39,}},
+ {0x213C,4,{0x81,0x36,0xC1,0x30,}},
+ {0x213D,4,{0x81,0x36,0xC1,0x31,}},
+ {0x213E,4,{0x81,0x36,0xC1,0x32,}},
+ {0x213F,4,{0x81,0x36,0xC1,0x33,}},
+ {0x2140,4,{0x81,0x36,0xC1,0x34,}},
+ {0x2141,4,{0x81,0x36,0xC1,0x35,}},
+ {0x2142,4,{0x81,0x36,0xC1,0x36,}},
+ {0x2143,4,{0x81,0x36,0xC1,0x37,}},
+ {0x2144,4,{0x81,0x36,0xC1,0x38,}},
+ {0x2145,4,{0x81,0x36,0xC1,0x39,}},
+ {0x2146,4,{0x81,0x36,0xC2,0x30,}},
+ {0x2147,4,{0x81,0x36,0xC2,0x31,}},
+ {0x2148,4,{0x81,0x36,0xC2,0x32,}},
+ {0x2149,4,{0x81,0x36,0xC2,0x33,}},
+ {0x214A,4,{0x81,0x36,0xC2,0x34,}},
+ {0x214B,4,{0x81,0x36,0xC2,0x35,}},
+ {0x214C,4,{0x81,0x36,0xC2,0x36,}},
+ {0x214D,4,{0x81,0x36,0xC2,0x37,}},
+ {0x214E,4,{0x81,0x36,0xC2,0x38,}},
+ {0x214F,4,{0x81,0x36,0xC2,0x39,}},
+ {0x2150,4,{0x81,0x36,0xC3,0x30,}},
+ {0x2151,4,{0x81,0x36,0xC3,0x31,}},
+ {0x2152,4,{0x81,0x36,0xC3,0x32,}},
+ {0x2153,4,{0x81,0x36,0xC3,0x33,}},
+ {0x2154,4,{0x81,0x36,0xC3,0x34,}},
+ {0x2155,4,{0x81,0x36,0xC3,0x35,}},
+ {0x2156,4,{0x81,0x36,0xC3,0x36,}},
+ {0x2157,4,{0x81,0x36,0xC3,0x37,}},
+ {0x2158,4,{0x81,0x36,0xC3,0x38,}},
+ {0x2159,4,{0x81,0x36,0xC3,0x39,}},
+ {0x215A,4,{0x81,0x36,0xC4,0x30,}},
+ {0x215B,4,{0x81,0x36,0xC4,0x31,}},
+ {0x215C,4,{0x81,0x36,0xC4,0x32,}},
+ {0x215D,4,{0x81,0x36,0xC4,0x33,}},
+ {0x215E,4,{0x81,0x36,0xC4,0x34,}},
+ {0x215F,4,{0x81,0x36,0xC4,0x35,}},
+ {0x2160,2,{0xA2,0xF1,0x00,0x00,}},
+ {0x2161,2,{0xA2,0xF2,0x00,0x00,}},
+ {0x2162,2,{0xA2,0xF3,0x00,0x00,}},
+ {0x2163,2,{0xA2,0xF4,0x00,0x00,}},
+ {0x2164,2,{0xA2,0xF5,0x00,0x00,}},
+ {0x2165,2,{0xA2,0xF6,0x00,0x00,}},
+ {0x2166,2,{0xA2,0xF7,0x00,0x00,}},
+ {0x2167,2,{0xA2,0xF8,0x00,0x00,}},
+ {0x2168,2,{0xA2,0xF9,0x00,0x00,}},
+ {0x2169,2,{0xA2,0xFA,0x00,0x00,}},
+ {0x216A,2,{0xA2,0xFB,0x00,0x00,}},
+ {0x216B,2,{0xA2,0xFC,0x00,0x00,}},
+ {0x216C,4,{0x81,0x36,0xC4,0x36,}},
+ {0x216D,4,{0x81,0x36,0xC4,0x37,}},
+ {0x216E,4,{0x81,0x36,0xC4,0x38,}},
+ {0x216F,4,{0x81,0x36,0xC4,0x39,}},
+ {0x2170,2,{0xA2,0xA1,0x00,0x00,}},
+ {0x2171,2,{0xA2,0xA2,0x00,0x00,}},
+ {0x2172,2,{0xA2,0xA3,0x00,0x00,}},
+ {0x2173,2,{0xA2,0xA4,0x00,0x00,}},
+ {0x2174,2,{0xA2,0xA5,0x00,0x00,}},
+ {0x2175,2,{0xA2,0xA6,0x00,0x00,}},
+ {0x2176,2,{0xA2,0xA7,0x00,0x00,}},
+ {0x2177,2,{0xA2,0xA8,0x00,0x00,}},
+ {0x2178,2,{0xA2,0xA9,0x00,0x00,}},
+ {0x2179,2,{0xA2,0xAA,0x00,0x00,}},
+ {0x217A,4,{0x81,0x36,0xC5,0x30,}},
+ {0x217B,4,{0x81,0x36,0xC5,0x31,}},
+ {0x217C,4,{0x81,0x36,0xC5,0x32,}},
+ {0x217D,4,{0x81,0x36,0xC5,0x33,}},
+ {0x217E,4,{0x81,0x36,0xC5,0x34,}},
+ {0x217F,4,{0x81,0x36,0xC5,0x35,}},
+ {0x2180,4,{0x81,0x36,0xC5,0x36,}},
+ {0x2181,4,{0x81,0x36,0xC5,0x37,}},
+ {0x2182,4,{0x81,0x36,0xC5,0x38,}},
+ {0x2183,4,{0x81,0x36,0xC5,0x39,}},
+ {0x2184,4,{0x81,0x36,0xC6,0x30,}},
+ {0x2185,4,{0x81,0x36,0xC6,0x31,}},
+ {0x2186,4,{0x81,0x36,0xC6,0x32,}},
+ {0x2187,4,{0x81,0x36,0xC6,0x33,}},
+ {0x2188,4,{0x81,0x36,0xC6,0x34,}},
+ {0x2189,4,{0x81,0x36,0xC6,0x35,}},
+ {0x218A,4,{0x81,0x36,0xC6,0x36,}},
+ {0x218B,4,{0x81,0x36,0xC6,0x37,}},
+ {0x218C,4,{0x81,0x36,0xC6,0x38,}},
+ {0x218D,4,{0x81,0x36,0xC6,0x39,}},
+ {0x218E,4,{0x81,0x36,0xC7,0x30,}},
+ {0x218F,4,{0x81,0x36,0xC7,0x31,}},
+ {0x2190,2,{0xA1,0xFB,0x00,0x00,}},
+ {0x2191,2,{0xA1,0xFC,0x00,0x00,}},
+ {0x2192,2,{0xA1,0xFA,0x00,0x00,}},
+ {0x2193,2,{0xA1,0xFD,0x00,0x00,}},
+ {0x2194,4,{0x81,0x36,0xC7,0x32,}},
+ {0x2195,4,{0x81,0x36,0xC7,0x33,}},
+ {0x2196,2,{0xA8,0x49,0x00,0x00,}},
+ {0x2197,2,{0xA8,0x4A,0x00,0x00,}},
+ {0x2198,2,{0xA8,0x4B,0x00,0x00,}},
+ {0x2199,2,{0xA8,0x4C,0x00,0x00,}},
+ {0x219A,4,{0x81,0x36,0xC7,0x34,}},
+ {0x219B,4,{0x81,0x36,0xC7,0x35,}},
+ {0x219C,4,{0x81,0x36,0xC7,0x36,}},
+ {0x219D,4,{0x81,0x36,0xC7,0x37,}},
+ {0x219E,4,{0x81,0x36,0xC7,0x38,}},
+ {0x219F,4,{0x81,0x36,0xC7,0x39,}},
+ {0x21A0,4,{0x81,0x36,0xC8,0x30,}},
+ {0x21A1,4,{0x81,0x36,0xC8,0x31,}},
+ {0x21A2,4,{0x81,0x36,0xC8,0x32,}},
+ {0x21A3,4,{0x81,0x36,0xC8,0x33,}},
+ {0x21A4,4,{0x81,0x36,0xC8,0x34,}},
+ {0x21A5,4,{0x81,0x36,0xC8,0x35,}},
+ {0x21A6,4,{0x81,0x36,0xC8,0x36,}},
+ {0x21A7,4,{0x81,0x36,0xC8,0x37,}},
+ {0x21A8,4,{0x81,0x36,0xC8,0x38,}},
+ {0x21A9,4,{0x81,0x36,0xC8,0x39,}},
+ {0x21AA,4,{0x81,0x36,0xC9,0x30,}},
+ {0x21AB,4,{0x81,0x36,0xC9,0x31,}},
+ {0x21AC,4,{0x81,0x36,0xC9,0x32,}},
+ {0x21AD,4,{0x81,0x36,0xC9,0x33,}},
+ {0x21AE,4,{0x81,0x36,0xC9,0x34,}},
+ {0x21AF,4,{0x81,0x36,0xC9,0x35,}},
+ {0x21B0,4,{0x81,0x36,0xC9,0x36,}},
+ {0x21B1,4,{0x81,0x36,0xC9,0x37,}},
+ {0x21B2,4,{0x81,0x36,0xC9,0x38,}},
+ {0x21B3,4,{0x81,0x36,0xC9,0x39,}},
+ {0x21B4,4,{0x81,0x36,0xCA,0x30,}},
+ {0x21B5,4,{0x81,0x36,0xCA,0x31,}},
+ {0x21B6,4,{0x81,0x36,0xCA,0x32,}},
+ {0x21B7,4,{0x81,0x36,0xCA,0x33,}},
+ {0x21B8,4,{0x81,0x36,0xCA,0x34,}},
+ {0x21B9,4,{0x81,0x36,0xCA,0x35,}},
+ {0x21BA,4,{0x81,0x36,0xCA,0x36,}},
+ {0x21BB,4,{0x81,0x36,0xCA,0x37,}},
+ {0x21BC,4,{0x81,0x36,0xCA,0x38,}},
+ {0x21BD,4,{0x81,0x36,0xCA,0x39,}},
+ {0x21BE,4,{0x81,0x36,0xCB,0x30,}},
+ {0x21BF,4,{0x81,0x36,0xCB,0x31,}},
+ {0x21C0,4,{0x81,0x36,0xCB,0x32,}},
+ {0x21C1,4,{0x81,0x36,0xCB,0x33,}},
+ {0x21C2,4,{0x81,0x36,0xCB,0x34,}},
+ {0x21C3,4,{0x81,0x36,0xCB,0x35,}},
+ {0x21C4,4,{0x81,0x36,0xCB,0x36,}},
+ {0x21C5,4,{0x81,0x36,0xCB,0x37,}},
+ {0x21C6,4,{0x81,0x36,0xCB,0x38,}},
+ {0x21C7,4,{0x81,0x36,0xCB,0x39,}},
+ {0x21C8,4,{0x81,0x36,0xCC,0x30,}},
+ {0x21C9,4,{0x81,0x36,0xCC,0x31,}},
+ {0x21CA,4,{0x81,0x36,0xCC,0x32,}},
+ {0x21CB,4,{0x81,0x36,0xCC,0x33,}},
+ {0x21CC,4,{0x81,0x36,0xCC,0x34,}},
+ {0x21CD,4,{0x81,0x36,0xCC,0x35,}},
+ {0x21CE,4,{0x81,0x36,0xCC,0x36,}},
+ {0x21CF,4,{0x81,0x36,0xCC,0x37,}},
+ {0x21D0,4,{0x81,0x36,0xCC,0x38,}},
+ {0x21D1,4,{0x81,0x36,0xCC,0x39,}},
+ {0x21D2,4,{0x81,0x36,0xCD,0x30,}},
+ {0x21D3,4,{0x81,0x36,0xCD,0x31,}},
+ {0x21D4,4,{0x81,0x36,0xCD,0x32,}},
+ {0x21D5,4,{0x81,0x36,0xCD,0x33,}},
+ {0x21D6,4,{0x81,0x36,0xCD,0x34,}},
+ {0x21D7,4,{0x81,0x36,0xCD,0x35,}},
+ {0x21D8,4,{0x81,0x36,0xCD,0x36,}},
+ {0x21D9,4,{0x81,0x36,0xCD,0x37,}},
+ {0x21DA,4,{0x81,0x36,0xCD,0x38,}},
+ {0x21DB,4,{0x81,0x36,0xCD,0x39,}},
+ {0x21DC,4,{0x81,0x36,0xCE,0x30,}},
+ {0x21DD,4,{0x81,0x36,0xCE,0x31,}},
+ {0x21DE,4,{0x81,0x36,0xCE,0x32,}},
+ {0x21DF,4,{0x81,0x36,0xCE,0x33,}},
+ {0x21E0,4,{0x81,0x36,0xCE,0x34,}},
+ {0x21E1,4,{0x81,0x36,0xCE,0x35,}},
+ {0x21E2,4,{0x81,0x36,0xCE,0x36,}},
+ {0x21E3,4,{0x81,0x36,0xCE,0x37,}},
+ {0x21E4,4,{0x81,0x36,0xCE,0x38,}},
+ {0x21E5,4,{0x81,0x36,0xCE,0x39,}},
+ {0x21E6,4,{0x81,0x36,0xCF,0x30,}},
+ {0x21E7,4,{0x81,0x36,0xCF,0x31,}},
+ {0x21E8,4,{0x81,0x36,0xCF,0x32,}},
+ {0x21E9,4,{0x81,0x36,0xCF,0x33,}},
+ {0x21EA,4,{0x81,0x36,0xCF,0x34,}},
+ {0x21EB,4,{0x81,0x36,0xCF,0x35,}},
+ {0x21EC,4,{0x81,0x36,0xCF,0x36,}},
+ {0x21ED,4,{0x81,0x36,0xCF,0x37,}},
+ {0x21EE,4,{0x81,0x36,0xCF,0x38,}},
+ {0x21EF,4,{0x81,0x36,0xCF,0x39,}},
+ {0x21F0,4,{0x81,0x36,0xD0,0x30,}},
+ {0x21F1,4,{0x81,0x36,0xD0,0x31,}},
+ {0x21F2,4,{0x81,0x36,0xD0,0x32,}},
+ {0x21F3,4,{0x81,0x36,0xD0,0x33,}},
+ {0x21F4,4,{0x81,0x36,0xD0,0x34,}},
+ {0x21F5,4,{0x81,0x36,0xD0,0x35,}},
+ {0x21F6,4,{0x81,0x36,0xD0,0x36,}},
+ {0x21F7,4,{0x81,0x36,0xD0,0x37,}},
+ {0x21F8,4,{0x81,0x36,0xD0,0x38,}},
+ {0x21F9,4,{0x81,0x36,0xD0,0x39,}},
+ {0x21FA,4,{0x81,0x36,0xD1,0x30,}},
+ {0x21FB,4,{0x81,0x36,0xD1,0x31,}},
+ {0x21FC,4,{0x81,0x36,0xD1,0x32,}},
+ {0x21FD,4,{0x81,0x36,0xD1,0x33,}},
+ {0x21FE,4,{0x81,0x36,0xD1,0x34,}},
+ {0x21FF,4,{0x81,0x36,0xD1,0x35,}},
+ {0x2200,4,{0x81,0x36,0xD1,0x36,}},
+ {0x2201,4,{0x81,0x36,0xD1,0x37,}},
+ {0x2202,4,{0x81,0x36,0xD1,0x38,}},
+ {0x2203,4,{0x81,0x36,0xD1,0x39,}},
+ {0x2204,4,{0x81,0x36,0xD2,0x30,}},
+ {0x2205,4,{0x81,0x36,0xD2,0x31,}},
+ {0x2206,4,{0x81,0x36,0xD2,0x32,}},
+ {0x2207,4,{0x81,0x36,0xD2,0x33,}},
+ {0x2208,2,{0xA1,0xCA,0x00,0x00,}},
+ {0x2209,4,{0x81,0x36,0xD2,0x34,}},
+ {0x220A,4,{0x81,0x36,0xD2,0x35,}},
+ {0x220B,4,{0x81,0x36,0xD2,0x36,}},
+ {0x220C,4,{0x81,0x36,0xD2,0x37,}},
+ {0x220D,4,{0x81,0x36,0xD2,0x38,}},
+ {0x220E,4,{0x81,0x36,0xD2,0x39,}},
+ {0x220F,2,{0xA1,0xC7,0x00,0x00,}},
+ {0x2210,4,{0x81,0x36,0xD3,0x30,}},
+ {0x2211,2,{0xA1,0xC6,0x00,0x00,}},
+ {0x2212,4,{0x81,0x36,0xD3,0x31,}},
+ {0x2213,4,{0x81,0x36,0xD3,0x32,}},
+ {0x2214,4,{0x81,0x36,0xD3,0x33,}},
+ {0x2215,2,{0xA8,0x4D,0x00,0x00,}},
+ {0x2216,4,{0x81,0x36,0xD3,0x34,}},
+ {0x2217,4,{0x81,0x36,0xD3,0x35,}},
+ {0x2218,4,{0x81,0x36,0xD3,0x36,}},
+ {0x2219,4,{0x81,0x36,0xD3,0x37,}},
+ {0x221A,2,{0xA1,0xCC,0x00,0x00,}},
+ {0x221B,4,{0x81,0x36,0xD3,0x38,}},
+ {0x221C,4,{0x81,0x36,0xD3,0x39,}},
+ {0x221D,2,{0xA1,0xD8,0x00,0x00,}},
+ {0x221E,2,{0xA1,0xDE,0x00,0x00,}},
+ {0x221F,2,{0xA8,0x4E,0x00,0x00,}},
+ {0x2220,2,{0xA1,0xCF,0x00,0x00,}},
+ {0x2221,4,{0x81,0x36,0xD4,0x30,}},
+ {0x2222,4,{0x81,0x36,0xD4,0x31,}},
+ {0x2223,2,{0xA8,0x4F,0x00,0x00,}},
+ {0x2224,4,{0x81,0x36,0xD4,0x32,}},
+ {0x2225,2,{0xA1,0xCE,0x00,0x00,}},
+ {0x2226,4,{0x81,0x36,0xD4,0x33,}},
+ {0x2227,2,{0xA1,0xC4,0x00,0x00,}},
+ {0x2228,2,{0xA1,0xC5,0x00,0x00,}},
+ {0x2229,2,{0xA1,0xC9,0x00,0x00,}},
+ {0x222A,2,{0xA1,0xC8,0x00,0x00,}},
+ {0x222B,2,{0xA1,0xD2,0x00,0x00,}},
+ {0x222C,4,{0x81,0x36,0xD4,0x34,}},
+ {0x222D,4,{0x81,0x36,0xD4,0x35,}},
+ {0x222E,2,{0xA1,0xD3,0x00,0x00,}},
+ {0x222F,4,{0x81,0x36,0xD4,0x36,}},
+ {0x2230,4,{0x81,0x36,0xD4,0x37,}},
+ {0x2231,4,{0x81,0x36,0xD4,0x38,}},
+ {0x2232,4,{0x81,0x36,0xD4,0x39,}},
+ {0x2233,4,{0x81,0x36,0xD5,0x30,}},
+ {0x2234,2,{0xA1,0xE0,0x00,0x00,}},
+ {0x2235,2,{0xA1,0xDF,0x00,0x00,}},
+ {0x2236,2,{0xA1,0xC3,0x00,0x00,}},
+ {0x2237,2,{0xA1,0xCB,0x00,0x00,}},
+ {0x2238,4,{0x81,0x36,0xD5,0x31,}},
+ {0x2239,4,{0x81,0x36,0xD5,0x32,}},
+ {0x223A,4,{0x81,0x36,0xD5,0x33,}},
+ {0x223B,4,{0x81,0x36,0xD5,0x34,}},
+ {0x223C,4,{0x81,0x36,0xD5,0x35,}},
+ {0x223D,2,{0xA1,0xD7,0x00,0x00,}},
+ {0x223E,4,{0x81,0x36,0xD5,0x36,}},
+ {0x223F,4,{0x81,0x36,0xD5,0x37,}},
+ {0x2240,4,{0x81,0x36,0xD5,0x38,}},
+ {0x2241,4,{0x81,0x36,0xD5,0x39,}},
+ {0x2242,4,{0x81,0x36,0xD6,0x30,}},
+ {0x2243,4,{0x81,0x36,0xD6,0x31,}},
+ {0x2244,4,{0x81,0x36,0xD6,0x32,}},
+ {0x2245,4,{0x81,0x36,0xD6,0x33,}},
+ {0x2246,4,{0x81,0x36,0xD6,0x34,}},
+ {0x2247,4,{0x81,0x36,0xD6,0x35,}},
+ {0x2248,2,{0xA1,0xD6,0x00,0x00,}},
+ {0x2249,4,{0x81,0x36,0xD6,0x36,}},
+ {0x224A,4,{0x81,0x36,0xD6,0x37,}},
+ {0x224B,4,{0x81,0x36,0xD6,0x38,}},
+ {0x224C,2,{0xA1,0xD5,0x00,0x00,}},
+ {0x224D,4,{0x81,0x36,0xD6,0x39,}},
+ {0x224E,4,{0x81,0x36,0xD7,0x30,}},
+ {0x224F,4,{0x81,0x36,0xD7,0x31,}},
+ {0x2250,4,{0x81,0x36,0xD7,0x32,}},
+ {0x2251,4,{0x81,0x36,0xD7,0x33,}},
+ {0x2252,2,{0xA8,0x50,0x00,0x00,}},
+ {0x2253,4,{0x81,0x36,0xD7,0x34,}},
+ {0x2254,4,{0x81,0x36,0xD7,0x35,}},
+ {0x2255,4,{0x81,0x36,0xD7,0x36,}},
+ {0x2256,4,{0x81,0x36,0xD7,0x37,}},
+ {0x2257,4,{0x81,0x36,0xD7,0x38,}},
+ {0x2258,4,{0x81,0x36,0xD7,0x39,}},
+ {0x2259,4,{0x81,0x36,0xD8,0x30,}},
+ {0x225A,4,{0x81,0x36,0xD8,0x31,}},
+ {0x225B,4,{0x81,0x36,0xD8,0x32,}},
+ {0x225C,4,{0x81,0x36,0xD8,0x33,}},
+ {0x225D,4,{0x81,0x36,0xD8,0x34,}},
+ {0x225E,4,{0x81,0x36,0xD8,0x35,}},
+ {0x225F,4,{0x81,0x36,0xD8,0x36,}},
+ {0x2260,2,{0xA1,0xD9,0x00,0x00,}},
+ {0x2261,2,{0xA1,0xD4,0x00,0x00,}},
+ {0x2262,4,{0x81,0x36,0xD8,0x37,}},
+ {0x2263,4,{0x81,0x36,0xD8,0x38,}},
+ {0x2264,2,{0xA1,0xDC,0x00,0x00,}},
+ {0x2265,2,{0xA1,0xDD,0x00,0x00,}},
+ {0x2266,2,{0xA8,0x51,0x00,0x00,}},
+ {0x2267,2,{0xA8,0x52,0x00,0x00,}},
+ {0x2268,4,{0x81,0x36,0xD8,0x39,}},
+ {0x2269,4,{0x81,0x36,0xD9,0x30,}},
+ {0x226A,4,{0x81,0x36,0xD9,0x31,}},
+ {0x226B,4,{0x81,0x36,0xD9,0x32,}},
+ {0x226C,4,{0x81,0x36,0xD9,0x33,}},
+ {0x226D,4,{0x81,0x36,0xD9,0x34,}},
+ {0x226E,2,{0xA1,0xDA,0x00,0x00,}},
+ {0x226F,2,{0xA1,0xDB,0x00,0x00,}},
+ {0x2270,4,{0x81,0x36,0xD9,0x35,}},
+ {0x2271,4,{0x81,0x36,0xD9,0x36,}},
+ {0x2272,4,{0x81,0x36,0xD9,0x37,}},
+ {0x2273,4,{0x81,0x36,0xD9,0x38,}},
+ {0x2274,4,{0x81,0x36,0xD9,0x39,}},
+ {0x2275,4,{0x81,0x36,0xDA,0x30,}},
+ {0x2276,4,{0x81,0x36,0xDA,0x31,}},
+ {0x2277,4,{0x81,0x36,0xDA,0x32,}},
+ {0x2278,4,{0x81,0x36,0xDA,0x33,}},
+ {0x2279,4,{0x81,0x36,0xDA,0x34,}},
+ {0x227A,4,{0x81,0x36,0xDA,0x35,}},
+ {0x227B,4,{0x81,0x36,0xDA,0x36,}},
+ {0x227C,4,{0x81,0x36,0xDA,0x37,}},
+ {0x227D,4,{0x81,0x36,0xDA,0x38,}},
+ {0x227E,4,{0x81,0x36,0xDA,0x39,}},
+ {0x227F,4,{0x81,0x36,0xDB,0x30,}},
+ {0x2280,4,{0x81,0x36,0xDB,0x31,}},
+ {0x2281,4,{0x81,0x36,0xDB,0x32,}},
+ {0x2282,4,{0x81,0x36,0xDB,0x33,}},
+ {0x2283,4,{0x81,0x36,0xDB,0x34,}},
+ {0x2284,4,{0x81,0x36,0xDB,0x35,}},
+ {0x2285,4,{0x81,0x36,0xDB,0x36,}},
+ {0x2286,4,{0x81,0x36,0xDB,0x37,}},
+ {0x2287,4,{0x81,0x36,0xDB,0x38,}},
+ {0x2288,4,{0x81,0x36,0xDB,0x39,}},
+ {0x2289,4,{0x81,0x36,0xDC,0x30,}},
+ {0x228A,4,{0x81,0x36,0xDC,0x31,}},
+ {0x228B,4,{0x81,0x36,0xDC,0x32,}},
+ {0x228C,4,{0x81,0x36,0xDC,0x33,}},
+ {0x228D,4,{0x81,0x36,0xDC,0x34,}},
+ {0x228E,4,{0x81,0x36,0xDC,0x35,}},
+ {0x228F,4,{0x81,0x36,0xDC,0x36,}},
+ {0x2290,4,{0x81,0x36,0xDC,0x37,}},
+ {0x2291,4,{0x81,0x36,0xDC,0x38,}},
+ {0x2292,4,{0x81,0x36,0xDC,0x39,}},
+ {0x2293,4,{0x81,0x36,0xDD,0x30,}},
+ {0x2294,4,{0x81,0x36,0xDD,0x31,}},
+ {0x2295,2,{0xA8,0x92,0x00,0x00,}},
+ {0x2296,4,{0x81,0x36,0xDD,0x32,}},
+ {0x2297,4,{0x81,0x36,0xDD,0x33,}},
+ {0x2298,4,{0x81,0x36,0xDD,0x34,}},
+ {0x2299,2,{0xA1,0xD1,0x00,0x00,}},
+ {0x229A,4,{0x81,0x36,0xDD,0x35,}},
+ {0x229B,4,{0x81,0x36,0xDD,0x36,}},
+ {0x229C,4,{0x81,0x36,0xDD,0x37,}},
+ {0x229D,4,{0x81,0x36,0xDD,0x38,}},
+ {0x229E,4,{0x81,0x36,0xDD,0x39,}},
+ {0x229F,4,{0x81,0x36,0xDE,0x30,}},
+ {0x22A0,4,{0x81,0x36,0xDE,0x31,}},
+ {0x22A1,4,{0x81,0x36,0xDE,0x32,}},
+ {0x22A2,4,{0x81,0x36,0xDE,0x33,}},
+ {0x22A3,4,{0x81,0x36,0xDE,0x34,}},
+ {0x22A4,4,{0x81,0x36,0xDE,0x35,}},
+ {0x22A5,2,{0xA1,0xCD,0x00,0x00,}},
+ {0x22A6,4,{0x81,0x36,0xDE,0x36,}},
+ {0x22A7,4,{0x81,0x36,0xDE,0x37,}},
+ {0x22A8,4,{0x81,0x36,0xDE,0x38,}},
+ {0x22A9,4,{0x81,0x36,0xDE,0x39,}},
+ {0x22AA,4,{0x81,0x36,0xDF,0x30,}},
+ {0x22AB,4,{0x81,0x36,0xDF,0x31,}},
+ {0x22AC,4,{0x81,0x36,0xDF,0x32,}},
+ {0x22AD,4,{0x81,0x36,0xDF,0x33,}},
+ {0x22AE,4,{0x81,0x36,0xDF,0x34,}},
+ {0x22AF,4,{0x81,0x36,0xDF,0x35,}},
+ {0x22B0,4,{0x81,0x36,0xDF,0x36,}},
+ {0x22B1,4,{0x81,0x36,0xDF,0x37,}},
+ {0x22B2,4,{0x81,0x36,0xDF,0x38,}},
+ {0x22B3,4,{0x81,0x36,0xDF,0x39,}},
+ {0x22B4,4,{0x81,0x36,0xE0,0x30,}},
+ {0x22B5,4,{0x81,0x36,0xE0,0x31,}},
+ {0x22B6,4,{0x81,0x36,0xE0,0x32,}},
+ {0x22B7,4,{0x81,0x36,0xE0,0x33,}},
+ {0x22B8,4,{0x81,0x36,0xE0,0x34,}},
+ {0x22B9,4,{0x81,0x36,0xE0,0x35,}},
+ {0x22BA,4,{0x81,0x36,0xE0,0x36,}},
+ {0x22BB,4,{0x81,0x36,0xE0,0x37,}},
+ {0x22BC,4,{0x81,0x36,0xE0,0x38,}},
+ {0x22BD,4,{0x81,0x36,0xE0,0x39,}},
+ {0x22BE,4,{0x81,0x36,0xE1,0x30,}},
+ {0x22BF,2,{0xA8,0x53,0x00,0x00,}},
+ {0x22C0,4,{0x81,0x36,0xE1,0x31,}},
+ {0x22C1,4,{0x81,0x36,0xE1,0x32,}},
+ {0x22C2,4,{0x81,0x36,0xE1,0x33,}},
+ {0x22C3,4,{0x81,0x36,0xE1,0x34,}},
+ {0x22C4,4,{0x81,0x36,0xE1,0x35,}},
+ {0x22C5,4,{0x81,0x36,0xE1,0x36,}},
+ {0x22C6,4,{0x81,0x36,0xE1,0x37,}},
+ {0x22C7,4,{0x81,0x36,0xE1,0x38,}},
+ {0x22C8,4,{0x81,0x36,0xE1,0x39,}},
+ {0x22C9,4,{0x81,0x36,0xE2,0x30,}},
+ {0x22CA,4,{0x81,0x36,0xE2,0x31,}},
+ {0x22CB,4,{0x81,0x36,0xE2,0x32,}},
+ {0x22CC,4,{0x81,0x36,0xE2,0x33,}},
+ {0x22CD,4,{0x81,0x36,0xE2,0x34,}},
+ {0x22CE,4,{0x81,0x36,0xE2,0x35,}},
+ {0x22CF,4,{0x81,0x36,0xE2,0x36,}},
+ {0x22D0,4,{0x81,0x36,0xE2,0x37,}},
+ {0x22D1,4,{0x81,0x36,0xE2,0x38,}},
+ {0x22D2,4,{0x81,0x36,0xE2,0x39,}},
+ {0x22D3,4,{0x81,0x36,0xE3,0x30,}},
+ {0x22D4,4,{0x81,0x36,0xE3,0x31,}},
+ {0x22D5,4,{0x81,0x36,0xE3,0x32,}},
+ {0x22D6,4,{0x81,0x36,0xE3,0x33,}},
+ {0x22D7,4,{0x81,0x36,0xE3,0x34,}},
+ {0x22D8,4,{0x81,0x36,0xE3,0x35,}},
+ {0x22D9,4,{0x81,0x36,0xE3,0x36,}},
+ {0x22DA,4,{0x81,0x36,0xE3,0x37,}},
+ {0x22DB,4,{0x81,0x36,0xE3,0x38,}},
+ {0x22DC,4,{0x81,0x36,0xE3,0x39,}},
+ {0x22DD,4,{0x81,0x36,0xE4,0x30,}},
+ {0x22DE,4,{0x81,0x36,0xE4,0x31,}},
+ {0x22DF,4,{0x81,0x36,0xE4,0x32,}},
+ {0x22E0,4,{0x81,0x36,0xE4,0x33,}},
+ {0x22E1,4,{0x81,0x36,0xE4,0x34,}},
+ {0x22E2,4,{0x81,0x36,0xE4,0x35,}},
+ {0x22E3,4,{0x81,0x36,0xE4,0x36,}},
+ {0x22E4,4,{0x81,0x36,0xE4,0x37,}},
+ {0x22E5,4,{0x81,0x36,0xE4,0x38,}},
+ {0x22E6,4,{0x81,0x36,0xE4,0x39,}},
+ {0x22E7,4,{0x81,0x36,0xE5,0x30,}},
+ {0x22E8,4,{0x81,0x36,0xE5,0x31,}},
+ {0x22E9,4,{0x81,0x36,0xE5,0x32,}},
+ {0x22EA,4,{0x81,0x36,0xE5,0x33,}},
+ {0x22EB,4,{0x81,0x36,0xE5,0x34,}},
+ {0x22EC,4,{0x81,0x36,0xE5,0x35,}},
+ {0x22ED,4,{0x81,0x36,0xE5,0x36,}},
+ {0x22EE,4,{0x81,0x36,0xE5,0x37,}},
+ {0x22EF,4,{0x81,0x36,0xE5,0x38,}},
+ {0x22F0,4,{0x81,0x36,0xE5,0x39,}},
+ {0x22F1,4,{0x81,0x36,0xE6,0x30,}},
+ {0x22F2,4,{0x81,0x36,0xE6,0x31,}},
+ {0x22F3,4,{0x81,0x36,0xE6,0x32,}},
+ {0x22F4,4,{0x81,0x36,0xE6,0x33,}},
+ {0x22F5,4,{0x81,0x36,0xE6,0x34,}},
+ {0x22F6,4,{0x81,0x36,0xE6,0x35,}},
+ {0x22F7,4,{0x81,0x36,0xE6,0x36,}},
+ {0x22F8,4,{0x81,0x36,0xE6,0x37,}},
+ {0x22F9,4,{0x81,0x36,0xE6,0x38,}},
+ {0x22FA,4,{0x81,0x36,0xE6,0x39,}},
+ {0x22FB,4,{0x81,0x36,0xE7,0x30,}},
+ {0x22FC,4,{0x81,0x36,0xE7,0x31,}},
+ {0x22FD,4,{0x81,0x36,0xE7,0x32,}},
+ {0x22FE,4,{0x81,0x36,0xE7,0x33,}},
+ {0x22FF,4,{0x81,0x36,0xE7,0x34,}},
+ {0x2300,4,{0x81,0x36,0xE7,0x35,}},
+ {0x2301,4,{0x81,0x36,0xE7,0x36,}},
+ {0x2302,4,{0x81,0x36,0xE7,0x37,}},
+ {0x2303,4,{0x81,0x36,0xE7,0x38,}},
+ {0x2304,4,{0x81,0x36,0xE7,0x39,}},
+ {0x2305,4,{0x81,0x36,0xE8,0x30,}},
+ {0x2306,4,{0x81,0x36,0xE8,0x31,}},
+ {0x2307,4,{0x81,0x36,0xE8,0x32,}},
+ {0x2308,4,{0x81,0x36,0xE8,0x33,}},
+ {0x2309,4,{0x81,0x36,0xE8,0x34,}},
+ {0x230A,4,{0x81,0x36,0xE8,0x35,}},
+ {0x230B,4,{0x81,0x36,0xE8,0x36,}},
+ {0x230C,4,{0x81,0x36,0xE8,0x37,}},
+ {0x230D,4,{0x81,0x36,0xE8,0x38,}},
+ {0x230E,4,{0x81,0x36,0xE8,0x39,}},
+ {0x230F,4,{0x81,0x36,0xE9,0x30,}},
+ {0x2310,4,{0x81,0x36,0xE9,0x31,}},
+ {0x2311,4,{0x81,0x36,0xE9,0x32,}},
+ {0x2312,2,{0xA1,0xD0,0x00,0x00,}},
+ {0x2313,4,{0x81,0x36,0xE9,0x33,}},
+ {0x2314,4,{0x81,0x36,0xE9,0x34,}},
+ {0x2315,4,{0x81,0x36,0xE9,0x35,}},
+ {0x2316,4,{0x81,0x36,0xE9,0x36,}},
+ {0x2317,4,{0x81,0x36,0xE9,0x37,}},
+ {0x2318,4,{0x81,0x36,0xE9,0x38,}},
+ {0x2319,4,{0x81,0x36,0xE9,0x39,}},
+ {0x231A,4,{0x81,0x36,0xEA,0x30,}},
+ {0x231B,4,{0x81,0x36,0xEA,0x31,}},
+ {0x231C,4,{0x81,0x36,0xEA,0x32,}},
+ {0x231D,4,{0x81,0x36,0xEA,0x33,}},
+ {0x231E,4,{0x81,0x36,0xEA,0x34,}},
+ {0x231F,4,{0x81,0x36,0xEA,0x35,}},
+ {0x2320,4,{0x81,0x36,0xEA,0x36,}},
+ {0x2321,4,{0x81,0x36,0xEA,0x37,}},
+ {0x2322,4,{0x81,0x36,0xEA,0x38,}},
+ {0x2323,4,{0x81,0x36,0xEA,0x39,}},
+ {0x2324,4,{0x81,0x36,0xEB,0x30,}},
+ {0x2325,4,{0x81,0x36,0xEB,0x31,}},
+ {0x2326,4,{0x81,0x36,0xEB,0x32,}},
+ {0x2327,4,{0x81,0x36,0xEB,0x33,}},
+ {0x2328,4,{0x81,0x36,0xEB,0x34,}},
+ {0x2329,4,{0x81,0x36,0xEB,0x35,}},
+ {0x232A,4,{0x81,0x36,0xEB,0x36,}},
+ {0x232B,4,{0x81,0x36,0xEB,0x37,}},
+ {0x232C,4,{0x81,0x36,0xEB,0x38,}},
+ {0x232D,4,{0x81,0x36,0xEB,0x39,}},
+ {0x232E,4,{0x81,0x36,0xEC,0x30,}},
+ {0x232F,4,{0x81,0x36,0xEC,0x31,}},
+ {0x2330,4,{0x81,0x36,0xEC,0x32,}},
+ {0x2331,4,{0x81,0x36,0xEC,0x33,}},
+ {0x2332,4,{0x81,0x36,0xEC,0x34,}},
+ {0x2333,4,{0x81,0x36,0xEC,0x35,}},
+ {0x2334,4,{0x81,0x36,0xEC,0x36,}},
+ {0x2335,4,{0x81,0x36,0xEC,0x37,}},
+ {0x2336,4,{0x81,0x36,0xEC,0x38,}},
+ {0x2337,4,{0x81,0x36,0xEC,0x39,}},
+ {0x2338,4,{0x81,0x36,0xED,0x30,}},
+ {0x2339,4,{0x81,0x36,0xED,0x31,}},
+ {0x233A,4,{0x81,0x36,0xED,0x32,}},
+ {0x233B,4,{0x81,0x36,0xED,0x33,}},
+ {0x233C,4,{0x81,0x36,0xED,0x34,}},
+ {0x233D,4,{0x81,0x36,0xED,0x35,}},
+ {0x233E,4,{0x81,0x36,0xED,0x36,}},
+ {0x233F,4,{0x81,0x36,0xED,0x37,}},
+ {0x2340,4,{0x81,0x36,0xED,0x38,}},
+ {0x2341,4,{0x81,0x36,0xED,0x39,}},
+ {0x2342,4,{0x81,0x36,0xEE,0x30,}},
+ {0x2343,4,{0x81,0x36,0xEE,0x31,}},
+ {0x2344,4,{0x81,0x36,0xEE,0x32,}},
+ {0x2345,4,{0x81,0x36,0xEE,0x33,}},
+ {0x2346,4,{0x81,0x36,0xEE,0x34,}},
+ {0x2347,4,{0x81,0x36,0xEE,0x35,}},
+ {0x2348,4,{0x81,0x36,0xEE,0x36,}},
+ {0x2349,4,{0x81,0x36,0xEE,0x37,}},
+ {0x234A,4,{0x81,0x36,0xEE,0x38,}},
+ {0x234B,4,{0x81,0x36,0xEE,0x39,}},
+ {0x234C,4,{0x81,0x36,0xEF,0x30,}},
+ {0x234D,4,{0x81,0x36,0xEF,0x31,}},
+ {0x234E,4,{0x81,0x36,0xEF,0x32,}},
+ {0x234F,4,{0x81,0x36,0xEF,0x33,}},
+ {0x2350,4,{0x81,0x36,0xEF,0x34,}},
+ {0x2351,4,{0x81,0x36,0xEF,0x35,}},
+ {0x2352,4,{0x81,0x36,0xEF,0x36,}},
+ {0x2353,4,{0x81,0x36,0xEF,0x37,}},
+ {0x2354,4,{0x81,0x36,0xEF,0x38,}},
+ {0x2355,4,{0x81,0x36,0xEF,0x39,}},
+ {0x2356,4,{0x81,0x36,0xF0,0x30,}},
+ {0x2357,4,{0x81,0x36,0xF0,0x31,}},
+ {0x2358,4,{0x81,0x36,0xF0,0x32,}},
+ {0x2359,4,{0x81,0x36,0xF0,0x33,}},
+ {0x235A,4,{0x81,0x36,0xF0,0x34,}},
+ {0x235B,4,{0x81,0x36,0xF0,0x35,}},
+ {0x235C,4,{0x81,0x36,0xF0,0x36,}},
+ {0x235D,4,{0x81,0x36,0xF0,0x37,}},
+ {0x235E,4,{0x81,0x36,0xF0,0x38,}},
+ {0x235F,4,{0x81,0x36,0xF0,0x39,}},
+ {0x2360,4,{0x81,0x36,0xF1,0x30,}},
+ {0x2361,4,{0x81,0x36,0xF1,0x31,}},
+ {0x2362,4,{0x81,0x36,0xF1,0x32,}},
+ {0x2363,4,{0x81,0x36,0xF1,0x33,}},
+ {0x2364,4,{0x81,0x36,0xF1,0x34,}},
+ {0x2365,4,{0x81,0x36,0xF1,0x35,}},
+ {0x2366,4,{0x81,0x36,0xF1,0x36,}},
+ {0x2367,4,{0x81,0x36,0xF1,0x37,}},
+ {0x2368,4,{0x81,0x36,0xF1,0x38,}},
+ {0x2369,4,{0x81,0x36,0xF1,0x39,}},
+ {0x236A,4,{0x81,0x36,0xF2,0x30,}},
+ {0x236B,4,{0x81,0x36,0xF2,0x31,}},
+ {0x236C,4,{0x81,0x36,0xF2,0x32,}},
+ {0x236D,4,{0x81,0x36,0xF2,0x33,}},
+ {0x236E,4,{0x81,0x36,0xF2,0x34,}},
+ {0x236F,4,{0x81,0x36,0xF2,0x35,}},
+ {0x2370,4,{0x81,0x36,0xF2,0x36,}},
+ {0x2371,4,{0x81,0x36,0xF2,0x37,}},
+ {0x2372,4,{0x81,0x36,0xF2,0x38,}},
+ {0x2373,4,{0x81,0x36,0xF2,0x39,}},
+ {0x2374,4,{0x81,0x36,0xF3,0x30,}},
+ {0x2375,4,{0x81,0x36,0xF3,0x31,}},
+ {0x2376,4,{0x81,0x36,0xF3,0x32,}},
+ {0x2377,4,{0x81,0x36,0xF3,0x33,}},
+ {0x2378,4,{0x81,0x36,0xF3,0x34,}},
+ {0x2379,4,{0x81,0x36,0xF3,0x35,}},
+ {0x237A,4,{0x81,0x36,0xF3,0x36,}},
+ {0x237B,4,{0x81,0x36,0xF3,0x37,}},
+ {0x237C,4,{0x81,0x36,0xF3,0x38,}},
+ {0x237D,4,{0x81,0x36,0xF3,0x39,}},
+ {0x237E,4,{0x81,0x36,0xF4,0x30,}},
+ {0x237F,4,{0x81,0x36,0xF4,0x31,}},
+ {0x2380,4,{0x81,0x36,0xF4,0x32,}},
+ {0x2381,4,{0x81,0x36,0xF4,0x33,}},
+ {0x2382,4,{0x81,0x36,0xF4,0x34,}},
+ {0x2383,4,{0x81,0x36,0xF4,0x35,}},
+ {0x2384,4,{0x81,0x36,0xF4,0x36,}},
+ {0x2385,4,{0x81,0x36,0xF4,0x37,}},
+ {0x2386,4,{0x81,0x36,0xF4,0x38,}},
+ {0x2387,4,{0x81,0x36,0xF4,0x39,}},
+ {0x2388,4,{0x81,0x36,0xF5,0x30,}},
+ {0x2389,4,{0x81,0x36,0xF5,0x31,}},
+ {0x238A,4,{0x81,0x36,0xF5,0x32,}},
+ {0x238B,4,{0x81,0x36,0xF5,0x33,}},
+ {0x238C,4,{0x81,0x36,0xF5,0x34,}},
+ {0x238D,4,{0x81,0x36,0xF5,0x35,}},
+ {0x238E,4,{0x81,0x36,0xF5,0x36,}},
+ {0x238F,4,{0x81,0x36,0xF5,0x37,}},
+ {0x2390,4,{0x81,0x36,0xF5,0x38,}},
+ {0x2391,4,{0x81,0x36,0xF5,0x39,}},
+ {0x2392,4,{0x81,0x36,0xF6,0x30,}},
+ {0x2393,4,{0x81,0x36,0xF6,0x31,}},
+ {0x2394,4,{0x81,0x36,0xF6,0x32,}},
+ {0x2395,4,{0x81,0x36,0xF6,0x33,}},
+ {0x2396,4,{0x81,0x36,0xF6,0x34,}},
+ {0x2397,4,{0x81,0x36,0xF6,0x35,}},
+ {0x2398,4,{0x81,0x36,0xF6,0x36,}},
+ {0x2399,4,{0x81,0x36,0xF6,0x37,}},
+ {0x239A,4,{0x81,0x36,0xF6,0x38,}},
+ {0x239B,4,{0x81,0x36,0xF6,0x39,}},
+ {0x239C,4,{0x81,0x36,0xF7,0x30,}},
+ {0x239D,4,{0x81,0x36,0xF7,0x31,}},
+ {0x239E,4,{0x81,0x36,0xF7,0x32,}},
+ {0x239F,4,{0x81,0x36,0xF7,0x33,}},
+ {0x23A0,4,{0x81,0x36,0xF7,0x34,}},
+ {0x23A1,4,{0x81,0x36,0xF7,0x35,}},
+ {0x23A2,4,{0x81,0x36,0xF7,0x36,}},
+ {0x23A3,4,{0x81,0x36,0xF7,0x37,}},
+ {0x23A4,4,{0x81,0x36,0xF7,0x38,}},
+ {0x23A5,4,{0x81,0x36,0xF7,0x39,}},
+ {0x23A6,4,{0x81,0x36,0xF8,0x30,}},
+ {0x23A7,4,{0x81,0x36,0xF8,0x31,}},
+ {0x23A8,4,{0x81,0x36,0xF8,0x32,}},
+ {0x23A9,4,{0x81,0x36,0xF8,0x33,}},
+ {0x23AA,4,{0x81,0x36,0xF8,0x34,}},
+ {0x23AB,4,{0x81,0x36,0xF8,0x35,}},
+ {0x23AC,4,{0x81,0x36,0xF8,0x36,}},
+ {0x23AD,4,{0x81,0x36,0xF8,0x37,}},
+ {0x23AE,4,{0x81,0x36,0xF8,0x38,}},
+ {0x23AF,4,{0x81,0x36,0xF8,0x39,}},
+ {0x23B0,4,{0x81,0x36,0xF9,0x30,}},
+ {0x23B1,4,{0x81,0x36,0xF9,0x31,}},
+ {0x23B2,4,{0x81,0x36,0xF9,0x32,}},
+ {0x23B3,4,{0x81,0x36,0xF9,0x33,}},
+ {0x23B4,4,{0x81,0x36,0xF9,0x34,}},
+ {0x23B5,4,{0x81,0x36,0xF9,0x35,}},
+ {0x23B6,4,{0x81,0x36,0xF9,0x36,}},
+ {0x23B7,4,{0x81,0x36,0xF9,0x37,}},
+ {0x23B8,4,{0x81,0x36,0xF9,0x38,}},
+ {0x23B9,4,{0x81,0x36,0xF9,0x39,}},
+ {0x23BA,4,{0x81,0x36,0xFA,0x30,}},
+ {0x23BB,4,{0x81,0x36,0xFA,0x31,}},
+ {0x23BC,4,{0x81,0x36,0xFA,0x32,}},
+ {0x23BD,4,{0x81,0x36,0xFA,0x33,}},
+ {0x23BE,4,{0x81,0x36,0xFA,0x34,}},
+ {0x23BF,4,{0x81,0x36,0xFA,0x35,}},
+ {0x23C0,4,{0x81,0x36,0xFA,0x36,}},
+ {0x23C1,4,{0x81,0x36,0xFA,0x37,}},
+ {0x23C2,4,{0x81,0x36,0xFA,0x38,}},
+ {0x23C3,4,{0x81,0x36,0xFA,0x39,}},
+ {0x23C4,4,{0x81,0x36,0xFB,0x30,}},
+ {0x23C5,4,{0x81,0x36,0xFB,0x31,}},
+ {0x23C6,4,{0x81,0x36,0xFB,0x32,}},
+ {0x23C7,4,{0x81,0x36,0xFB,0x33,}},
+ {0x23C8,4,{0x81,0x36,0xFB,0x34,}},
+ {0x23C9,4,{0x81,0x36,0xFB,0x35,}},
+ {0x23CA,4,{0x81,0x36,0xFB,0x36,}},
+ {0x23CB,4,{0x81,0x36,0xFB,0x37,}},
+ {0x23CC,4,{0x81,0x36,0xFB,0x38,}},
+ {0x23CD,4,{0x81,0x36,0xFB,0x39,}},
+ {0x23CE,4,{0x81,0x36,0xFC,0x30,}},
+ {0x23CF,4,{0x81,0x36,0xFC,0x31,}},
+ {0x23D0,4,{0x81,0x36,0xFC,0x32,}},
+ {0x23D1,4,{0x81,0x36,0xFC,0x33,}},
+ {0x23D2,4,{0x81,0x36,0xFC,0x34,}},
+ {0x23D3,4,{0x81,0x36,0xFC,0x35,}},
+ {0x23D4,4,{0x81,0x36,0xFC,0x36,}},
+ {0x23D5,4,{0x81,0x36,0xFC,0x37,}},
+ {0x23D6,4,{0x81,0x36,0xFC,0x38,}},
+ {0x23D7,4,{0x81,0x36,0xFC,0x39,}},
+ {0x23D8,4,{0x81,0x36,0xFD,0x30,}},
+ {0x23D9,4,{0x81,0x36,0xFD,0x31,}},
+ {0x23DA,4,{0x81,0x36,0xFD,0x32,}},
+ {0x23DB,4,{0x81,0x36,0xFD,0x33,}},
+ {0x23DC,4,{0x81,0x36,0xFD,0x34,}},
+ {0x23DD,4,{0x81,0x36,0xFD,0x35,}},
+ {0x23DE,4,{0x81,0x36,0xFD,0x36,}},
+ {0x23DF,4,{0x81,0x36,0xFD,0x37,}},
+ {0x23E0,4,{0x81,0x36,0xFD,0x38,}},
+ {0x23E1,4,{0x81,0x36,0xFD,0x39,}},
+ {0x23E2,4,{0x81,0x36,0xFE,0x30,}},
+ {0x23E3,4,{0x81,0x36,0xFE,0x31,}},
+ {0x23E4,4,{0x81,0x36,0xFE,0x32,}},
+ {0x23E5,4,{0x81,0x36,0xFE,0x33,}},
+ {0x23E6,4,{0x81,0x36,0xFE,0x34,}},
+ {0x23E7,4,{0x81,0x36,0xFE,0x35,}},
+ {0x23E8,4,{0x81,0x36,0xFE,0x36,}},
+ {0x23E9,4,{0x81,0x36,0xFE,0x37,}},
+ {0x23EA,4,{0x81,0x36,0xFE,0x38,}},
+ {0x23EB,4,{0x81,0x36,0xFE,0x39,}},
+ {0x23EC,4,{0x81,0x37,0x81,0x30,}},
+ {0x23ED,4,{0x81,0x37,0x81,0x31,}},
+ {0x23EE,4,{0x81,0x37,0x81,0x32,}},
+ {0x23EF,4,{0x81,0x37,0x81,0x33,}},
+ {0x23F0,4,{0x81,0x37,0x81,0x34,}},
+ {0x23F1,4,{0x81,0x37,0x81,0x35,}},
+ {0x23F2,4,{0x81,0x37,0x81,0x36,}},
+ {0x23F3,4,{0x81,0x37,0x81,0x37,}},
+ {0x23F4,4,{0x81,0x37,0x81,0x38,}},
+ {0x23F5,4,{0x81,0x37,0x81,0x39,}},
+ {0x23F6,4,{0x81,0x37,0x82,0x30,}},
+ {0x23F7,4,{0x81,0x37,0x82,0x31,}},
+ {0x23F8,4,{0x81,0x37,0x82,0x32,}},
+ {0x23F9,4,{0x81,0x37,0x82,0x33,}},
+ {0x23FA,4,{0x81,0x37,0x82,0x34,}},
+ {0x23FB,4,{0x81,0x37,0x82,0x35,}},
+ {0x23FC,4,{0x81,0x37,0x82,0x36,}},
+ {0x23FD,4,{0x81,0x37,0x82,0x37,}},
+ {0x23FE,4,{0x81,0x37,0x82,0x38,}},
+ {0x23FF,4,{0x81,0x37,0x82,0x39,}},
+ {0x2400,4,{0x81,0x37,0x83,0x30,}},
+ {0x2401,4,{0x81,0x37,0x83,0x31,}},
+ {0x2402,4,{0x81,0x37,0x83,0x32,}},
+ {0x2403,4,{0x81,0x37,0x83,0x33,}},
+ {0x2404,4,{0x81,0x37,0x83,0x34,}},
+ {0x2405,4,{0x81,0x37,0x83,0x35,}},
+ {0x2406,4,{0x81,0x37,0x83,0x36,}},
+ {0x2407,4,{0x81,0x37,0x83,0x37,}},
+ {0x2408,4,{0x81,0x37,0x83,0x38,}},
+ {0x2409,4,{0x81,0x37,0x83,0x39,}},
+ {0x240A,4,{0x81,0x37,0x84,0x30,}},
+ {0x240B,4,{0x81,0x37,0x84,0x31,}},
+ {0x240C,4,{0x81,0x37,0x84,0x32,}},
+ {0x240D,4,{0x81,0x37,0x84,0x33,}},
+ {0x240E,4,{0x81,0x37,0x84,0x34,}},
+ {0x240F,4,{0x81,0x37,0x84,0x35,}},
+ {0x2410,4,{0x81,0x37,0x84,0x36,}},
+ {0x2411,4,{0x81,0x37,0x84,0x37,}},
+ {0x2412,4,{0x81,0x37,0x84,0x38,}},
+ {0x2413,4,{0x81,0x37,0x84,0x39,}},
+ {0x2414,4,{0x81,0x37,0x85,0x30,}},
+ {0x2415,4,{0x81,0x37,0x85,0x31,}},
+ {0x2416,4,{0x81,0x37,0x85,0x32,}},
+ {0x2417,4,{0x81,0x37,0x85,0x33,}},
+ {0x2418,4,{0x81,0x37,0x85,0x34,}},
+ {0x2419,4,{0x81,0x37,0x85,0x35,}},
+ {0x241A,4,{0x81,0x37,0x85,0x36,}},
+ {0x241B,4,{0x81,0x37,0x85,0x37,}},
+ {0x241C,4,{0x81,0x37,0x85,0x38,}},
+ {0x241D,4,{0x81,0x37,0x85,0x39,}},
+ {0x241E,4,{0x81,0x37,0x86,0x30,}},
+ {0x241F,4,{0x81,0x37,0x86,0x31,}},
+ {0x2420,4,{0x81,0x37,0x86,0x32,}},
+ {0x2421,4,{0x81,0x37,0x86,0x33,}},
+ {0x2422,4,{0x81,0x37,0x86,0x34,}},
+ {0x2423,4,{0x81,0x37,0x86,0x35,}},
+ {0x2424,4,{0x81,0x37,0x86,0x36,}},
+ {0x2425,4,{0x81,0x37,0x86,0x37,}},
+ {0x2426,4,{0x81,0x37,0x86,0x38,}},
+ {0x2427,4,{0x81,0x37,0x86,0x39,}},
+ {0x2428,4,{0x81,0x37,0x87,0x30,}},
+ {0x2429,4,{0x81,0x37,0x87,0x31,}},
+ {0x242A,4,{0x81,0x37,0x87,0x32,}},
+ {0x242B,4,{0x81,0x37,0x87,0x33,}},
+ {0x242C,4,{0x81,0x37,0x87,0x34,}},
+ {0x242D,4,{0x81,0x37,0x87,0x35,}},
+ {0x242E,4,{0x81,0x37,0x87,0x36,}},
+ {0x242F,4,{0x81,0x37,0x87,0x37,}},
+ {0x2430,4,{0x81,0x37,0x87,0x38,}},
+ {0x2431,4,{0x81,0x37,0x87,0x39,}},
+ {0x2432,4,{0x81,0x37,0x88,0x30,}},
+ {0x2433,4,{0x81,0x37,0x88,0x31,}},
+ {0x2434,4,{0x81,0x37,0x88,0x32,}},
+ {0x2435,4,{0x81,0x37,0x88,0x33,}},
+ {0x2436,4,{0x81,0x37,0x88,0x34,}},
+ {0x2437,4,{0x81,0x37,0x88,0x35,}},
+ {0x2438,4,{0x81,0x37,0x88,0x36,}},
+ {0x2439,4,{0x81,0x37,0x88,0x37,}},
+ {0x243A,4,{0x81,0x37,0x88,0x38,}},
+ {0x243B,4,{0x81,0x37,0x88,0x39,}},
+ {0x243C,4,{0x81,0x37,0x89,0x30,}},
+ {0x243D,4,{0x81,0x37,0x89,0x31,}},
+ {0x243E,4,{0x81,0x37,0x89,0x32,}},
+ {0x243F,4,{0x81,0x37,0x89,0x33,}},
+ {0x2440,4,{0x81,0x37,0x89,0x34,}},
+ {0x2441,4,{0x81,0x37,0x89,0x35,}},
+ {0x2442,4,{0x81,0x37,0x89,0x36,}},
+ {0x2443,4,{0x81,0x37,0x89,0x37,}},
+ {0x2444,4,{0x81,0x37,0x89,0x38,}},
+ {0x2445,4,{0x81,0x37,0x89,0x39,}},
+ {0x2446,4,{0x81,0x37,0x8A,0x30,}},
+ {0x2447,4,{0x81,0x37,0x8A,0x31,}},
+ {0x2448,4,{0x81,0x37,0x8A,0x32,}},
+ {0x2449,4,{0x81,0x37,0x8A,0x33,}},
+ {0x244A,4,{0x81,0x37,0x8A,0x34,}},
+ {0x244B,4,{0x81,0x37,0x8A,0x35,}},
+ {0x244C,4,{0x81,0x37,0x8A,0x36,}},
+ {0x244D,4,{0x81,0x37,0x8A,0x37,}},
+ {0x244E,4,{0x81,0x37,0x8A,0x38,}},
+ {0x244F,4,{0x81,0x37,0x8A,0x39,}},
+ {0x2450,4,{0x81,0x37,0x8B,0x30,}},
+ {0x2451,4,{0x81,0x37,0x8B,0x31,}},
+ {0x2452,4,{0x81,0x37,0x8B,0x32,}},
+ {0x2453,4,{0x81,0x37,0x8B,0x33,}},
+ {0x2454,4,{0x81,0x37,0x8B,0x34,}},
+ {0x2455,4,{0x81,0x37,0x8B,0x35,}},
+ {0x2456,4,{0x81,0x37,0x8B,0x36,}},
+ {0x2457,4,{0x81,0x37,0x8B,0x37,}},
+ {0x2458,4,{0x81,0x37,0x8B,0x38,}},
+ {0x2459,4,{0x81,0x37,0x8B,0x39,}},
+ {0x245A,4,{0x81,0x37,0x8C,0x30,}},
+ {0x245B,4,{0x81,0x37,0x8C,0x31,}},
+ {0x245C,4,{0x81,0x37,0x8C,0x32,}},
+ {0x245D,4,{0x81,0x37,0x8C,0x33,}},
+ {0x245E,4,{0x81,0x37,0x8C,0x34,}},
+ {0x245F,4,{0x81,0x37,0x8C,0x35,}},
+ {0x2460,2,{0xA2,0xD9,0x00,0x00,}},
+ {0x2461,2,{0xA2,0xDA,0x00,0x00,}},
+ {0x2462,2,{0xA2,0xDB,0x00,0x00,}},
+ {0x2463,2,{0xA2,0xDC,0x00,0x00,}},
+ {0x2464,2,{0xA2,0xDD,0x00,0x00,}},
+ {0x2465,2,{0xA2,0xDE,0x00,0x00,}},
+ {0x2466,2,{0xA2,0xDF,0x00,0x00,}},
+ {0x2467,2,{0xA2,0xE0,0x00,0x00,}},
+ {0x2468,2,{0xA2,0xE1,0x00,0x00,}},
+ {0x2469,2,{0xA2,0xE2,0x00,0x00,}},
+ {0x246A,4,{0x81,0x37,0x8C,0x36,}},
+ {0x246B,4,{0x81,0x37,0x8C,0x37,}},
+ {0x246C,4,{0x81,0x37,0x8C,0x38,}},
+ {0x246D,4,{0x81,0x37,0x8C,0x39,}},
+ {0x246E,4,{0x81,0x37,0x8D,0x30,}},
+ {0x246F,4,{0x81,0x37,0x8D,0x31,}},
+ {0x2470,4,{0x81,0x37,0x8D,0x32,}},
+ {0x2471,4,{0x81,0x37,0x8D,0x33,}},
+ {0x2472,4,{0x81,0x37,0x8D,0x34,}},
+ {0x2473,4,{0x81,0x37,0x8D,0x35,}},
+ {0x2474,2,{0xA2,0xC5,0x00,0x00,}},
+ {0x2475,2,{0xA2,0xC6,0x00,0x00,}},
+ {0x2476,2,{0xA2,0xC7,0x00,0x00,}},
+ {0x2477,2,{0xA2,0xC8,0x00,0x00,}},
+ {0x2478,2,{0xA2,0xC9,0x00,0x00,}},
+ {0x2479,2,{0xA2,0xCA,0x00,0x00,}},
+ {0x247A,2,{0xA2,0xCB,0x00,0x00,}},
+ {0x247B,2,{0xA2,0xCC,0x00,0x00,}},
+ {0x247C,2,{0xA2,0xCD,0x00,0x00,}},
+ {0x247D,2,{0xA2,0xCE,0x00,0x00,}},
+ {0x247E,2,{0xA2,0xCF,0x00,0x00,}},
+ {0x247F,2,{0xA2,0xD0,0x00,0x00,}},
+ {0x2480,2,{0xA2,0xD1,0x00,0x00,}},
+ {0x2481,2,{0xA2,0xD2,0x00,0x00,}},
+ {0x2482,2,{0xA2,0xD3,0x00,0x00,}},
+ {0x2483,2,{0xA2,0xD4,0x00,0x00,}},
+ {0x2484,2,{0xA2,0xD5,0x00,0x00,}},
+ {0x2485,2,{0xA2,0xD6,0x00,0x00,}},
+ {0x2486,2,{0xA2,0xD7,0x00,0x00,}},
+ {0x2487,2,{0xA2,0xD8,0x00,0x00,}},
+ {0x2488,2,{0xA2,0xB1,0x00,0x00,}},
+ {0x2489,2,{0xA2,0xB2,0x00,0x00,}},
+ {0x248A,2,{0xA2,0xB3,0x00,0x00,}},
+ {0x248B,2,{0xA2,0xB4,0x00,0x00,}},
+ {0x248C,2,{0xA2,0xB5,0x00,0x00,}},
+ {0x248D,2,{0xA2,0xB6,0x00,0x00,}},
+ {0x248E,2,{0xA2,0xB7,0x00,0x00,}},
+ {0x248F,2,{0xA2,0xB8,0x00,0x00,}},
+ {0x2490,2,{0xA2,0xB9,0x00,0x00,}},
+ {0x2491,2,{0xA2,0xBA,0x00,0x00,}},
+ {0x2492,2,{0xA2,0xBB,0x00,0x00,}},
+ {0x2493,2,{0xA2,0xBC,0x00,0x00,}},
+ {0x2494,2,{0xA2,0xBD,0x00,0x00,}},
+ {0x2495,2,{0xA2,0xBE,0x00,0x00,}},
+ {0x2496,2,{0xA2,0xBF,0x00,0x00,}},
+ {0x2497,2,{0xA2,0xC0,0x00,0x00,}},
+ {0x2498,2,{0xA2,0xC1,0x00,0x00,}},
+ {0x2499,2,{0xA2,0xC2,0x00,0x00,}},
+ {0x249A,2,{0xA2,0xC3,0x00,0x00,}},
+ {0x249B,2,{0xA2,0xC4,0x00,0x00,}},
+ {0x249C,4,{0x81,0x37,0x8D,0x36,}},
+ {0x249D,4,{0x81,0x37,0x8D,0x37,}},
+ {0x249E,4,{0x81,0x37,0x8D,0x38,}},
+ {0x249F,4,{0x81,0x37,0x8D,0x39,}},
+ {0x24A0,4,{0x81,0x37,0x8E,0x30,}},
+ {0x24A1,4,{0x81,0x37,0x8E,0x31,}},
+ {0x24A2,4,{0x81,0x37,0x8E,0x32,}},
+ {0x24A3,4,{0x81,0x37,0x8E,0x33,}},
+ {0x24A4,4,{0x81,0x37,0x8E,0x34,}},
+ {0x24A5,4,{0x81,0x37,0x8E,0x35,}},
+ {0x24A6,4,{0x81,0x37,0x8E,0x36,}},
+ {0x24A7,4,{0x81,0x37,0x8E,0x37,}},
+ {0x24A8,4,{0x81,0x37,0x8E,0x38,}},
+ {0x24A9,4,{0x81,0x37,0x8E,0x39,}},
+ {0x24AA,4,{0x81,0x37,0x8F,0x30,}},
+ {0x24AB,4,{0x81,0x37,0x8F,0x31,}},
+ {0x24AC,4,{0x81,0x37,0x8F,0x32,}},
+ {0x24AD,4,{0x81,0x37,0x8F,0x33,}},
+ {0x24AE,4,{0x81,0x37,0x8F,0x34,}},
+ {0x24AF,4,{0x81,0x37,0x8F,0x35,}},
+ {0x24B0,4,{0x81,0x37,0x8F,0x36,}},
+ {0x24B1,4,{0x81,0x37,0x8F,0x37,}},
+ {0x24B2,4,{0x81,0x37,0x8F,0x38,}},
+ {0x24B3,4,{0x81,0x37,0x8F,0x39,}},
+ {0x24B4,4,{0x81,0x37,0x90,0x30,}},
+ {0x24B5,4,{0x81,0x37,0x90,0x31,}},
+ {0x24B6,4,{0x81,0x37,0x90,0x32,}},
+ {0x24B7,4,{0x81,0x37,0x90,0x33,}},
+ {0x24B8,4,{0x81,0x37,0x90,0x34,}},
+ {0x24B9,4,{0x81,0x37,0x90,0x35,}},
+ {0x24BA,4,{0x81,0x37,0x90,0x36,}},
+ {0x24BB,4,{0x81,0x37,0x90,0x37,}},
+ {0x24BC,4,{0x81,0x37,0x90,0x38,}},
+ {0x24BD,4,{0x81,0x37,0x90,0x39,}},
+ {0x24BE,4,{0x81,0x37,0x91,0x30,}},
+ {0x24BF,4,{0x81,0x37,0x91,0x31,}},
+ {0x24C0,4,{0x81,0x37,0x91,0x32,}},
+ {0x24C1,4,{0x81,0x37,0x91,0x33,}},
+ {0x24C2,4,{0x81,0x37,0x91,0x34,}},
+ {0x24C3,4,{0x81,0x37,0x91,0x35,}},
+ {0x24C4,4,{0x81,0x37,0x91,0x36,}},
+ {0x24C5,4,{0x81,0x37,0x91,0x37,}},
+ {0x24C6,4,{0x81,0x37,0x91,0x38,}},
+ {0x24C7,4,{0x81,0x37,0x91,0x39,}},
+ {0x24C8,4,{0x81,0x37,0x92,0x30,}},
+ {0x24C9,4,{0x81,0x37,0x92,0x31,}},
+ {0x24CA,4,{0x81,0x37,0x92,0x32,}},
+ {0x24CB,4,{0x81,0x37,0x92,0x33,}},
+ {0x24CC,4,{0x81,0x37,0x92,0x34,}},
+ {0x24CD,4,{0x81,0x37,0x92,0x35,}},
+ {0x24CE,4,{0x81,0x37,0x92,0x36,}},
+ {0x24CF,4,{0x81,0x37,0x92,0x37,}},
+ {0x24D0,4,{0x81,0x37,0x92,0x38,}},
+ {0x24D1,4,{0x81,0x37,0x92,0x39,}},
+ {0x24D2,4,{0x81,0x37,0x93,0x30,}},
+ {0x24D3,4,{0x81,0x37,0x93,0x31,}},
+ {0x24D4,4,{0x81,0x37,0x93,0x32,}},
+ {0x24D5,4,{0x81,0x37,0x93,0x33,}},
+ {0x24D6,4,{0x81,0x37,0x93,0x34,}},
+ {0x24D7,4,{0x81,0x37,0x93,0x35,}},
+ {0x24D8,4,{0x81,0x37,0x93,0x36,}},
+ {0x24D9,4,{0x81,0x37,0x93,0x37,}},
+ {0x24DA,4,{0x81,0x37,0x93,0x38,}},
+ {0x24DB,4,{0x81,0x37,0x93,0x39,}},
+ {0x24DC,4,{0x81,0x37,0x94,0x30,}},
+ {0x24DD,4,{0x81,0x37,0x94,0x31,}},
+ {0x24DE,4,{0x81,0x37,0x94,0x32,}},
+ {0x24DF,4,{0x81,0x37,0x94,0x33,}},
+ {0x24E0,4,{0x81,0x37,0x94,0x34,}},
+ {0x24E1,4,{0x81,0x37,0x94,0x35,}},
+ {0x24E2,4,{0x81,0x37,0x94,0x36,}},
+ {0x24E3,4,{0x81,0x37,0x94,0x37,}},
+ {0x24E4,4,{0x81,0x37,0x94,0x38,}},
+ {0x24E5,4,{0x81,0x37,0x94,0x39,}},
+ {0x24E6,4,{0x81,0x37,0x95,0x30,}},
+ {0x24E7,4,{0x81,0x37,0x95,0x31,}},
+ {0x24E8,4,{0x81,0x37,0x95,0x32,}},
+ {0x24E9,4,{0x81,0x37,0x95,0x33,}},
+ {0x24EA,4,{0x81,0x37,0x95,0x34,}},
+ {0x24EB,4,{0x81,0x37,0x95,0x35,}},
+ {0x24EC,4,{0x81,0x37,0x95,0x36,}},
+ {0x24ED,4,{0x81,0x37,0x95,0x37,}},
+ {0x24EE,4,{0x81,0x37,0x95,0x38,}},
+ {0x24EF,4,{0x81,0x37,0x95,0x39,}},
+ {0x24F0,4,{0x81,0x37,0x96,0x30,}},
+ {0x24F1,4,{0x81,0x37,0x96,0x31,}},
+ {0x24F2,4,{0x81,0x37,0x96,0x32,}},
+ {0x24F3,4,{0x81,0x37,0x96,0x33,}},
+ {0x24F4,4,{0x81,0x37,0x96,0x34,}},
+ {0x24F5,4,{0x81,0x37,0x96,0x35,}},
+ {0x24F6,4,{0x81,0x37,0x96,0x36,}},
+ {0x24F7,4,{0x81,0x37,0x96,0x37,}},
+ {0x24F8,4,{0x81,0x37,0x96,0x38,}},
+ {0x24F9,4,{0x81,0x37,0x96,0x39,}},
+ {0x24FA,4,{0x81,0x37,0x97,0x30,}},
+ {0x24FB,4,{0x81,0x37,0x97,0x31,}},
+ {0x24FC,4,{0x81,0x37,0x97,0x32,}},
+ {0x24FD,4,{0x81,0x37,0x97,0x33,}},
+ {0x24FE,4,{0x81,0x37,0x97,0x34,}},
+ {0x24FF,4,{0x81,0x37,0x97,0x35,}},
+ {0x2500,2,{0xA9,0xA4,0x00,0x00,}},
+ {0x2501,2,{0xA9,0xA5,0x00,0x00,}},
+ {0x2502,2,{0xA9,0xA6,0x00,0x00,}},
+ {0x2503,2,{0xA9,0xA7,0x00,0x00,}},
+ {0x2504,2,{0xA9,0xA8,0x00,0x00,}},
+ {0x2505,2,{0xA9,0xA9,0x00,0x00,}},
+ {0x2506,2,{0xA9,0xAA,0x00,0x00,}},
+ {0x2507,2,{0xA9,0xAB,0x00,0x00,}},
+ {0x2508,2,{0xA9,0xAC,0x00,0x00,}},
+ {0x2509,2,{0xA9,0xAD,0x00,0x00,}},
+ {0x250A,2,{0xA9,0xAE,0x00,0x00,}},
+ {0x250B,2,{0xA9,0xAF,0x00,0x00,}},
+ {0x250C,2,{0xA9,0xB0,0x00,0x00,}},
+ {0x250D,2,{0xA9,0xB1,0x00,0x00,}},
+ {0x250E,2,{0xA9,0xB2,0x00,0x00,}},
+ {0x250F,2,{0xA9,0xB3,0x00,0x00,}},
+ {0x2510,2,{0xA9,0xB4,0x00,0x00,}},
+ {0x2511,2,{0xA9,0xB5,0x00,0x00,}},
+ {0x2512,2,{0xA9,0xB6,0x00,0x00,}},
+ {0x2513,2,{0xA9,0xB7,0x00,0x00,}},
+ {0x2514,2,{0xA9,0xB8,0x00,0x00,}},
+ {0x2515,2,{0xA9,0xB9,0x00,0x00,}},
+ {0x2516,2,{0xA9,0xBA,0x00,0x00,}},
+ {0x2517,2,{0xA9,0xBB,0x00,0x00,}},
+ {0x2518,2,{0xA9,0xBC,0x00,0x00,}},
+ {0x2519,2,{0xA9,0xBD,0x00,0x00,}},
+ {0x251A,2,{0xA9,0xBE,0x00,0x00,}},
+ {0x251B,2,{0xA9,0xBF,0x00,0x00,}},
+ {0x251C,2,{0xA9,0xC0,0x00,0x00,}},
+ {0x251D,2,{0xA9,0xC1,0x00,0x00,}},
+ {0x251E,2,{0xA9,0xC2,0x00,0x00,}},
+ {0x251F,2,{0xA9,0xC3,0x00,0x00,}},
+ {0x2520,2,{0xA9,0xC4,0x00,0x00,}},
+ {0x2521,2,{0xA9,0xC5,0x00,0x00,}},
+ {0x2522,2,{0xA9,0xC6,0x00,0x00,}},
+ {0x2523,2,{0xA9,0xC7,0x00,0x00,}},
+ {0x2524,2,{0xA9,0xC8,0x00,0x00,}},
+ {0x2525,2,{0xA9,0xC9,0x00,0x00,}},
+ {0x2526,2,{0xA9,0xCA,0x00,0x00,}},
+ {0x2527,2,{0xA9,0xCB,0x00,0x00,}},
+ {0x2528,2,{0xA9,0xCC,0x00,0x00,}},
+ {0x2529,2,{0xA9,0xCD,0x00,0x00,}},
+ {0x252A,2,{0xA9,0xCE,0x00,0x00,}},
+ {0x252B,2,{0xA9,0xCF,0x00,0x00,}},
+ {0x252C,2,{0xA9,0xD0,0x00,0x00,}},
+ {0x252D,2,{0xA9,0xD1,0x00,0x00,}},
+ {0x252E,2,{0xA9,0xD2,0x00,0x00,}},
+ {0x252F,2,{0xA9,0xD3,0x00,0x00,}},
+ {0x2530,2,{0xA9,0xD4,0x00,0x00,}},
+ {0x2531,2,{0xA9,0xD5,0x00,0x00,}},
+ {0x2532,2,{0xA9,0xD6,0x00,0x00,}},
+ {0x2533,2,{0xA9,0xD7,0x00,0x00,}},
+ {0x2534,2,{0xA9,0xD8,0x00,0x00,}},
+ {0x2535,2,{0xA9,0xD9,0x00,0x00,}},
+ {0x2536,2,{0xA9,0xDA,0x00,0x00,}},
+ {0x2537,2,{0xA9,0xDB,0x00,0x00,}},
+ {0x2538,2,{0xA9,0xDC,0x00,0x00,}},
+ {0x2539,2,{0xA9,0xDD,0x00,0x00,}},
+ {0x253A,2,{0xA9,0xDE,0x00,0x00,}},
+ {0x253B,2,{0xA9,0xDF,0x00,0x00,}},
+ {0x253C,2,{0xA9,0xE0,0x00,0x00,}},
+ {0x253D,2,{0xA9,0xE1,0x00,0x00,}},
+ {0x253E,2,{0xA9,0xE2,0x00,0x00,}},
+ {0x253F,2,{0xA9,0xE3,0x00,0x00,}},
+ {0x2540,2,{0xA9,0xE4,0x00,0x00,}},
+ {0x2541,2,{0xA9,0xE5,0x00,0x00,}},
+ {0x2542,2,{0xA9,0xE6,0x00,0x00,}},
+ {0x2543,2,{0xA9,0xE7,0x00,0x00,}},
+ {0x2544,2,{0xA9,0xE8,0x00,0x00,}},
+ {0x2545,2,{0xA9,0xE9,0x00,0x00,}},
+ {0x2546,2,{0xA9,0xEA,0x00,0x00,}},
+ {0x2547,2,{0xA9,0xEB,0x00,0x00,}},
+ {0x2548,2,{0xA9,0xEC,0x00,0x00,}},
+ {0x2549,2,{0xA9,0xED,0x00,0x00,}},
+ {0x254A,2,{0xA9,0xEE,0x00,0x00,}},
+ {0x254B,2,{0xA9,0xEF,0x00,0x00,}},
+ {0x254C,4,{0x81,0x37,0x97,0x36,}},
+ {0x254D,4,{0x81,0x37,0x97,0x37,}},
+ {0x254E,4,{0x81,0x37,0x97,0x38,}},
+ {0x254F,4,{0x81,0x37,0x97,0x39,}},
+ {0x2550,2,{0xA8,0x54,0x00,0x00,}},
+ {0x2551,2,{0xA8,0x55,0x00,0x00,}},
+ {0x2552,2,{0xA8,0x56,0x00,0x00,}},
+ {0x2553,2,{0xA8,0x57,0x00,0x00,}},
+ {0x2554,2,{0xA8,0x58,0x00,0x00,}},
+ {0x2555,2,{0xA8,0x59,0x00,0x00,}},
+ {0x2556,2,{0xA8,0x5A,0x00,0x00,}},
+ {0x2557,2,{0xA8,0x5B,0x00,0x00,}},
+ {0x2558,2,{0xA8,0x5C,0x00,0x00,}},
+ {0x2559,2,{0xA8,0x5D,0x00,0x00,}},
+ {0x255A,2,{0xA8,0x5E,0x00,0x00,}},
+ {0x255B,2,{0xA8,0x5F,0x00,0x00,}},
+ {0x255C,2,{0xA8,0x60,0x00,0x00,}},
+ {0x255D,2,{0xA8,0x61,0x00,0x00,}},
+ {0x255E,2,{0xA8,0x62,0x00,0x00,}},
+ {0x255F,2,{0xA8,0x63,0x00,0x00,}},
+ {0x2560,2,{0xA8,0x64,0x00,0x00,}},
+ {0x2561,2,{0xA8,0x65,0x00,0x00,}},
+ {0x2562,2,{0xA8,0x66,0x00,0x00,}},
+ {0x2563,2,{0xA8,0x67,0x00,0x00,}},
+ {0x2564,2,{0xA8,0x68,0x00,0x00,}},
+ {0x2565,2,{0xA8,0x69,0x00,0x00,}},
+ {0x2566,2,{0xA8,0x6A,0x00,0x00,}},
+ {0x2567,2,{0xA8,0x6B,0x00,0x00,}},
+ {0x2568,2,{0xA8,0x6C,0x00,0x00,}},
+ {0x2569,2,{0xA8,0x6D,0x00,0x00,}},
+ {0x256A,2,{0xA8,0x6E,0x00,0x00,}},
+ {0x256B,2,{0xA8,0x6F,0x00,0x00,}},
+ {0x256C,2,{0xA8,0x70,0x00,0x00,}},
+ {0x256D,2,{0xA8,0x71,0x00,0x00,}},
+ {0x256E,2,{0xA8,0x72,0x00,0x00,}},
+ {0x256F,2,{0xA8,0x73,0x00,0x00,}},
+ {0x2570,2,{0xA8,0x74,0x00,0x00,}},
+ {0x2571,2,{0xA8,0x75,0x00,0x00,}},
+ {0x2572,2,{0xA8,0x76,0x00,0x00,}},
+ {0x2573,2,{0xA8,0x77,0x00,0x00,}},
+ {0x2574,4,{0x81,0x37,0x98,0x30,}},
+ {0x2575,4,{0x81,0x37,0x98,0x31,}},
+ {0x2576,4,{0x81,0x37,0x98,0x32,}},
+ {0x2577,4,{0x81,0x37,0x98,0x33,}},
+ {0x2578,4,{0x81,0x37,0x98,0x34,}},
+ {0x2579,4,{0x81,0x37,0x98,0x35,}},
+ {0x257A,4,{0x81,0x37,0x98,0x36,}},
+ {0x257B,4,{0x81,0x37,0x98,0x37,}},
+ {0x257C,4,{0x81,0x37,0x98,0x38,}},
+ {0x257D,4,{0x81,0x37,0x98,0x39,}},
+ {0x257E,4,{0x81,0x37,0x99,0x30,}},
+ {0x257F,4,{0x81,0x37,0x99,0x31,}},
+ {0x2580,4,{0x81,0x37,0x99,0x32,}},
+ {0x2581,2,{0xA8,0x78,0x00,0x00,}},
+ {0x2582,2,{0xA8,0x79,0x00,0x00,}},
+ {0x2583,2,{0xA8,0x7A,0x00,0x00,}},
+ {0x2584,2,{0xA8,0x7B,0x00,0x00,}},
+ {0x2585,2,{0xA8,0x7C,0x00,0x00,}},
+ {0x2586,2,{0xA8,0x7D,0x00,0x00,}},
+ {0x2587,2,{0xA8,0x7E,0x00,0x00,}},
+ {0x2588,2,{0xA8,0x80,0x00,0x00,}},
+ {0x2589,2,{0xA8,0x81,0x00,0x00,}},
+ {0x258A,2,{0xA8,0x82,0x00,0x00,}},
+ {0x258B,2,{0xA8,0x83,0x00,0x00,}},
+ {0x258C,2,{0xA8,0x84,0x00,0x00,}},
+ {0x258D,2,{0xA8,0x85,0x00,0x00,}},
+ {0x258E,2,{0xA8,0x86,0x00,0x00,}},
+ {0x258F,2,{0xA8,0x87,0x00,0x00,}},
+ {0x2590,4,{0x81,0x37,0x99,0x33,}},
+ {0x2591,4,{0x81,0x37,0x99,0x34,}},
+ {0x2592,4,{0x81,0x37,0x99,0x35,}},
+ {0x2593,2,{0xA8,0x88,0x00,0x00,}},
+ {0x2594,2,{0xA8,0x89,0x00,0x00,}},
+ {0x2595,2,{0xA8,0x8A,0x00,0x00,}},
+ {0x2596,4,{0x81,0x37,0x99,0x36,}},
+ {0x2597,4,{0x81,0x37,0x99,0x37,}},
+ {0x2598,4,{0x81,0x37,0x99,0x38,}},
+ {0x2599,4,{0x81,0x37,0x99,0x39,}},
+ {0x259A,4,{0x81,0x37,0x9A,0x30,}},
+ {0x259B,4,{0x81,0x37,0x9A,0x31,}},
+ {0x259C,4,{0x81,0x37,0x9A,0x32,}},
+ {0x259D,4,{0x81,0x37,0x9A,0x33,}},
+ {0x259E,4,{0x81,0x37,0x9A,0x34,}},
+ {0x259F,4,{0x81,0x37,0x9A,0x35,}},
+ {0x25A0,2,{0xA1,0xF6,0x00,0x00,}},
+ {0x25A1,2,{0xA1,0xF5,0x00,0x00,}},
+ {0x25A2,4,{0x81,0x37,0x9A,0x36,}},
+ {0x25A3,4,{0x81,0x37,0x9A,0x37,}},
+ {0x25A4,4,{0x81,0x37,0x9A,0x38,}},
+ {0x25A5,4,{0x81,0x37,0x9A,0x39,}},
+ {0x25A6,4,{0x81,0x37,0x9B,0x30,}},
+ {0x25A7,4,{0x81,0x37,0x9B,0x31,}},
+ {0x25A8,4,{0x81,0x37,0x9B,0x32,}},
+ {0x25A9,4,{0x81,0x37,0x9B,0x33,}},
+ {0x25AA,4,{0x81,0x37,0x9B,0x34,}},
+ {0x25AB,4,{0x81,0x37,0x9B,0x35,}},
+ {0x25AC,4,{0x81,0x37,0x9B,0x36,}},
+ {0x25AD,4,{0x81,0x37,0x9B,0x37,}},
+ {0x25AE,4,{0x81,0x37,0x9B,0x38,}},
+ {0x25AF,4,{0x81,0x37,0x9B,0x39,}},
+ {0x25B0,4,{0x81,0x37,0x9C,0x30,}},
+ {0x25B1,4,{0x81,0x37,0x9C,0x31,}},
+ {0x25B2,2,{0xA1,0xF8,0x00,0x00,}},
+ {0x25B3,2,{0xA1,0xF7,0x00,0x00,}},
+ {0x25B4,4,{0x81,0x37,0x9C,0x32,}},
+ {0x25B5,4,{0x81,0x37,0x9C,0x33,}},
+ {0x25B6,4,{0x81,0x37,0x9C,0x34,}},
+ {0x25B7,4,{0x81,0x37,0x9C,0x35,}},
+ {0x25B8,4,{0x81,0x37,0x9C,0x36,}},
+ {0x25B9,4,{0x81,0x37,0x9C,0x37,}},
+ {0x25BA,4,{0x81,0x37,0x9C,0x38,}},
+ {0x25BB,4,{0x81,0x37,0x9C,0x39,}},
+ {0x25BC,2,{0xA8,0x8B,0x00,0x00,}},
+ {0x25BD,2,{0xA8,0x8C,0x00,0x00,}},
+ {0x25BE,4,{0x81,0x37,0x9D,0x30,}},
+ {0x25BF,4,{0x81,0x37,0x9D,0x31,}},
+ {0x25C0,4,{0x81,0x37,0x9D,0x32,}},
+ {0x25C1,4,{0x81,0x37,0x9D,0x33,}},
+ {0x25C2,4,{0x81,0x37,0x9D,0x34,}},
+ {0x25C3,4,{0x81,0x37,0x9D,0x35,}},
+ {0x25C4,4,{0x81,0x37,0x9D,0x36,}},
+ {0x25C5,4,{0x81,0x37,0x9D,0x37,}},
+ {0x25C6,2,{0xA1,0xF4,0x00,0x00,}},
+ {0x25C7,2,{0xA1,0xF3,0x00,0x00,}},
+ {0x25C8,4,{0x81,0x37,0x9D,0x38,}},
+ {0x25C9,4,{0x81,0x37,0x9D,0x39,}},
+ {0x25CA,4,{0x81,0x37,0x9E,0x30,}},
+ {0x25CB,2,{0xA1,0xF0,0x00,0x00,}},
+ {0x25CC,4,{0x81,0x37,0x9E,0x31,}},
+ {0x25CD,4,{0x81,0x37,0x9E,0x32,}},
+ {0x25CE,2,{0xA1,0xF2,0x00,0x00,}},
+ {0x25CF,2,{0xA1,0xF1,0x00,0x00,}},
+ {0x25D0,4,{0x81,0x37,0x9E,0x33,}},
+ {0x25D1,4,{0x81,0x37,0x9E,0x34,}},
+ {0x25D2,4,{0x81,0x37,0x9E,0x35,}},
+ {0x25D3,4,{0x81,0x37,0x9E,0x36,}},
+ {0x25D4,4,{0x81,0x37,0x9E,0x37,}},
+ {0x25D5,4,{0x81,0x37,0x9E,0x38,}},
+ {0x25D6,4,{0x81,0x37,0x9E,0x39,}},
+ {0x25D7,4,{0x81,0x37,0x9F,0x30,}},
+ {0x25D8,4,{0x81,0x37,0x9F,0x31,}},
+ {0x25D9,4,{0x81,0x37,0x9F,0x32,}},
+ {0x25DA,4,{0x81,0x37,0x9F,0x33,}},
+ {0x25DB,4,{0x81,0x37,0x9F,0x34,}},
+ {0x25DC,4,{0x81,0x37,0x9F,0x35,}},
+ {0x25DD,4,{0x81,0x37,0x9F,0x36,}},
+ {0x25DE,4,{0x81,0x37,0x9F,0x37,}},
+ {0x25DF,4,{0x81,0x37,0x9F,0x38,}},
+ {0x25E0,4,{0x81,0x37,0x9F,0x39,}},
+ {0x25E1,4,{0x81,0x37,0xA0,0x30,}},
+ {0x25E2,2,{0xA8,0x8D,0x00,0x00,}},
+ {0x25E3,2,{0xA8,0x8E,0x00,0x00,}},
+ {0x25E4,2,{0xA8,0x8F,0x00,0x00,}},
+ {0x25E5,2,{0xA8,0x90,0x00,0x00,}},
+ {0x25E6,4,{0x81,0x37,0xA0,0x31,}},
+ {0x25E7,4,{0x81,0x37,0xA0,0x32,}},
+ {0x25E8,4,{0x81,0x37,0xA0,0x33,}},
+ {0x25E9,4,{0x81,0x37,0xA0,0x34,}},
+ {0x25EA,4,{0x81,0x37,0xA0,0x35,}},
+ {0x25EB,4,{0x81,0x37,0xA0,0x36,}},
+ {0x25EC,4,{0x81,0x37,0xA0,0x37,}},
+ {0x25ED,4,{0x81,0x37,0xA0,0x38,}},
+ {0x25EE,4,{0x81,0x37,0xA0,0x39,}},
+ {0x25EF,4,{0x81,0x37,0xA1,0x30,}},
+ {0x25F0,4,{0x81,0x37,0xA1,0x31,}},
+ {0x25F1,4,{0x81,0x37,0xA1,0x32,}},
+ {0x25F2,4,{0x81,0x37,0xA1,0x33,}},
+ {0x25F3,4,{0x81,0x37,0xA1,0x34,}},
+ {0x25F4,4,{0x81,0x37,0xA1,0x35,}},
+ {0x25F5,4,{0x81,0x37,0xA1,0x36,}},
+ {0x25F6,4,{0x81,0x37,0xA1,0x37,}},
+ {0x25F7,4,{0x81,0x37,0xA1,0x38,}},
+ {0x25F8,4,{0x81,0x37,0xA1,0x39,}},
+ {0x25F9,4,{0x81,0x37,0xA2,0x30,}},
+ {0x25FA,4,{0x81,0x37,0xA2,0x31,}},
+ {0x25FB,4,{0x81,0x37,0xA2,0x32,}},
+ {0x25FC,4,{0x81,0x37,0xA2,0x33,}},
+ {0x25FD,4,{0x81,0x37,0xA2,0x34,}},
+ {0x25FE,4,{0x81,0x37,0xA2,0x35,}},
+ {0x25FF,4,{0x81,0x37,0xA2,0x36,}},
+ {0x2600,4,{0x81,0x37,0xA2,0x37,}},
+ {0x2601,4,{0x81,0x37,0xA2,0x38,}},
+ {0x2602,4,{0x81,0x37,0xA2,0x39,}},
+ {0x2603,4,{0x81,0x37,0xA3,0x30,}},
+ {0x2604,4,{0x81,0x37,0xA3,0x31,}},
+ {0x2605,2,{0xA1,0xEF,0x00,0x00,}},
+ {0x2606,2,{0xA1,0xEE,0x00,0x00,}},
+ {0x2607,4,{0x81,0x37,0xA3,0x32,}},
+ {0x2608,4,{0x81,0x37,0xA3,0x33,}},
+ {0x2609,2,{0xA8,0x91,0x00,0x00,}},
+ {0x260A,4,{0x81,0x37,0xA3,0x34,}},
+ {0x260B,4,{0x81,0x37,0xA3,0x35,}},
+ {0x260C,4,{0x81,0x37,0xA3,0x36,}},
+ {0x260D,4,{0x81,0x37,0xA3,0x37,}},
+ {0x260E,4,{0x81,0x37,0xA3,0x38,}},
+ {0x260F,4,{0x81,0x37,0xA3,0x39,}},
+ {0x2610,4,{0x81,0x37,0xA4,0x30,}},
+ {0x2611,4,{0x81,0x37,0xA4,0x31,}},
+ {0x2612,4,{0x81,0x37,0xA4,0x32,}},
+ {0x2613,4,{0x81,0x37,0xA4,0x33,}},
+ {0x2614,4,{0x81,0x37,0xA4,0x34,}},
+ {0x2615,4,{0x81,0x37,0xA4,0x35,}},
+ {0x2616,4,{0x81,0x37,0xA4,0x36,}},
+ {0x2617,4,{0x81,0x37,0xA4,0x37,}},
+ {0x2618,4,{0x81,0x37,0xA4,0x38,}},
+ {0x2619,4,{0x81,0x37,0xA4,0x39,}},
+ {0x261A,4,{0x81,0x37,0xA5,0x30,}},
+ {0x261B,4,{0x81,0x37,0xA5,0x31,}},
+ {0x261C,4,{0x81,0x37,0xA5,0x32,}},
+ {0x261D,4,{0x81,0x37,0xA5,0x33,}},
+ {0x261E,4,{0x81,0x37,0xA5,0x34,}},
+ {0x261F,4,{0x81,0x37,0xA5,0x35,}},
+ {0x2620,4,{0x81,0x37,0xA5,0x36,}},
+ {0x2621,4,{0x81,0x37,0xA5,0x37,}},
+ {0x2622,4,{0x81,0x37,0xA5,0x38,}},
+ {0x2623,4,{0x81,0x37,0xA5,0x39,}},
+ {0x2624,4,{0x81,0x37,0xA6,0x30,}},
+ {0x2625,4,{0x81,0x37,0xA6,0x31,}},
+ {0x2626,4,{0x81,0x37,0xA6,0x32,}},
+ {0x2627,4,{0x81,0x37,0xA6,0x33,}},
+ {0x2628,4,{0x81,0x37,0xA6,0x34,}},
+ {0x2629,4,{0x81,0x37,0xA6,0x35,}},
+ {0x262A,4,{0x81,0x37,0xA6,0x36,}},
+ {0x262B,4,{0x81,0x37,0xA6,0x37,}},
+ {0x262C,4,{0x81,0x37,0xA6,0x38,}},
+ {0x262D,4,{0x81,0x37,0xA6,0x39,}},
+ {0x262E,4,{0x81,0x37,0xA7,0x30,}},
+ {0x262F,4,{0x81,0x37,0xA7,0x31,}},
+ {0x2630,4,{0x81,0x37,0xA7,0x32,}},
+ {0x2631,4,{0x81,0x37,0xA7,0x33,}},
+ {0x2632,4,{0x81,0x37,0xA7,0x34,}},
+ {0x2633,4,{0x81,0x37,0xA7,0x35,}},
+ {0x2634,4,{0x81,0x37,0xA7,0x36,}},
+ {0x2635,4,{0x81,0x37,0xA7,0x37,}},
+ {0x2636,4,{0x81,0x37,0xA7,0x38,}},
+ {0x2637,4,{0x81,0x37,0xA7,0x39,}},
+ {0x2638,4,{0x81,0x37,0xA8,0x30,}},
+ {0x2639,4,{0x81,0x37,0xA8,0x31,}},
+ {0x263A,4,{0x81,0x37,0xA8,0x32,}},
+ {0x263B,4,{0x81,0x37,0xA8,0x33,}},
+ {0x263C,4,{0x81,0x37,0xA8,0x34,}},
+ {0x263D,4,{0x81,0x37,0xA8,0x35,}},
+ {0x263E,4,{0x81,0x37,0xA8,0x36,}},
+ {0x263F,4,{0x81,0x37,0xA8,0x37,}},
+ {0x2640,2,{0xA1,0xE2,0x00,0x00,}},
+ {0x2641,4,{0x81,0x37,0xA8,0x38,}},
+ {0x2642,2,{0xA1,0xE1,0x00,0x00,}},
+ {0x2E81,2,{0xFE,0x50,0x00,0x00,}},
+ {0x2E82,4,{0x81,0x38,0xFD,0x39,}},
+ {0x2E83,4,{0x81,0x38,0xFE,0x30,}},
+ {0x2E84,2,{0xFE,0x54,0x00,0x00,}},
+ {0x2E85,4,{0x81,0x38,0xFE,0x31,}},
+ {0x2E86,4,{0x81,0x38,0xFE,0x32,}},
+ {0x2E87,4,{0x81,0x38,0xFE,0x33,}},
+ {0x2E88,2,{0xFE,0x57,0x00,0x00,}},
+ {0x2E89,4,{0x81,0x38,0xFE,0x34,}},
+ {0x2E8A,4,{0x81,0x38,0xFE,0x35,}},
+ {0x2E8B,2,{0xFE,0x58,0x00,0x00,}},
+ {0x2E8C,2,{0xFE,0x5D,0x00,0x00,}},
+ {0x2E8D,4,{0x81,0x38,0xFE,0x36,}},
+ {0x2E8E,4,{0x81,0x38,0xFE,0x37,}},
+ {0x2E8F,4,{0x81,0x38,0xFE,0x38,}},
+ {0x2E90,4,{0x81,0x38,0xFE,0x39,}},
+ {0x2E91,4,{0x81,0x39,0x81,0x30,}},
+ {0x2E92,4,{0x81,0x39,0x81,0x31,}},
+ {0x2E93,4,{0x81,0x39,0x81,0x32,}},
+ {0x2E94,4,{0x81,0x39,0x81,0x33,}},
+ {0x2E95,4,{0x81,0x39,0x81,0x34,}},
+ {0x2E96,4,{0x81,0x39,0x81,0x35,}},
+ {0x2E97,2,{0xFE,0x5E,0x00,0x00,}},
+ {0x2E98,4,{0x81,0x39,0x81,0x36,}},
+ {0x2E99,4,{0x81,0x39,0x81,0x37,}},
+ {0x2E9A,4,{0x81,0x39,0x81,0x38,}},
+ {0x2E9B,4,{0x81,0x39,0x81,0x39,}},
+ {0x2E9C,4,{0x81,0x39,0x82,0x30,}},
+ {0x2E9D,4,{0x81,0x39,0x82,0x31,}},
+ {0x2E9E,4,{0x81,0x39,0x82,0x32,}},
+ {0x2E9F,4,{0x81,0x39,0x82,0x33,}},
+ {0x2EA0,4,{0x81,0x39,0x82,0x34,}},
+ {0x2EA1,4,{0x81,0x39,0x82,0x35,}},
+ {0x2EA2,4,{0x81,0x39,0x82,0x36,}},
+ {0x2EA3,4,{0x81,0x39,0x82,0x37,}},
+ {0x2EA4,4,{0x81,0x39,0x82,0x38,}},
+ {0x2EA5,4,{0x81,0x39,0x82,0x39,}},
+ {0x2EA6,4,{0x81,0x39,0x83,0x30,}},
+ {0x2EA7,2,{0xFE,0x6B,0x00,0x00,}},
+ {0x2EA8,4,{0x81,0x39,0x83,0x31,}},
+ {0x2EA9,4,{0x81,0x39,0x83,0x32,}},
+ {0x2EAA,2,{0xFE,0x6E,0x00,0x00,}},
+ {0x2EAB,4,{0x81,0x39,0x83,0x33,}},
+ {0x2EAC,4,{0x81,0x39,0x83,0x34,}},
+ {0x2EAD,4,{0x81,0x39,0x83,0x35,}},
+ {0x2EAE,2,{0xFE,0x71,0x00,0x00,}},
+ {0x2EAF,4,{0x81,0x39,0x83,0x36,}},
+ {0x2EB0,4,{0x81,0x39,0x83,0x37,}},
+ {0x2EB1,4,{0x81,0x39,0x83,0x38,}},
+ {0x2EB2,4,{0x81,0x39,0x83,0x39,}},
+ {0x2EB3,2,{0xFE,0x73,0x00,0x00,}},
+ {0x2EB4,4,{0x81,0x39,0x84,0x30,}},
+ {0x2EB5,4,{0x81,0x39,0x84,0x31,}},
+ {0x2EB6,2,{0xFE,0x74,0x00,0x00,}},
+ {0x2EB7,2,{0xFE,0x75,0x00,0x00,}},
+ {0x2EB8,4,{0x81,0x39,0x84,0x32,}},
+ {0x2EB9,4,{0x81,0x39,0x84,0x33,}},
+ {0x2EBA,4,{0x81,0x39,0x84,0x34,}},
+ {0x2EBB,2,{0xFE,0x79,0x00,0x00,}},
+ {0x2EBC,4,{0x81,0x39,0x84,0x35,}},
+ {0x2EBD,4,{0x81,0x39,0x84,0x36,}},
+ {0x2EBE,4,{0x81,0x39,0x84,0x37,}},
+ {0x2EBF,4,{0x81,0x39,0x84,0x38,}},
+ {0x2EC0,4,{0x81,0x39,0x84,0x39,}},
+ {0x2EC1,4,{0x81,0x39,0x85,0x30,}},
+ {0x2EC2,4,{0x81,0x39,0x85,0x31,}},
+ {0x2EC3,4,{0x81,0x39,0x85,0x32,}},
+ {0x2EC4,4,{0x81,0x39,0x85,0x33,}},
+ {0x2EC5,4,{0x81,0x39,0x85,0x34,}},
+ {0x2EC6,4,{0x81,0x39,0x85,0x35,}},
+ {0x2EC7,4,{0x81,0x39,0x85,0x36,}},
+ {0x2EC8,4,{0x81,0x39,0x85,0x37,}},
+ {0x2EC9,4,{0x81,0x39,0x85,0x38,}},
+ {0x2ECA,2,{0xFE,0x84,0x00,0x00,}},
+ {0x2ECB,4,{0x81,0x39,0x85,0x39,}},
+ {0x2ECC,4,{0x81,0x39,0x86,0x30,}},
+ {0x2ECD,4,{0x81,0x39,0x86,0x31,}},
+ {0x2ECE,4,{0x81,0x39,0x86,0x32,}},
+ {0x2ECF,4,{0x81,0x39,0x86,0x33,}},
+ {0x2ED0,4,{0x81,0x39,0x86,0x34,}},
+ {0x2ED1,4,{0x81,0x39,0x86,0x35,}},
+ {0x2ED2,4,{0x81,0x39,0x86,0x36,}},
+ {0x2ED3,4,{0x81,0x39,0x86,0x37,}},
+ {0x2ED4,4,{0x81,0x39,0x86,0x38,}},
+ {0x2ED5,4,{0x81,0x39,0x86,0x39,}},
+ {0x2ED6,4,{0x81,0x39,0x87,0x30,}},
+ {0x2ED7,4,{0x81,0x39,0x87,0x31,}},
+ {0x2ED8,4,{0x81,0x39,0x87,0x32,}},
+ {0x2ED9,4,{0x81,0x39,0x87,0x33,}},
+ {0x2EDA,4,{0x81,0x39,0x87,0x34,}},
+ {0x2EDB,4,{0x81,0x39,0x87,0x35,}},
+ {0x2EDC,4,{0x81,0x39,0x87,0x36,}},
+ {0x2EDD,4,{0x81,0x39,0x87,0x37,}},
+ {0x2EDE,4,{0x81,0x39,0x87,0x38,}},
+ {0x2EDF,4,{0x81,0x39,0x87,0x39,}},
+ {0x2EE0,4,{0x81,0x39,0x88,0x30,}},
+ {0x2EE1,4,{0x81,0x39,0x88,0x31,}},
+ {0x2EE2,4,{0x81,0x39,0x88,0x32,}},
+ {0x2EE3,4,{0x81,0x39,0x88,0x33,}},
+ {0x2EE4,4,{0x81,0x39,0x88,0x34,}},
+ {0x2EE5,4,{0x81,0x39,0x88,0x35,}},
+ {0x2EE6,4,{0x81,0x39,0x88,0x36,}},
+ {0x2EE7,4,{0x81,0x39,0x88,0x37,}},
+ {0x2EE8,4,{0x81,0x39,0x88,0x38,}},
+ {0x2EE9,4,{0x81,0x39,0x88,0x39,}},
+ {0x2EEA,4,{0x81,0x39,0x89,0x30,}},
+ {0x2EEB,4,{0x81,0x39,0x89,0x31,}},
+ {0x2EEC,4,{0x81,0x39,0x89,0x32,}},
+ {0x2EED,4,{0x81,0x39,0x89,0x33,}},
+ {0x2EEE,4,{0x81,0x39,0x89,0x34,}},
+ {0x2EEF,4,{0x81,0x39,0x89,0x35,}},
+ {0x2EF0,4,{0x81,0x39,0x89,0x36,}},
+ {0x2EF1,4,{0x81,0x39,0x89,0x37,}},
+ {0x2EF2,4,{0x81,0x39,0x89,0x38,}},
+ {0x2EF3,4,{0x81,0x39,0x89,0x39,}},
+ {0x2EF4,4,{0x81,0x39,0x8A,0x30,}},
+ {0x2EF5,4,{0x81,0x39,0x8A,0x31,}},
+ {0x2EF6,4,{0x81,0x39,0x8A,0x32,}},
+ {0x2EF7,4,{0x81,0x39,0x8A,0x33,}},
+ {0x2EF8,4,{0x81,0x39,0x8A,0x34,}},
+ {0x2EF9,4,{0x81,0x39,0x8A,0x35,}},
+ {0x2EFA,4,{0x81,0x39,0x8A,0x36,}},
+ {0x2EFB,4,{0x81,0x39,0x8A,0x37,}},
+ {0x2EFC,4,{0x81,0x39,0x8A,0x38,}},
+ {0x2EFD,4,{0x81,0x39,0x8A,0x39,}},
+ {0x2EFE,4,{0x81,0x39,0x8B,0x30,}},
+ {0x2EFF,4,{0x81,0x39,0x8B,0x31,}},
+ {0x2F00,4,{0x81,0x39,0x8B,0x32,}},
+ {0x2F01,4,{0x81,0x39,0x8B,0x33,}},
+ {0x2F02,4,{0x81,0x39,0x8B,0x34,}},
+ {0x2F03,4,{0x81,0x39,0x8B,0x35,}},
+ {0x2F04,4,{0x81,0x39,0x8B,0x36,}},
+ {0x2F05,4,{0x81,0x39,0x8B,0x37,}},
+ {0x2F06,4,{0x81,0x39,0x8B,0x38,}},
+ {0x2F07,4,{0x81,0x39,0x8B,0x39,}},
+ {0x2F08,4,{0x81,0x39,0x8C,0x30,}},
+ {0x2F09,4,{0x81,0x39,0x8C,0x31,}},
+ {0x2F0A,4,{0x81,0x39,0x8C,0x32,}},
+ {0x2F0B,4,{0x81,0x39,0x8C,0x33,}},
+ {0x2F0C,4,{0x81,0x39,0x8C,0x34,}},
+ {0x2F0D,4,{0x81,0x39,0x8C,0x35,}},
+ {0x2F0E,4,{0x81,0x39,0x8C,0x36,}},
+ {0x2F0F,4,{0x81,0x39,0x8C,0x37,}},
+ {0x2F10,4,{0x81,0x39,0x8C,0x38,}},
+ {0x2F11,4,{0x81,0x39,0x8C,0x39,}},
+ {0x2F12,4,{0x81,0x39,0x8D,0x30,}},
+ {0x2F13,4,{0x81,0x39,0x8D,0x31,}},
+ {0x2F14,4,{0x81,0x39,0x8D,0x32,}},
+ {0x2F15,4,{0x81,0x39,0x8D,0x33,}},
+ {0x2F16,4,{0x81,0x39,0x8D,0x34,}},
+ {0x2F17,4,{0x81,0x39,0x8D,0x35,}},
+ {0x2F18,4,{0x81,0x39,0x8D,0x36,}},
+ {0x2F19,4,{0x81,0x39,0x8D,0x37,}},
+ {0x2F1A,4,{0x81,0x39,0x8D,0x38,}},
+ {0x2F1B,4,{0x81,0x39,0x8D,0x39,}},
+ {0x2F1C,4,{0x81,0x39,0x8E,0x30,}},
+ {0x2F1D,4,{0x81,0x39,0x8E,0x31,}},
+ {0x2F1E,4,{0x81,0x39,0x8E,0x32,}},
+ {0x2F1F,4,{0x81,0x39,0x8E,0x33,}},
+ {0x2F20,4,{0x81,0x39,0x8E,0x34,}},
+ {0x2F21,4,{0x81,0x39,0x8E,0x35,}},
+ {0x2F22,4,{0x81,0x39,0x8E,0x36,}},
+ {0x2F23,4,{0x81,0x39,0x8E,0x37,}},
+ {0x2F24,4,{0x81,0x39,0x8E,0x38,}},
+ {0x2F25,4,{0x81,0x39,0x8E,0x39,}},
+ {0x2F26,4,{0x81,0x39,0x8F,0x30,}},
+ {0x2F27,4,{0x81,0x39,0x8F,0x31,}},
+ {0x2F28,4,{0x81,0x39,0x8F,0x32,}},
+ {0x2F29,4,{0x81,0x39,0x8F,0x33,}},
+ {0x2F2A,4,{0x81,0x39,0x8F,0x34,}},
+ {0x2F2B,4,{0x81,0x39,0x8F,0x35,}},
+ {0x2F2C,4,{0x81,0x39,0x8F,0x36,}},
+ {0x2F2D,4,{0x81,0x39,0x8F,0x37,}},
+ {0x2F2E,4,{0x81,0x39,0x8F,0x38,}},
+ {0x2F2F,4,{0x81,0x39,0x8F,0x39,}},
+ {0x2F30,4,{0x81,0x39,0x90,0x30,}},
+ {0x2F31,4,{0x81,0x39,0x90,0x31,}},
+ {0x2F32,4,{0x81,0x39,0x90,0x32,}},
+ {0x2F33,4,{0x81,0x39,0x90,0x33,}},
+ {0x2F34,4,{0x81,0x39,0x90,0x34,}},
+ {0x2F35,4,{0x81,0x39,0x90,0x35,}},
+ {0x2F36,4,{0x81,0x39,0x90,0x36,}},
+ {0x2F37,4,{0x81,0x39,0x90,0x37,}},
+ {0x2F38,4,{0x81,0x39,0x90,0x38,}},
+ {0x2F39,4,{0x81,0x39,0x90,0x39,}},
+ {0x2F3A,4,{0x81,0x39,0x91,0x30,}},
+ {0x2F3B,4,{0x81,0x39,0x91,0x31,}},
+ {0x2F3C,4,{0x81,0x39,0x91,0x32,}},
+ {0x2F3D,4,{0x81,0x39,0x91,0x33,}},
+ {0x2F3E,4,{0x81,0x39,0x91,0x34,}},
+ {0x2F3F,4,{0x81,0x39,0x91,0x35,}},
+ {0x2F40,4,{0x81,0x39,0x91,0x36,}},
+ {0x2F41,4,{0x81,0x39,0x91,0x37,}},
+ {0x2F42,4,{0x81,0x39,0x91,0x38,}},
+ {0x2F43,4,{0x81,0x39,0x91,0x39,}},
+ {0x2F44,4,{0x81,0x39,0x92,0x30,}},
+ {0x2F45,4,{0x81,0x39,0x92,0x31,}},
+ {0x2F46,4,{0x81,0x39,0x92,0x32,}},
+ {0x2F47,4,{0x81,0x39,0x92,0x33,}},
+ {0x2F48,4,{0x81,0x39,0x92,0x34,}},
+ {0x2F49,4,{0x81,0x39,0x92,0x35,}},
+ {0x2F4A,4,{0x81,0x39,0x92,0x36,}},
+ {0x2F4B,4,{0x81,0x39,0x92,0x37,}},
+ {0x2F4C,4,{0x81,0x39,0x92,0x38,}},
+ {0x2F4D,4,{0x81,0x39,0x92,0x39,}},
+ {0x2F4E,4,{0x81,0x39,0x93,0x30,}},
+ {0x2F4F,4,{0x81,0x39,0x93,0x31,}},
+ {0x2F50,4,{0x81,0x39,0x93,0x32,}},
+ {0x2F51,4,{0x81,0x39,0x93,0x33,}},
+ {0x2F52,4,{0x81,0x39,0x93,0x34,}},
+ {0x2F53,4,{0x81,0x39,0x93,0x35,}},
+ {0x2F54,4,{0x81,0x39,0x93,0x36,}},
+ {0x2F55,4,{0x81,0x39,0x93,0x37,}},
+ {0x2F56,4,{0x81,0x39,0x93,0x38,}},
+ {0x2F57,4,{0x81,0x39,0x93,0x39,}},
+ {0x2F58,4,{0x81,0x39,0x94,0x30,}},
+ {0x2F59,4,{0x81,0x39,0x94,0x31,}},
+ {0x2F5A,4,{0x81,0x39,0x94,0x32,}},
+ {0x2F5B,4,{0x81,0x39,0x94,0x33,}},
+ {0x2F5C,4,{0x81,0x39,0x94,0x34,}},
+ {0x2F5D,4,{0x81,0x39,0x94,0x35,}},
+ {0x2F5E,4,{0x81,0x39,0x94,0x36,}},
+ {0x2F5F,4,{0x81,0x39,0x94,0x37,}},
+ {0x2F60,4,{0x81,0x39,0x94,0x38,}},
+ {0x2F61,4,{0x81,0x39,0x94,0x39,}},
+ {0x2F62,4,{0x81,0x39,0x95,0x30,}},
+ {0x2F63,4,{0x81,0x39,0x95,0x31,}},
+ {0x2F64,4,{0x81,0x39,0x95,0x32,}},
+ {0x2F65,4,{0x81,0x39,0x95,0x33,}},
+ {0x2F66,4,{0x81,0x39,0x95,0x34,}},
+ {0x2F67,4,{0x81,0x39,0x95,0x35,}},
+ {0x2F68,4,{0x81,0x39,0x95,0x36,}},
+ {0x2F69,4,{0x81,0x39,0x95,0x37,}},
+ {0x2F6A,4,{0x81,0x39,0x95,0x38,}},
+ {0x2F6B,4,{0x81,0x39,0x95,0x39,}},
+ {0x2F6C,4,{0x81,0x39,0x96,0x30,}},
+ {0x2F6D,4,{0x81,0x39,0x96,0x31,}},
+ {0x2F6E,4,{0x81,0x39,0x96,0x32,}},
+ {0x2F6F,4,{0x81,0x39,0x96,0x33,}},
+ {0x2F70,4,{0x81,0x39,0x96,0x34,}},
+ {0x2F71,4,{0x81,0x39,0x96,0x35,}},
+ {0x2F72,4,{0x81,0x39,0x96,0x36,}},
+ {0x2F73,4,{0x81,0x39,0x96,0x37,}},
+ {0x2F74,4,{0x81,0x39,0x96,0x38,}},
+ {0x2F75,4,{0x81,0x39,0x96,0x39,}},
+ {0x2F76,4,{0x81,0x39,0x97,0x30,}},
+ {0x2F77,4,{0x81,0x39,0x97,0x31,}},
+ {0x2F78,4,{0x81,0x39,0x97,0x32,}},
+ {0x2F79,4,{0x81,0x39,0x97,0x33,}},
+ {0x2F7A,4,{0x81,0x39,0x97,0x34,}},
+ {0x2F7B,4,{0x81,0x39,0x97,0x35,}},
+ {0x2F7C,4,{0x81,0x39,0x97,0x36,}},
+ {0x2F7D,4,{0x81,0x39,0x97,0x37,}},
+ {0x2F7E,4,{0x81,0x39,0x97,0x38,}},
+ {0x2F7F,4,{0x81,0x39,0x97,0x39,}},
+ {0x2F80,4,{0x81,0x39,0x98,0x30,}},
+ {0x2F81,4,{0x81,0x39,0x98,0x31,}},
+ {0x2F82,4,{0x81,0x39,0x98,0x32,}},
+ {0x2F83,4,{0x81,0x39,0x98,0x33,}},
+ {0x2F84,4,{0x81,0x39,0x98,0x34,}},
+ {0x2F85,4,{0x81,0x39,0x98,0x35,}},
+ {0x2F86,4,{0x81,0x39,0x98,0x36,}},
+ {0x2F87,4,{0x81,0x39,0x98,0x37,}},
+ {0x2F88,4,{0x81,0x39,0x98,0x38,}},
+ {0x2F89,4,{0x81,0x39,0x98,0x39,}},
+ {0x2F8A,4,{0x81,0x39,0x99,0x30,}},
+ {0x2F8B,4,{0x81,0x39,0x99,0x31,}},
+ {0x2F8C,4,{0x81,0x39,0x99,0x32,}},
+ {0x2F8D,4,{0x81,0x39,0x99,0x33,}},
+ {0x2F8E,4,{0x81,0x39,0x99,0x34,}},
+ {0x2F8F,4,{0x81,0x39,0x99,0x35,}},
+ {0x2F90,4,{0x81,0x39,0x99,0x36,}},
+ {0x2F91,4,{0x81,0x39,0x99,0x37,}},
+ {0x2F92,4,{0x81,0x39,0x99,0x38,}},
+ {0x2F93,4,{0x81,0x39,0x99,0x39,}},
+ {0x2F94,4,{0x81,0x39,0x9A,0x30,}},
+ {0x2F95,4,{0x81,0x39,0x9A,0x31,}},
+ {0x2F96,4,{0x81,0x39,0x9A,0x32,}},
+ {0x2F97,4,{0x81,0x39,0x9A,0x33,}},
+ {0x2F98,4,{0x81,0x39,0x9A,0x34,}},
+ {0x2F99,4,{0x81,0x39,0x9A,0x35,}},
+ {0x2F9A,4,{0x81,0x39,0x9A,0x36,}},
+ {0x2F9B,4,{0x81,0x39,0x9A,0x37,}},
+ {0x2F9C,4,{0x81,0x39,0x9A,0x38,}},
+ {0x2F9D,4,{0x81,0x39,0x9A,0x39,}},
+ {0x2F9E,4,{0x81,0x39,0x9B,0x30,}},
+ {0x2F9F,4,{0x81,0x39,0x9B,0x31,}},
+ {0x2FA0,4,{0x81,0x39,0x9B,0x32,}},
+ {0x2FA1,4,{0x81,0x39,0x9B,0x33,}},
+ {0x2FA2,4,{0x81,0x39,0x9B,0x34,}},
+ {0x2FA3,4,{0x81,0x39,0x9B,0x35,}},
+ {0x2FA4,4,{0x81,0x39,0x9B,0x36,}},
+ {0x2FA5,4,{0x81,0x39,0x9B,0x37,}},
+ {0x2FA6,4,{0x81,0x39,0x9B,0x38,}},
+ {0x2FA7,4,{0x81,0x39,0x9B,0x39,}},
+ {0x2FA8,4,{0x81,0x39,0x9C,0x30,}},
+ {0x2FA9,4,{0x81,0x39,0x9C,0x31,}},
+ {0x2FAA,4,{0x81,0x39,0x9C,0x32,}},
+ {0x2FAB,4,{0x81,0x39,0x9C,0x33,}},
+ {0x2FAC,4,{0x81,0x39,0x9C,0x34,}},
+ {0x2FAD,4,{0x81,0x39,0x9C,0x35,}},
+ {0x2FAE,4,{0x81,0x39,0x9C,0x36,}},
+ {0x2FAF,4,{0x81,0x39,0x9C,0x37,}},
+ {0x2FB0,4,{0x81,0x39,0x9C,0x38,}},
+ {0x2FB1,4,{0x81,0x39,0x9C,0x39,}},
+ {0x2FB2,4,{0x81,0x39,0x9D,0x30,}},
+ {0x2FB3,4,{0x81,0x39,0x9D,0x31,}},
+ {0x2FB4,4,{0x81,0x39,0x9D,0x32,}},
+ {0x2FB5,4,{0x81,0x39,0x9D,0x33,}},
+ {0x2FB6,4,{0x81,0x39,0x9D,0x34,}},
+ {0x2FB7,4,{0x81,0x39,0x9D,0x35,}},
+ {0x2FB8,4,{0x81,0x39,0x9D,0x36,}},
+ {0x2FB9,4,{0x81,0x39,0x9D,0x37,}},
+ {0x2FBA,4,{0x81,0x39,0x9D,0x38,}},
+ {0x2FBB,4,{0x81,0x39,0x9D,0x39,}},
+ {0x2FBC,4,{0x81,0x39,0x9E,0x30,}},
+ {0x2FBD,4,{0x81,0x39,0x9E,0x31,}},
+ {0x2FBE,4,{0x81,0x39,0x9E,0x32,}},
+ {0x2FBF,4,{0x81,0x39,0x9E,0x33,}},
+ {0x2FC0,4,{0x81,0x39,0x9E,0x34,}},
+ {0x2FC1,4,{0x81,0x39,0x9E,0x35,}},
+ {0x2FC2,4,{0x81,0x39,0x9E,0x36,}},
+ {0x2FC3,4,{0x81,0x39,0x9E,0x37,}},
+ {0x2FC4,4,{0x81,0x39,0x9E,0x38,}},
+ {0x2FC5,4,{0x81,0x39,0x9E,0x39,}},
+ {0x2FC6,4,{0x81,0x39,0x9F,0x30,}},
+ {0x2FC7,4,{0x81,0x39,0x9F,0x31,}},
+ {0x2FC8,4,{0x81,0x39,0x9F,0x32,}},
+ {0x2FC9,4,{0x81,0x39,0x9F,0x33,}},
+ {0x2FCA,4,{0x81,0x39,0x9F,0x34,}},
+ {0x2FCB,4,{0x81,0x39,0x9F,0x35,}},
+ {0x2FCC,4,{0x81,0x39,0x9F,0x36,}},
+ {0x2FCD,4,{0x81,0x39,0x9F,0x37,}},
+ {0x2FCE,4,{0x81,0x39,0x9F,0x38,}},
+ {0x2FCF,4,{0x81,0x39,0x9F,0x39,}},
+ {0x2FD0,4,{0x81,0x39,0xA0,0x30,}},
+ {0x2FD1,4,{0x81,0x39,0xA0,0x31,}},
+ {0x2FD2,4,{0x81,0x39,0xA0,0x32,}},
+ {0x2FD3,4,{0x81,0x39,0xA0,0x33,}},
+ {0x2FD4,4,{0x81,0x39,0xA0,0x34,}},
+ {0x2FD5,4,{0x81,0x39,0xA0,0x35,}},
+ {0x2FD6,4,{0x81,0x39,0xA0,0x36,}},
+ {0x2FD7,4,{0x81,0x39,0xA0,0x37,}},
+ {0x2FD8,4,{0x81,0x39,0xA0,0x38,}},
+ {0x2FD9,4,{0x81,0x39,0xA0,0x39,}},
+ {0x2FDA,4,{0x81,0x39,0xA1,0x30,}},
+ {0x2FDB,4,{0x81,0x39,0xA1,0x31,}},
+ {0x2FDC,4,{0x81,0x39,0xA1,0x32,}},
+ {0x2FDD,4,{0x81,0x39,0xA1,0x33,}},
+ {0x2FDE,4,{0x81,0x39,0xA1,0x34,}},
+ {0x2FDF,4,{0x81,0x39,0xA1,0x35,}},
+ {0x2FE0,4,{0x81,0x39,0xA1,0x36,}},
+ {0x2FE1,4,{0x81,0x39,0xA1,0x37,}},
+ {0x2FE2,4,{0x81,0x39,0xA1,0x38,}},
+ {0x2FE3,4,{0x81,0x39,0xA1,0x39,}},
+ {0x2FE4,4,{0x81,0x39,0xA2,0x30,}},
+ {0x2FE5,4,{0x81,0x39,0xA2,0x31,}},
+ {0x2FE6,4,{0x81,0x39,0xA2,0x32,}},
+ {0x2FE7,4,{0x81,0x39,0xA2,0x33,}},
+ {0x2FE8,4,{0x81,0x39,0xA2,0x34,}},
+ {0x2FE9,4,{0x81,0x39,0xA2,0x35,}},
+ {0x2FEA,4,{0x81,0x39,0xA2,0x36,}},
+ {0x2FEB,4,{0x81,0x39,0xA2,0x37,}},
+ {0x2FEC,4,{0x81,0x39,0xA2,0x38,}},
+ {0x2FED,4,{0x81,0x39,0xA2,0x39,}},
+ {0x2FEE,4,{0x81,0x39,0xA3,0x30,}},
+ {0x2FEF,4,{0x81,0x39,0xA3,0x31,}},
+ {0x2FF0,2,{0xA9,0x8A,0x00,0x00,}},
+ {0x2FF1,2,{0xA9,0x8B,0x00,0x00,}},
+ {0x2FF2,2,{0xA9,0x8C,0x00,0x00,}},
+ {0x2FF3,2,{0xA9,0x8D,0x00,0x00,}},
+ {0x2FF4,2,{0xA9,0x8E,0x00,0x00,}},
+ {0x2FF5,2,{0xA9,0x8F,0x00,0x00,}},
+ {0x2FF6,2,{0xA9,0x90,0x00,0x00,}},
+ {0x2FF7,2,{0xA9,0x91,0x00,0x00,}},
+ {0x2FF8,2,{0xA9,0x92,0x00,0x00,}},
+ {0x2FF9,2,{0xA9,0x93,0x00,0x00,}},
+ {0x2FFA,2,{0xA9,0x94,0x00,0x00,}},
+ {0x2FFB,2,{0xA9,0x95,0x00,0x00,}},
+ {0x2FFC,4,{0x81,0x39,0xA3,0x32,}},
+ {0x2FFD,4,{0x81,0x39,0xA3,0x33,}},
+ {0x2FFE,4,{0x81,0x39,0xA3,0x34,}},
+ {0x2FFF,4,{0x81,0x39,0xA3,0x35,}},
+ {0x3000,2,{0xA1,0xA1,0x00,0x00,}},
+ {0x3001,2,{0xA1,0xA2,0x00,0x00,}},
+ {0x3002,2,{0xA1,0xA3,0x00,0x00,}},
+ {0x3003,2,{0xA1,0xA8,0x00,0x00,}},
+ {0x3004,4,{0x81,0x39,0xA3,0x36,}},
+ {0x3005,2,{0xA1,0xA9,0x00,0x00,}},
+ {0x3006,2,{0xA9,0x65,0x00,0x00,}},
+ {0x3007,2,{0xA9,0x96,0x00,0x00,}},
+ {0x3008,2,{0xA1,0xB4,0x00,0x00,}},
+ {0x3009,2,{0xA1,0xB5,0x00,0x00,}},
+ {0x300A,2,{0xA1,0xB6,0x00,0x00,}},
+ {0x300B,2,{0xA1,0xB7,0x00,0x00,}},
+ {0x300C,2,{0xA1,0xB8,0x00,0x00,}},
+ {0x300D,2,{0xA1,0xB9,0x00,0x00,}},
+ {0x300E,2,{0xA1,0xBA,0x00,0x00,}},
+ {0x300F,2,{0xA1,0xBB,0x00,0x00,}},
+ {0x3010,2,{0xA1,0xBE,0x00,0x00,}},
+ {0x3011,2,{0xA1,0xBF,0x00,0x00,}},
+ {0x3012,2,{0xA8,0x93,0x00,0x00,}},
+ {0x3013,2,{0xA1,0xFE,0x00,0x00,}},
+ {0x3014,2,{0xA1,0xB2,0x00,0x00,}},
+ {0x3015,2,{0xA1,0xB3,0x00,0x00,}},
+ {0x3016,2,{0xA1,0xBC,0x00,0x00,}},
+ {0x3017,2,{0xA1,0xBD,0x00,0x00,}},
+ {0x3018,4,{0x81,0x39,0xA3,0x37,}},
+ {0x3019,4,{0x81,0x39,0xA3,0x38,}},
+ {0x301A,4,{0x81,0x39,0xA3,0x39,}},
+ {0x301B,4,{0x81,0x39,0xA4,0x30,}},
+ {0x301C,4,{0x81,0x39,0xA4,0x31,}},
+ {0x301D,2,{0xA8,0x94,0x00,0x00,}},
+ {0x301E,2,{0xA8,0x95,0x00,0x00,}},
+ {0x301F,4,{0x81,0x39,0xA4,0x32,}},
+ {0x3020,4,{0x81,0x39,0xA4,0x33,}},
+ {0x3021,2,{0xA9,0x40,0x00,0x00,}},
+ {0x3022,2,{0xA9,0x41,0x00,0x00,}},
+ {0x3023,2,{0xA9,0x42,0x00,0x00,}},
+ {0x3024,2,{0xA9,0x43,0x00,0x00,}},
+ {0x3025,2,{0xA9,0x44,0x00,0x00,}},
+ {0x3026,2,{0xA9,0x45,0x00,0x00,}},
+ {0x3027,2,{0xA9,0x46,0x00,0x00,}},
+ {0x3028,2,{0xA9,0x47,0x00,0x00,}},
+ {0x3029,2,{0xA9,0x48,0x00,0x00,}},
+ {0x302A,4,{0x81,0x39,0xA4,0x34,}},
+ {0x302B,4,{0x81,0x39,0xA4,0x35,}},
+ {0x302C,4,{0x81,0x39,0xA4,0x36,}},
+ {0x302D,4,{0x81,0x39,0xA4,0x37,}},
+ {0x302E,4,{0x81,0x39,0xA4,0x38,}},
+ {0x302F,4,{0x81,0x39,0xA4,0x39,}},
+ {0x3030,4,{0x81,0x39,0xA5,0x30,}},
+ {0x3031,4,{0x81,0x39,0xA5,0x31,}},
+ {0x3032,4,{0x81,0x39,0xA5,0x32,}},
+ {0x3033,4,{0x81,0x39,0xA5,0x33,}},
+ {0x3034,4,{0x81,0x39,0xA5,0x34,}},
+ {0x3035,4,{0x81,0x39,0xA5,0x35,}},
+ {0x3036,4,{0x81,0x39,0xA5,0x36,}},
+ {0x3037,4,{0x81,0x39,0xA5,0x37,}},
+ {0x3038,4,{0x81,0x39,0xA5,0x38,}},
+ {0x3039,4,{0x81,0x39,0xA5,0x39,}},
+ {0x303A,4,{0x81,0x39,0xA6,0x30,}},
+ {0x303B,4,{0x81,0x39,0xA6,0x31,}},
+ {0x303C,4,{0x81,0x39,0xA6,0x32,}},
+ {0x303D,4,{0x81,0x39,0xA6,0x33,}},
+ {0x303E,2,{0xA9,0x89,0x00,0x00,}},
+ {0x303F,4,{0x81,0x39,0xA6,0x34,}},
+ {0x3040,4,{0x81,0x39,0xA6,0x35,}},
+ {0x3041,2,{0xA4,0xA1,0x00,0x00,}},
+ {0x3042,2,{0xA4,0xA2,0x00,0x00,}},
+ {0x3043,2,{0xA4,0xA3,0x00,0x00,}},
+ {0x3044,2,{0xA4,0xA4,0x00,0x00,}},
+ {0x3045,2,{0xA4,0xA5,0x00,0x00,}},
+ {0x3046,2,{0xA4,0xA6,0x00,0x00,}},
+ {0x3047,2,{0xA4,0xA7,0x00,0x00,}},
+ {0x3048,2,{0xA4,0xA8,0x00,0x00,}},
+ {0x3049,2,{0xA4,0xA9,0x00,0x00,}},
+ {0x304A,2,{0xA4,0xAA,0x00,0x00,}},
+ {0x304B,2,{0xA4,0xAB,0x00,0x00,}},
+ {0x304C,2,{0xA4,0xAC,0x00,0x00,}},
+ {0x304D,2,{0xA4,0xAD,0x00,0x00,}},
+ {0x304E,2,{0xA4,0xAE,0x00,0x00,}},
+ {0x304F,2,{0xA4,0xAF,0x00,0x00,}},
+ {0x3050,2,{0xA4,0xB0,0x00,0x00,}},
+ {0x3051,2,{0xA4,0xB1,0x00,0x00,}},
+ {0x3052,2,{0xA4,0xB2,0x00,0x00,}},
+ {0x3053,2,{0xA4,0xB3,0x00,0x00,}},
+ {0x3054,2,{0xA4,0xB4,0x00,0x00,}},
+ {0x3055,2,{0xA4,0xB5,0x00,0x00,}},
+ {0x3056,2,{0xA4,0xB6,0x00,0x00,}},
+ {0x3057,2,{0xA4,0xB7,0x00,0x00,}},
+ {0x3058,2,{0xA4,0xB8,0x00,0x00,}},
+ {0x3059,2,{0xA4,0xB9,0x00,0x00,}},
+ {0x305A,2,{0xA4,0xBA,0x00,0x00,}},
+ {0x305B,2,{0xA4,0xBB,0x00,0x00,}},
+ {0x305C,2,{0xA4,0xBC,0x00,0x00,}},
+ {0x305D,2,{0xA4,0xBD,0x00,0x00,}},
+ {0x305E,2,{0xA4,0xBE,0x00,0x00,}},
+ {0x305F,2,{0xA4,0xBF,0x00,0x00,}},
+ {0x3060,2,{0xA4,0xC0,0x00,0x00,}},
+ {0x3061,2,{0xA4,0xC1,0x00,0x00,}},
+ {0x3062,2,{0xA4,0xC2,0x00,0x00,}},
+ {0x3063,2,{0xA4,0xC3,0x00,0x00,}},
+ {0x3064,2,{0xA4,0xC4,0x00,0x00,}},
+ {0x3065,2,{0xA4,0xC5,0x00,0x00,}},
+ {0x3066,2,{0xA4,0xC6,0x00,0x00,}},
+ {0x3067,2,{0xA4,0xC7,0x00,0x00,}},
+ {0x3068,2,{0xA4,0xC8,0x00,0x00,}},
+ {0x3069,2,{0xA4,0xC9,0x00,0x00,}},
+ {0x306A,2,{0xA4,0xCA,0x00,0x00,}},
+ {0x306B,2,{0xA4,0xCB,0x00,0x00,}},
+ {0x306C,2,{0xA4,0xCC,0x00,0x00,}},
+ {0x306D,2,{0xA4,0xCD,0x00,0x00,}},
+ {0x306E,2,{0xA4,0xCE,0x00,0x00,}},
+ {0x306F,2,{0xA4,0xCF,0x00,0x00,}},
+ {0x3070,2,{0xA4,0xD0,0x00,0x00,}},
+ {0x3071,2,{0xA4,0xD1,0x00,0x00,}},
+ {0x3072,2,{0xA4,0xD2,0x00,0x00,}},
+ {0x3073,2,{0xA4,0xD3,0x00,0x00,}},
+ {0x3074,2,{0xA4,0xD4,0x00,0x00,}},
+ {0x3075,2,{0xA4,0xD5,0x00,0x00,}},
+ {0x3076,2,{0xA4,0xD6,0x00,0x00,}},
+ {0x3077,2,{0xA4,0xD7,0x00,0x00,}},
+ {0x3078,2,{0xA4,0xD8,0x00,0x00,}},
+ {0x3079,2,{0xA4,0xD9,0x00,0x00,}},
+ {0x307A,2,{0xA4,0xDA,0x00,0x00,}},
+ {0x307B,2,{0xA4,0xDB,0x00,0x00,}},
+ {0x307C,2,{0xA4,0xDC,0x00,0x00,}},
+ {0x307D,2,{0xA4,0xDD,0x00,0x00,}},
+ {0x307E,2,{0xA4,0xDE,0x00,0x00,}},
+ {0x307F,2,{0xA4,0xDF,0x00,0x00,}},
+ {0x3080,2,{0xA4,0xE0,0x00,0x00,}},
+ {0x3081,2,{0xA4,0xE1,0x00,0x00,}},
+ {0x3082,2,{0xA4,0xE2,0x00,0x00,}},
+ {0x3083,2,{0xA4,0xE3,0x00,0x00,}},
+ {0x3084,2,{0xA4,0xE4,0x00,0x00,}},
+ {0x3085,2,{0xA4,0xE5,0x00,0x00,}},
+ {0x3086,2,{0xA4,0xE6,0x00,0x00,}},
+ {0x3087,2,{0xA4,0xE7,0x00,0x00,}},
+ {0x3088,2,{0xA4,0xE8,0x00,0x00,}},
+ {0x3089,2,{0xA4,0xE9,0x00,0x00,}},
+ {0x308A,2,{0xA4,0xEA,0x00,0x00,}},
+ {0x308B,2,{0xA4,0xEB,0x00,0x00,}},
+ {0x308C,2,{0xA4,0xEC,0x00,0x00,}},
+ {0x308D,2,{0xA4,0xED,0x00,0x00,}},
+ {0x308E,2,{0xA4,0xEE,0x00,0x00,}},
+ {0x308F,2,{0xA4,0xEF,0x00,0x00,}},
+ {0x3090,2,{0xA4,0xF0,0x00,0x00,}},
+ {0x3091,2,{0xA4,0xF1,0x00,0x00,}},
+ {0x3092,2,{0xA4,0xF2,0x00,0x00,}},
+ {0x3093,2,{0xA4,0xF3,0x00,0x00,}},
+ {0x3094,4,{0x81,0x39,0xA6,0x36,}},
+ {0x3095,4,{0x81,0x39,0xA6,0x37,}},
+ {0x3096,4,{0x81,0x39,0xA6,0x38,}},
+ {0x3097,4,{0x81,0x39,0xA6,0x39,}},
+ {0x3098,4,{0x81,0x39,0xA7,0x30,}},
+ {0x3099,4,{0x81,0x39,0xA7,0x31,}},
+ {0x309A,4,{0x81,0x39,0xA7,0x32,}},
+ {0x309B,2,{0xA9,0x61,0x00,0x00,}},
+ {0x309C,2,{0xA9,0x62,0x00,0x00,}},
+ {0x309D,2,{0xA9,0x66,0x00,0x00,}},
+ {0x309E,2,{0xA9,0x67,0x00,0x00,}},
+ {0x309F,4,{0x81,0x39,0xA7,0x33,}},
+ {0x30A0,4,{0x81,0x39,0xA7,0x34,}},
+ {0x30A1,2,{0xA5,0xA1,0x00,0x00,}},
+ {0x30A2,2,{0xA5,0xA2,0x00,0x00,}},
+ {0x30A3,2,{0xA5,0xA3,0x00,0x00,}},
+ {0x30A4,2,{0xA5,0xA4,0x00,0x00,}},
+ {0x30A5,2,{0xA5,0xA5,0x00,0x00,}},
+ {0x30A6,2,{0xA5,0xA6,0x00,0x00,}},
+ {0x30A7,2,{0xA5,0xA7,0x00,0x00,}},
+ {0x30A8,2,{0xA5,0xA8,0x00,0x00,}},
+ {0x30A9,2,{0xA5,0xA9,0x00,0x00,}},
+ {0x30AA,2,{0xA5,0xAA,0x00,0x00,}},
+ {0x30AB,2,{0xA5,0xAB,0x00,0x00,}},
+ {0x30AC,2,{0xA5,0xAC,0x00,0x00,}},
+ {0x30AD,2,{0xA5,0xAD,0x00,0x00,}},
+ {0x30AE,2,{0xA5,0xAE,0x00,0x00,}},
+ {0x30AF,2,{0xA5,0xAF,0x00,0x00,}},
+ {0x30B0,2,{0xA5,0xB0,0x00,0x00,}},
+ {0x30B1,2,{0xA5,0xB1,0x00,0x00,}},
+ {0x30B2,2,{0xA5,0xB2,0x00,0x00,}},
+ {0x30B3,2,{0xA5,0xB3,0x00,0x00,}},
+ {0x30B4,2,{0xA5,0xB4,0x00,0x00,}},
+ {0x30B5,2,{0xA5,0xB5,0x00,0x00,}},
+ {0x30B6,2,{0xA5,0xB6,0x00,0x00,}},
+ {0x30B7,2,{0xA5,0xB7,0x00,0x00,}},
+ {0x30B8,2,{0xA5,0xB8,0x00,0x00,}},
+ {0x30B9,2,{0xA5,0xB9,0x00,0x00,}},
+ {0x30BA,2,{0xA5,0xBA,0x00,0x00,}},
+ {0x30BB,2,{0xA5,0xBB,0x00,0x00,}},
+ {0x30BC,2,{0xA5,0xBC,0x00,0x00,}},
+ {0x30BD,2,{0xA5,0xBD,0x00,0x00,}},
+ {0x30BE,2,{0xA5,0xBE,0x00,0x00,}},
+ {0x30BF,2,{0xA5,0xBF,0x00,0x00,}},
+ {0x30C0,2,{0xA5,0xC0,0x00,0x00,}},
+ {0x30C1,2,{0xA5,0xC1,0x00,0x00,}},
+ {0x30C2,2,{0xA5,0xC2,0x00,0x00,}},
+ {0x30C3,2,{0xA5,0xC3,0x00,0x00,}},
+ {0x30C4,2,{0xA5,0xC4,0x00,0x00,}},
+ {0x30C5,2,{0xA5,0xC5,0x00,0x00,}},
+ {0x30C6,2,{0xA5,0xC6,0x00,0x00,}},
+ {0x30C7,2,{0xA5,0xC7,0x00,0x00,}},
+ {0x30C8,2,{0xA5,0xC8,0x00,0x00,}},
+ {0x30C9,2,{0xA5,0xC9,0x00,0x00,}},
+ {0x30CA,2,{0xA5,0xCA,0x00,0x00,}},
+ {0x30CB,2,{0xA5,0xCB,0x00,0x00,}},
+ {0x30CC,2,{0xA5,0xCC,0x00,0x00,}},
+ {0x30CD,2,{0xA5,0xCD,0x00,0x00,}},
+ {0x30CE,2,{0xA5,0xCE,0x00,0x00,}},
+ {0x30CF,2,{0xA5,0xCF,0x00,0x00,}},
+ {0x30D0,2,{0xA5,0xD0,0x00,0x00,}},
+ {0x30D1,2,{0xA5,0xD1,0x00,0x00,}},
+ {0x30D2,2,{0xA5,0xD2,0x00,0x00,}},
+ {0x30D3,2,{0xA5,0xD3,0x00,0x00,}},
+ {0x30D4,2,{0xA5,0xD4,0x00,0x00,}},
+ {0x30D5,2,{0xA5,0xD5,0x00,0x00,}},
+ {0x30D6,2,{0xA5,0xD6,0x00,0x00,}},
+ {0x30D7,2,{0xA5,0xD7,0x00,0x00,}},
+ {0x30D8,2,{0xA5,0xD8,0x00,0x00,}},
+ {0x30D9,2,{0xA5,0xD9,0x00,0x00,}},
+ {0x30DA,2,{0xA5,0xDA,0x00,0x00,}},
+ {0x30DB,2,{0xA5,0xDB,0x00,0x00,}},
+ {0x30DC,2,{0xA5,0xDC,0x00,0x00,}},
+ {0x30DD,2,{0xA5,0xDD,0x00,0x00,}},
+ {0x30DE,2,{0xA5,0xDE,0x00,0x00,}},
+ {0x30DF,2,{0xA5,0xDF,0x00,0x00,}},
+ {0x30E0,2,{0xA5,0xE0,0x00,0x00,}},
+ {0x30E1,2,{0xA5,0xE1,0x00,0x00,}},
+ {0x30E2,2,{0xA5,0xE2,0x00,0x00,}},
+ {0x30E3,2,{0xA5,0xE3,0x00,0x00,}},
+ {0x30E4,2,{0xA5,0xE4,0x00,0x00,}},
+ {0x30E5,2,{0xA5,0xE5,0x00,0x00,}},
+ {0x30E6,2,{0xA5,0xE6,0x00,0x00,}},
+ {0x30E7,2,{0xA5,0xE7,0x00,0x00,}},
+ {0x30E8,2,{0xA5,0xE8,0x00,0x00,}},
+ {0x30E9,2,{0xA5,0xE9,0x00,0x00,}},
+ {0x30EA,2,{0xA5,0xEA,0x00,0x00,}},
+ {0x30EB,2,{0xA5,0xEB,0x00,0x00,}},
+ {0x30EC,2,{0xA5,0xEC,0x00,0x00,}},
+ {0x30ED,2,{0xA5,0xED,0x00,0x00,}},
+ {0x30EE,2,{0xA5,0xEE,0x00,0x00,}},
+ {0x30EF,2,{0xA5,0xEF,0x00,0x00,}},
+ {0x30F0,2,{0xA5,0xF0,0x00,0x00,}},
+ {0x30F1,2,{0xA5,0xF1,0x00,0x00,}},
+ {0x30F2,2,{0xA5,0xF2,0x00,0x00,}},
+ {0x30F3,2,{0xA5,0xF3,0x00,0x00,}},
+ {0x30F4,2,{0xA5,0xF4,0x00,0x00,}},
+ {0x30F5,2,{0xA5,0xF5,0x00,0x00,}},
+ {0x30F6,2,{0xA5,0xF6,0x00,0x00,}},
+ {0x30F7,4,{0x81,0x39,0xA7,0x35,}},
+ {0x30F8,4,{0x81,0x39,0xA7,0x36,}},
+ {0x30F9,4,{0x81,0x39,0xA7,0x37,}},
+ {0x30FA,4,{0x81,0x39,0xA7,0x38,}},
+ {0x30FB,4,{0x81,0x39,0xA7,0x39,}},
+ {0x30FC,2,{0xA9,0x60,0x00,0x00,}},
+ {0x30FD,2,{0xA9,0x63,0x00,0x00,}},
+ {0x30FE,2,{0xA9,0x64,0x00,0x00,}},
+ {0x30FF,4,{0x81,0x39,0xA8,0x30,}},
+ {0x3100,4,{0x81,0x39,0xA8,0x31,}},
+ {0x3101,4,{0x81,0x39,0xA8,0x32,}},
+ {0x3102,4,{0x81,0x39,0xA8,0x33,}},
+ {0x3103,4,{0x81,0x39,0xA8,0x34,}},
+ {0x3104,4,{0x81,0x39,0xA8,0x35,}},
+ {0x3105,2,{0xA8,0xC5,0x00,0x00,}},
+ {0x3106,2,{0xA8,0xC6,0x00,0x00,}},
+ {0x3107,2,{0xA8,0xC7,0x00,0x00,}},
+ {0x3108,2,{0xA8,0xC8,0x00,0x00,}},
+ {0x3109,2,{0xA8,0xC9,0x00,0x00,}},
+ {0x310A,2,{0xA8,0xCA,0x00,0x00,}},
+ {0x310B,2,{0xA8,0xCB,0x00,0x00,}},
+ {0x310C,2,{0xA8,0xCC,0x00,0x00,}},
+ {0x310D,2,{0xA8,0xCD,0x00,0x00,}},
+ {0x310E,2,{0xA8,0xCE,0x00,0x00,}},
+ {0x310F,2,{0xA8,0xCF,0x00,0x00,}},
+ {0x3110,2,{0xA8,0xD0,0x00,0x00,}},
+ {0x3111,2,{0xA8,0xD1,0x00,0x00,}},
+ {0x3112,2,{0xA8,0xD2,0x00,0x00,}},
+ {0x3113,2,{0xA8,0xD3,0x00,0x00,}},
+ {0x3114,2,{0xA8,0xD4,0x00,0x00,}},
+ {0x3115,2,{0xA8,0xD5,0x00,0x00,}},
+ {0x3116,2,{0xA8,0xD6,0x00,0x00,}},
+ {0x3117,2,{0xA8,0xD7,0x00,0x00,}},
+ {0x3118,2,{0xA8,0xD8,0x00,0x00,}},
+ {0x3119,2,{0xA8,0xD9,0x00,0x00,}},
+ {0x311A,2,{0xA8,0xDA,0x00,0x00,}},
+ {0x311B,2,{0xA8,0xDB,0x00,0x00,}},
+ {0x311C,2,{0xA8,0xDC,0x00,0x00,}},
+ {0x311D,2,{0xA8,0xDD,0x00,0x00,}},
+ {0x311E,2,{0xA8,0xDE,0x00,0x00,}},
+ {0x311F,2,{0xA8,0xDF,0x00,0x00,}},
+ {0x3120,2,{0xA8,0xE0,0x00,0x00,}},
+ {0x3121,2,{0xA8,0xE1,0x00,0x00,}},
+ {0x3122,2,{0xA8,0xE2,0x00,0x00,}},
+ {0x3123,2,{0xA8,0xE3,0x00,0x00,}},
+ {0x3124,2,{0xA8,0xE4,0x00,0x00,}},
+ {0x3125,2,{0xA8,0xE5,0x00,0x00,}},
+ {0x3126,2,{0xA8,0xE6,0x00,0x00,}},
+ {0x3127,2,{0xA8,0xE7,0x00,0x00,}},
+ {0x3128,2,{0xA8,0xE8,0x00,0x00,}},
+ {0x3129,2,{0xA8,0xE9,0x00,0x00,}},
+ {0x312A,4,{0x81,0x39,0xA8,0x36,}},
+ {0x312B,4,{0x81,0x39,0xA8,0x37,}},
+ {0x312C,4,{0x81,0x39,0xA8,0x38,}},
+ {0x312D,4,{0x81,0x39,0xA8,0x39,}},
+ {0x312E,4,{0x81,0x39,0xA9,0x30,}},
+ {0x312F,4,{0x81,0x39,0xA9,0x31,}},
+ {0x3130,4,{0x81,0x39,0xA9,0x32,}},
+ {0x3131,4,{0x81,0x39,0xA9,0x33,}},
+ {0x3132,4,{0x81,0x39,0xA9,0x34,}},
+ {0x3133,4,{0x81,0x39,0xA9,0x35,}},
+ {0x3134,4,{0x81,0x39,0xA9,0x36,}},
+ {0x3135,4,{0x81,0x39,0xA9,0x37,}},
+ {0x3136,4,{0x81,0x39,0xA9,0x38,}},
+ {0x3137,4,{0x81,0x39,0xA9,0x39,}},
+ {0x3138,4,{0x81,0x39,0xAA,0x30,}},
+ {0x3139,4,{0x81,0x39,0xAA,0x31,}},
+ {0x313A,4,{0x81,0x39,0xAA,0x32,}},
+ {0x313B,4,{0x81,0x39,0xAA,0x33,}},
+ {0x313C,4,{0x81,0x39,0xAA,0x34,}},
+ {0x313D,4,{0x81,0x39,0xAA,0x35,}},
+ {0x313E,4,{0x81,0x39,0xAA,0x36,}},
+ {0x313F,4,{0x81,0x39,0xAA,0x37,}},
+ {0x3140,4,{0x81,0x39,0xAA,0x38,}},
+ {0x3141,4,{0x81,0x39,0xAA,0x39,}},
+ {0x3142,4,{0x81,0x39,0xAB,0x30,}},
+ {0x3143,4,{0x81,0x39,0xAB,0x31,}},
+ {0x3144,4,{0x81,0x39,0xAB,0x32,}},
+ {0x3145,4,{0x81,0x39,0xAB,0x33,}},
+ {0x3146,4,{0x81,0x39,0xAB,0x34,}},
+ {0x3147,4,{0x81,0x39,0xAB,0x35,}},
+ {0x3148,4,{0x81,0x39,0xAB,0x36,}},
+ {0x3149,4,{0x81,0x39,0xAB,0x37,}},
+ {0x314A,4,{0x81,0x39,0xAB,0x38,}},
+ {0x314B,4,{0x81,0x39,0xAB,0x39,}},
+ {0x314C,4,{0x81,0x39,0xAC,0x30,}},
+ {0x314D,4,{0x81,0x39,0xAC,0x31,}},
+ {0x314E,4,{0x81,0x39,0xAC,0x32,}},
+ {0x314F,4,{0x81,0x39,0xAC,0x33,}},
+ {0x3150,4,{0x81,0x39,0xAC,0x34,}},
+ {0x3151,4,{0x81,0x39,0xAC,0x35,}},
+ {0x3152,4,{0x81,0x39,0xAC,0x36,}},
+ {0x3153,4,{0x81,0x39,0xAC,0x37,}},
+ {0x3154,4,{0x81,0x39,0xAC,0x38,}},
+ {0x3155,4,{0x81,0x39,0xAC,0x39,}},
+ {0x3156,4,{0x81,0x39,0xAD,0x30,}},
+ {0x3157,4,{0x81,0x39,0xAD,0x31,}},
+ {0x3158,4,{0x81,0x39,0xAD,0x32,}},
+ {0x3159,4,{0x81,0x39,0xAD,0x33,}},
+ {0x315A,4,{0x81,0x39,0xAD,0x34,}},
+ {0x315B,4,{0x81,0x39,0xAD,0x35,}},
+ {0x315C,4,{0x81,0x39,0xAD,0x36,}},
+ {0x315D,4,{0x81,0x39,0xAD,0x37,}},
+ {0x315E,4,{0x81,0x39,0xAD,0x38,}},
+ {0x315F,4,{0x81,0x39,0xAD,0x39,}},
+ {0x3160,4,{0x81,0x39,0xAE,0x30,}},
+ {0x3161,4,{0x81,0x39,0xAE,0x31,}},
+ {0x3162,4,{0x81,0x39,0xAE,0x32,}},
+ {0x3163,4,{0x81,0x39,0xAE,0x33,}},
+ {0x3164,4,{0x81,0x39,0xAE,0x34,}},
+ {0x3165,4,{0x81,0x39,0xAE,0x35,}},
+ {0x3166,4,{0x81,0x39,0xAE,0x36,}},
+ {0x3167,4,{0x81,0x39,0xAE,0x37,}},
+ {0x3168,4,{0x81,0x39,0xAE,0x38,}},
+ {0x3169,4,{0x81,0x39,0xAE,0x39,}},
+ {0x316A,4,{0x81,0x39,0xAF,0x30,}},
+ {0x316B,4,{0x81,0x39,0xAF,0x31,}},
+ {0x316C,4,{0x81,0x39,0xAF,0x32,}},
+ {0x316D,4,{0x81,0x39,0xAF,0x33,}},
+ {0x316E,4,{0x81,0x39,0xAF,0x34,}},
+ {0x316F,4,{0x81,0x39,0xAF,0x35,}},
+ {0x3170,4,{0x81,0x39,0xAF,0x36,}},
+ {0x3171,4,{0x81,0x39,0xAF,0x37,}},
+ {0x3172,4,{0x81,0x39,0xAF,0x38,}},
+ {0x3173,4,{0x81,0x39,0xAF,0x39,}},
+ {0x3174,4,{0x81,0x39,0xB0,0x30,}},
+ {0x3175,4,{0x81,0x39,0xB0,0x31,}},
+ {0x3176,4,{0x81,0x39,0xB0,0x32,}},
+ {0x3177,4,{0x81,0x39,0xB0,0x33,}},
+ {0x3178,4,{0x81,0x39,0xB0,0x34,}},
+ {0x3179,4,{0x81,0x39,0xB0,0x35,}},
+ {0x317A,4,{0x81,0x39,0xB0,0x36,}},
+ {0x317B,4,{0x81,0x39,0xB0,0x37,}},
+ {0x317C,4,{0x81,0x39,0xB0,0x38,}},
+ {0x317D,4,{0x81,0x39,0xB0,0x39,}},
+ {0x317E,4,{0x81,0x39,0xB1,0x30,}},
+ {0x317F,4,{0x81,0x39,0xB1,0x31,}},
+ {0x3180,4,{0x81,0x39,0xB1,0x32,}},
+ {0x3181,4,{0x81,0x39,0xB1,0x33,}},
+ {0x3182,4,{0x81,0x39,0xB1,0x34,}},
+ {0x3183,4,{0x81,0x39,0xB1,0x35,}},
+ {0x3184,4,{0x81,0x39,0xB1,0x36,}},
+ {0x3185,4,{0x81,0x39,0xB1,0x37,}},
+ {0x3186,4,{0x81,0x39,0xB1,0x38,}},
+ {0x3187,4,{0x81,0x39,0xB1,0x39,}},
+ {0x3188,4,{0x81,0x39,0xB2,0x30,}},
+ {0x3189,4,{0x81,0x39,0xB2,0x31,}},
+ {0x318A,4,{0x81,0x39,0xB2,0x32,}},
+ {0x318B,4,{0x81,0x39,0xB2,0x33,}},
+ {0x318C,4,{0x81,0x39,0xB2,0x34,}},
+ {0x318D,4,{0x81,0x39,0xB2,0x35,}},
+ {0x318E,4,{0x81,0x39,0xB2,0x36,}},
+ {0x318F,4,{0x81,0x39,0xB2,0x37,}},
+ {0x3190,4,{0x81,0x39,0xB2,0x38,}},
+ {0x3191,4,{0x81,0x39,0xB2,0x39,}},
+ {0x3192,4,{0x81,0x39,0xB3,0x30,}},
+ {0x3193,4,{0x81,0x39,0xB3,0x31,}},
+ {0x3194,4,{0x81,0x39,0xB3,0x32,}},
+ {0x3195,4,{0x81,0x39,0xB3,0x33,}},
+ {0x3196,4,{0x81,0x39,0xB3,0x34,}},
+ {0x3197,4,{0x81,0x39,0xB3,0x35,}},
+ {0x3198,4,{0x81,0x39,0xB3,0x36,}},
+ {0x3199,4,{0x81,0x39,0xB3,0x37,}},
+ {0x319A,4,{0x81,0x39,0xB3,0x38,}},
+ {0x319B,4,{0x81,0x39,0xB3,0x39,}},
+ {0x319C,4,{0x81,0x39,0xB4,0x30,}},
+ {0x319D,4,{0x81,0x39,0xB4,0x31,}},
+ {0x319E,4,{0x81,0x39,0xB4,0x32,}},
+ {0x319F,4,{0x81,0x39,0xB4,0x33,}},
+ {0x31A0,4,{0x81,0x39,0xB4,0x34,}},
+ {0x31A1,4,{0x81,0x39,0xB4,0x35,}},
+ {0x31A2,4,{0x81,0x39,0xB4,0x36,}},
+ {0x31A3,4,{0x81,0x39,0xB4,0x37,}},
+ {0x31A4,4,{0x81,0x39,0xB4,0x38,}},
+ {0x31A5,4,{0x81,0x39,0xB4,0x39,}},
+ {0x31A6,4,{0x81,0x39,0xB5,0x30,}},
+ {0x31A7,4,{0x81,0x39,0xB5,0x31,}},
+ {0x31A8,4,{0x81,0x39,0xB5,0x32,}},
+ {0x31A9,4,{0x81,0x39,0xB5,0x33,}},
+ {0x31AA,4,{0x81,0x39,0xB5,0x34,}},
+ {0x31AB,4,{0x81,0x39,0xB5,0x35,}},
+ {0x31AC,4,{0x81,0x39,0xB5,0x36,}},
+ {0x31AD,4,{0x81,0x39,0xB5,0x37,}},
+ {0x31AE,4,{0x81,0x39,0xB5,0x38,}},
+ {0x31AF,4,{0x81,0x39,0xB5,0x39,}},
+ {0x31B0,4,{0x81,0x39,0xB6,0x30,}},
+ {0x31B1,4,{0x81,0x39,0xB6,0x31,}},
+ {0x31B2,4,{0x81,0x39,0xB6,0x32,}},
+ {0x31B3,4,{0x81,0x39,0xB6,0x33,}},
+ {0x31B4,4,{0x81,0x39,0xB6,0x34,}},
+ {0x31B5,4,{0x81,0x39,0xB6,0x35,}},
+ {0x31B6,4,{0x81,0x39,0xB6,0x36,}},
+ {0x31B7,4,{0x81,0x39,0xB6,0x37,}},
+ {0x31B8,4,{0x81,0x39,0xB6,0x38,}},
+ {0x31B9,4,{0x81,0x39,0xB6,0x39,}},
+ {0x31BA,4,{0x81,0x39,0xB7,0x30,}},
+ {0x31BB,4,{0x81,0x39,0xB7,0x31,}},
+ {0x31BC,4,{0x81,0x39,0xB7,0x32,}},
+ {0x31BD,4,{0x81,0x39,0xB7,0x33,}},
+ {0x31BE,4,{0x81,0x39,0xB7,0x34,}},
+ {0x31BF,4,{0x81,0x39,0xB7,0x35,}},
+ {0x31C0,4,{0x81,0x39,0xB7,0x36,}},
+ {0x31C1,4,{0x81,0x39,0xB7,0x37,}},
+ {0x31C2,4,{0x81,0x39,0xB7,0x38,}},
+ {0x31C3,4,{0x81,0x39,0xB7,0x39,}},
+ {0x31C4,4,{0x81,0x39,0xB8,0x30,}},
+ {0x31C5,4,{0x81,0x39,0xB8,0x31,}},
+ {0x31C6,4,{0x81,0x39,0xB8,0x32,}},
+ {0x31C7,4,{0x81,0x39,0xB8,0x33,}},
+ {0x31C8,4,{0x81,0x39,0xB8,0x34,}},
+ {0x31C9,4,{0x81,0x39,0xB8,0x35,}},
+ {0x31CA,4,{0x81,0x39,0xB8,0x36,}},
+ {0x31CB,4,{0x81,0x39,0xB8,0x37,}},
+ {0x31CC,4,{0x81,0x39,0xB8,0x38,}},
+ {0x31CD,4,{0x81,0x39,0xB8,0x39,}},
+ {0x31CE,4,{0x81,0x39,0xB9,0x30,}},
+ {0x31CF,4,{0x81,0x39,0xB9,0x31,}},
+ {0x31D0,4,{0x81,0x39,0xB9,0x32,}},
+ {0x31D1,4,{0x81,0x39,0xB9,0x33,}},
+ {0x31D2,4,{0x81,0x39,0xB9,0x34,}},
+ {0x31D3,4,{0x81,0x39,0xB9,0x35,}},
+ {0x31D4,4,{0x81,0x39,0xB9,0x36,}},
+ {0x31D5,4,{0x81,0x39,0xB9,0x37,}},
+ {0x31D6,4,{0x81,0x39,0xB9,0x38,}},
+ {0x31D7,4,{0x81,0x39,0xB9,0x39,}},
+ {0x31D8,4,{0x81,0x39,0xBA,0x30,}},
+ {0x31D9,4,{0x81,0x39,0xBA,0x31,}},
+ {0x31DA,4,{0x81,0x39,0xBA,0x32,}},
+ {0x31DB,4,{0x81,0x39,0xBA,0x33,}},
+ {0x31DC,4,{0x81,0x39,0xBA,0x34,}},
+ {0x31DD,4,{0x81,0x39,0xBA,0x35,}},
+ {0x31DE,4,{0x81,0x39,0xBA,0x36,}},
+ {0x31DF,4,{0x81,0x39,0xBA,0x37,}},
+ {0x31E0,4,{0x81,0x39,0xBA,0x38,}},
+ {0x31E1,4,{0x81,0x39,0xBA,0x39,}},
+ {0x31E2,4,{0x81,0x39,0xBB,0x30,}},
+ {0x31E3,4,{0x81,0x39,0xBB,0x31,}},
+ {0x31E4,4,{0x81,0x39,0xBB,0x32,}},
+ {0x31E5,4,{0x81,0x39,0xBB,0x33,}},
+ {0x31E6,4,{0x81,0x39,0xBB,0x34,}},
+ {0x31E7,4,{0x81,0x39,0xBB,0x35,}},
+ {0x31E8,4,{0x81,0x39,0xBB,0x36,}},
+ {0x31E9,4,{0x81,0x39,0xBB,0x37,}},
+ {0x31EA,4,{0x81,0x39,0xBB,0x38,}},
+ {0x31EB,4,{0x81,0x39,0xBB,0x39,}},
+ {0x31EC,4,{0x81,0x39,0xBC,0x30,}},
+ {0x31ED,4,{0x81,0x39,0xBC,0x31,}},
+ {0x31EE,4,{0x81,0x39,0xBC,0x32,}},
+ {0x31EF,4,{0x81,0x39,0xBC,0x33,}},
+ {0x31F0,4,{0x81,0x39,0xBC,0x34,}},
+ {0x31F1,4,{0x81,0x39,0xBC,0x35,}},
+ {0x31F2,4,{0x81,0x39,0xBC,0x36,}},
+ {0x31F3,4,{0x81,0x39,0xBC,0x37,}},
+ {0x31F4,4,{0x81,0x39,0xBC,0x38,}},
+ {0x31F5,4,{0x81,0x39,0xBC,0x39,}},
+ {0x31F6,4,{0x81,0x39,0xBD,0x30,}},
+ {0x31F7,4,{0x81,0x39,0xBD,0x31,}},
+ {0x31F8,4,{0x81,0x39,0xBD,0x32,}},
+ {0x31F9,4,{0x81,0x39,0xBD,0x33,}},
+ {0x31FA,4,{0x81,0x39,0xBD,0x34,}},
+ {0x31FB,4,{0x81,0x39,0xBD,0x35,}},
+ {0x31FC,4,{0x81,0x39,0xBD,0x36,}},
+ {0x31FD,4,{0x81,0x39,0xBD,0x37,}},
+ {0x31FE,4,{0x81,0x39,0xBD,0x38,}},
+ {0x31FF,4,{0x81,0x39,0xBD,0x39,}},
+ {0x3200,4,{0x81,0x39,0xBE,0x30,}},
+ {0x3201,4,{0x81,0x39,0xBE,0x31,}},
+ {0x3202,4,{0x81,0x39,0xBE,0x32,}},
+ {0x3203,4,{0x81,0x39,0xBE,0x33,}},
+ {0x3204,4,{0x81,0x39,0xBE,0x34,}},
+ {0x3205,4,{0x81,0x39,0xBE,0x35,}},
+ {0x3206,4,{0x81,0x39,0xBE,0x36,}},
+ {0x3207,4,{0x81,0x39,0xBE,0x37,}},
+ {0x3208,4,{0x81,0x39,0xBE,0x38,}},
+ {0x3209,4,{0x81,0x39,0xBE,0x39,}},
+ {0x320A,4,{0x81,0x39,0xBF,0x30,}},
+ {0x320B,4,{0x81,0x39,0xBF,0x31,}},
+ {0x320C,4,{0x81,0x39,0xBF,0x32,}},
+ {0x320D,4,{0x81,0x39,0xBF,0x33,}},
+ {0x320E,4,{0x81,0x39,0xBF,0x34,}},
+ {0x320F,4,{0x81,0x39,0xBF,0x35,}},
+ {0x3210,4,{0x81,0x39,0xBF,0x36,}},
+ {0x3211,4,{0x81,0x39,0xBF,0x37,}},
+ {0x3212,4,{0x81,0x39,0xBF,0x38,}},
+ {0x3213,4,{0x81,0x39,0xBF,0x39,}},
+ {0x3214,4,{0x81,0x39,0xC0,0x30,}},
+ {0x3215,4,{0x81,0x39,0xC0,0x31,}},
+ {0x3216,4,{0x81,0x39,0xC0,0x32,}},
+ {0x3217,4,{0x81,0x39,0xC0,0x33,}},
+ {0x3218,4,{0x81,0x39,0xC0,0x34,}},
+ {0x3219,4,{0x81,0x39,0xC0,0x35,}},
+ {0x321A,4,{0x81,0x39,0xC0,0x36,}},
+ {0x321B,4,{0x81,0x39,0xC0,0x37,}},
+ {0x321C,4,{0x81,0x39,0xC0,0x38,}},
+ {0x321D,4,{0x81,0x39,0xC0,0x39,}},
+ {0x321E,4,{0x81,0x39,0xC1,0x30,}},
+ {0x321F,4,{0x81,0x39,0xC1,0x31,}},
+ {0x3220,2,{0xA2,0xE5,0x00,0x00,}},
+ {0x3221,2,{0xA2,0xE6,0x00,0x00,}},
+ {0x3222,2,{0xA2,0xE7,0x00,0x00,}},
+ {0x3223,2,{0xA2,0xE8,0x00,0x00,}},
+ {0x3224,2,{0xA2,0xE9,0x00,0x00,}},
+ {0x3225,2,{0xA2,0xEA,0x00,0x00,}},
+ {0x3226,2,{0xA2,0xEB,0x00,0x00,}},
+ {0x3227,2,{0xA2,0xEC,0x00,0x00,}},
+ {0x3228,2,{0xA2,0xED,0x00,0x00,}},
+ {0x3229,2,{0xA2,0xEE,0x00,0x00,}},
+ {0x322A,4,{0x81,0x39,0xC1,0x32,}},
+ {0x322B,4,{0x81,0x39,0xC1,0x33,}},
+ {0x322C,4,{0x81,0x39,0xC1,0x34,}},
+ {0x322D,4,{0x81,0x39,0xC1,0x35,}},
+ {0x322E,4,{0x81,0x39,0xC1,0x36,}},
+ {0x322F,4,{0x81,0x39,0xC1,0x37,}},
+ {0x3230,4,{0x81,0x39,0xC1,0x38,}},
+ {0x3231,2,{0xA9,0x5A,0x00,0x00,}},
+ {0x3232,4,{0x81,0x39,0xC1,0x39,}},
+ {0x3233,4,{0x81,0x39,0xC2,0x30,}},
+ {0x3234,4,{0x81,0x39,0xC2,0x31,}},
+ {0x3235,4,{0x81,0x39,0xC2,0x32,}},
+ {0x3236,4,{0x81,0x39,0xC2,0x33,}},
+ {0x3237,4,{0x81,0x39,0xC2,0x34,}},
+ {0x3238,4,{0x81,0x39,0xC2,0x35,}},
+ {0x3239,4,{0x81,0x39,0xC2,0x36,}},
+ {0x323A,4,{0x81,0x39,0xC2,0x37,}},
+ {0x323B,4,{0x81,0x39,0xC2,0x38,}},
+ {0x323C,4,{0x81,0x39,0xC2,0x39,}},
+ {0x323D,4,{0x81,0x39,0xC3,0x30,}},
+ {0x323E,4,{0x81,0x39,0xC3,0x31,}},
+ {0x323F,4,{0x81,0x39,0xC3,0x32,}},
+ {0x3240,4,{0x81,0x39,0xC3,0x33,}},
+ {0x3241,4,{0x81,0x39,0xC3,0x34,}},
+ {0x3242,4,{0x81,0x39,0xC3,0x35,}},
+ {0x3243,4,{0x81,0x39,0xC3,0x36,}},
+ {0x3244,4,{0x81,0x39,0xC3,0x37,}},
+ {0x3245,4,{0x81,0x39,0xC3,0x38,}},
+ {0x3246,4,{0x81,0x39,0xC3,0x39,}},
+ {0x3247,4,{0x81,0x39,0xC4,0x30,}},
+ {0x3248,4,{0x81,0x39,0xC4,0x31,}},
+ {0x3249,4,{0x81,0x39,0xC4,0x32,}},
+ {0x324A,4,{0x81,0x39,0xC4,0x33,}},
+ {0x324B,4,{0x81,0x39,0xC4,0x34,}},
+ {0x324C,4,{0x81,0x39,0xC4,0x35,}},
+ {0x324D,4,{0x81,0x39,0xC4,0x36,}},
+ {0x324E,4,{0x81,0x39,0xC4,0x37,}},
+ {0x324F,4,{0x81,0x39,0xC4,0x38,}},
+ {0x3250,4,{0x81,0x39,0xC4,0x39,}},
+ {0x3251,4,{0x81,0x39,0xC5,0x30,}},
+ {0x3252,4,{0x81,0x39,0xC5,0x31,}},
+ {0x3253,4,{0x81,0x39,0xC5,0x32,}},
+ {0x3254,4,{0x81,0x39,0xC5,0x33,}},
+ {0x3255,4,{0x81,0x39,0xC5,0x34,}},
+ {0x3256,4,{0x81,0x39,0xC5,0x35,}},
+ {0x3257,4,{0x81,0x39,0xC5,0x36,}},
+ {0x3258,4,{0x81,0x39,0xC5,0x37,}},
+ {0x3259,4,{0x81,0x39,0xC5,0x38,}},
+ {0x325A,4,{0x81,0x39,0xC5,0x39,}},
+ {0x325B,4,{0x81,0x39,0xC6,0x30,}},
+ {0x325C,4,{0x81,0x39,0xC6,0x31,}},
+ {0x325D,4,{0x81,0x39,0xC6,0x32,}},
+ {0x325E,4,{0x81,0x39,0xC6,0x33,}},
+ {0x325F,4,{0x81,0x39,0xC6,0x34,}},
+ {0x3260,4,{0x81,0x39,0xC6,0x35,}},
+ {0x3261,4,{0x81,0x39,0xC6,0x36,}},
+ {0x3262,4,{0x81,0x39,0xC6,0x37,}},
+ {0x3263,4,{0x81,0x39,0xC6,0x38,}},
+ {0x3264,4,{0x81,0x39,0xC6,0x39,}},
+ {0x3265,4,{0x81,0x39,0xC7,0x30,}},
+ {0x3266,4,{0x81,0x39,0xC7,0x31,}},
+ {0x3267,4,{0x81,0x39,0xC7,0x32,}},
+ {0x3268,4,{0x81,0x39,0xC7,0x33,}},
+ {0x3269,4,{0x81,0x39,0xC7,0x34,}},
+ {0x326A,4,{0x81,0x39,0xC7,0x35,}},
+ {0x326B,4,{0x81,0x39,0xC7,0x36,}},
+ {0x326C,4,{0x81,0x39,0xC7,0x37,}},
+ {0x326D,4,{0x81,0x39,0xC7,0x38,}},
+ {0x326E,4,{0x81,0x39,0xC7,0x39,}},
+ {0x326F,4,{0x81,0x39,0xC8,0x30,}},
+ {0x3270,4,{0x81,0x39,0xC8,0x31,}},
+ {0x3271,4,{0x81,0x39,0xC8,0x32,}},
+ {0x3272,4,{0x81,0x39,0xC8,0x33,}},
+ {0x3273,4,{0x81,0x39,0xC8,0x34,}},
+ {0x3274,4,{0x81,0x39,0xC8,0x35,}},
+ {0x3275,4,{0x81,0x39,0xC8,0x36,}},
+ {0x3276,4,{0x81,0x39,0xC8,0x37,}},
+ {0x3277,4,{0x81,0x39,0xC8,0x38,}},
+ {0x3278,4,{0x81,0x39,0xC8,0x39,}},
+ {0x3279,4,{0x81,0x39,0xC9,0x30,}},
+ {0x327A,4,{0x81,0x39,0xC9,0x31,}},
+ {0x327B,4,{0x81,0x39,0xC9,0x32,}},
+ {0x327C,4,{0x81,0x39,0xC9,0x33,}},
+ {0x327D,4,{0x81,0x39,0xC9,0x34,}},
+ {0x327E,4,{0x81,0x39,0xC9,0x35,}},
+ {0x327F,4,{0x81,0x39,0xC9,0x36,}},
+ {0x3280,4,{0x81,0x39,0xC9,0x37,}},
+ {0x3281,4,{0x81,0x39,0xC9,0x38,}},
+ {0x3282,4,{0x81,0x39,0xC9,0x39,}},
+ {0x3283,4,{0x81,0x39,0xCA,0x30,}},
+ {0x3284,4,{0x81,0x39,0xCA,0x31,}},
+ {0x3285,4,{0x81,0x39,0xCA,0x32,}},
+ {0x3286,4,{0x81,0x39,0xCA,0x33,}},
+ {0x3287,4,{0x81,0x39,0xCA,0x34,}},
+ {0x3288,4,{0x81,0x39,0xCA,0x35,}},
+ {0x3289,4,{0x81,0x39,0xCA,0x36,}},
+ {0x328A,4,{0x81,0x39,0xCA,0x37,}},
+ {0x328B,4,{0x81,0x39,0xCA,0x38,}},
+ {0x328C,4,{0x81,0x39,0xCA,0x39,}},
+ {0x328D,4,{0x81,0x39,0xCB,0x30,}},
+ {0x328E,4,{0x81,0x39,0xCB,0x31,}},
+ {0x328F,4,{0x81,0x39,0xCB,0x32,}},
+ {0x3290,4,{0x81,0x39,0xCB,0x33,}},
+ {0x3291,4,{0x81,0x39,0xCB,0x34,}},
+ {0x3292,4,{0x81,0x39,0xCB,0x35,}},
+ {0x3293,4,{0x81,0x39,0xCB,0x36,}},
+ {0x3294,4,{0x81,0x39,0xCB,0x37,}},
+ {0x3295,4,{0x81,0x39,0xCB,0x38,}},
+ {0x3296,4,{0x81,0x39,0xCB,0x39,}},
+ {0x3297,4,{0x81,0x39,0xCC,0x30,}},
+ {0x3298,4,{0x81,0x39,0xCC,0x31,}},
+ {0x3299,4,{0x81,0x39,0xCC,0x32,}},
+ {0x329A,4,{0x81,0x39,0xCC,0x33,}},
+ {0x329B,4,{0x81,0x39,0xCC,0x34,}},
+ {0x329C,4,{0x81,0x39,0xCC,0x35,}},
+ {0x329D,4,{0x81,0x39,0xCC,0x36,}},
+ {0x329E,4,{0x81,0x39,0xCC,0x37,}},
+ {0x329F,4,{0x81,0x39,0xCC,0x38,}},
+ {0x32A0,4,{0x81,0x39,0xCC,0x39,}},
+ {0x32A1,4,{0x81,0x39,0xCD,0x30,}},
+ {0x32A2,4,{0x81,0x39,0xCD,0x31,}},
+ {0x32A3,2,{0xA9,0x49,0x00,0x00,}},
+ {0x32A4,4,{0x81,0x39,0xCD,0x32,}},
+ {0x32A5,4,{0x81,0x39,0xCD,0x33,}},
+ {0x32A6,4,{0x81,0x39,0xCD,0x34,}},
+ {0x32A7,4,{0x81,0x39,0xCD,0x35,}},
+ {0x32A8,4,{0x81,0x39,0xCD,0x36,}},
+ {0x32A9,4,{0x81,0x39,0xCD,0x37,}},
+ {0x32AA,4,{0x81,0x39,0xCD,0x38,}},
+ {0x32AB,4,{0x81,0x39,0xCD,0x39,}},
+ {0x32AC,4,{0x81,0x39,0xCE,0x30,}},
+ {0x32AD,4,{0x81,0x39,0xCE,0x31,}},
+ {0x32AE,4,{0x81,0x39,0xCE,0x32,}},
+ {0x32AF,4,{0x81,0x39,0xCE,0x33,}},
+ {0x32B0,4,{0x81,0x39,0xCE,0x34,}},
+ {0x32B1,4,{0x81,0x39,0xCE,0x35,}},
+ {0x32B2,4,{0x81,0x39,0xCE,0x36,}},
+ {0x32B3,4,{0x81,0x39,0xCE,0x37,}},
+ {0x32B4,4,{0x81,0x39,0xCE,0x38,}},
+ {0x32B5,4,{0x81,0x39,0xCE,0x39,}},
+ {0x32B6,4,{0x81,0x39,0xCF,0x30,}},
+ {0x32B7,4,{0x81,0x39,0xCF,0x31,}},
+ {0x32B8,4,{0x81,0x39,0xCF,0x32,}},
+ {0x32B9,4,{0x81,0x39,0xCF,0x33,}},
+ {0x32BA,4,{0x81,0x39,0xCF,0x34,}},
+ {0x32BB,4,{0x81,0x39,0xCF,0x35,}},
+ {0x32BC,4,{0x81,0x39,0xCF,0x36,}},
+ {0x32BD,4,{0x81,0x39,0xCF,0x37,}},
+ {0x32BE,4,{0x81,0x39,0xCF,0x38,}},
+ {0x32BF,4,{0x81,0x39,0xCF,0x39,}},
+ {0x32C0,4,{0x81,0x39,0xD0,0x30,}},
+ {0x32C1,4,{0x81,0x39,0xD0,0x31,}},
+ {0x32C2,4,{0x81,0x39,0xD0,0x32,}},
+ {0x32C3,4,{0x81,0x39,0xD0,0x33,}},
+ {0x32C4,4,{0x81,0x39,0xD0,0x34,}},
+ {0x32C5,4,{0x81,0x39,0xD0,0x35,}},
+ {0x32C6,4,{0x81,0x39,0xD0,0x36,}},
+ {0x32C7,4,{0x81,0x39,0xD0,0x37,}},
+ {0x32C8,4,{0x81,0x39,0xD0,0x38,}},
+ {0x32C9,4,{0x81,0x39,0xD0,0x39,}},
+ {0x32CA,4,{0x81,0x39,0xD1,0x30,}},
+ {0x32CB,4,{0x81,0x39,0xD1,0x31,}},
+ {0x32CC,4,{0x81,0x39,0xD1,0x32,}},
+ {0x32CD,4,{0x81,0x39,0xD1,0x33,}},
+ {0x32CE,4,{0x81,0x39,0xD1,0x34,}},
+ {0x32CF,4,{0x81,0x39,0xD1,0x35,}},
+ {0x32D0,4,{0x81,0x39,0xD1,0x36,}},
+ {0x32D1,4,{0x81,0x39,0xD1,0x37,}},
+ {0x32D2,4,{0x81,0x39,0xD1,0x38,}},
+ {0x32D3,4,{0x81,0x39,0xD1,0x39,}},
+ {0x32D4,4,{0x81,0x39,0xD2,0x30,}},
+ {0x32D5,4,{0x81,0x39,0xD2,0x31,}},
+ {0x32D6,4,{0x81,0x39,0xD2,0x32,}},
+ {0x32D7,4,{0x81,0x39,0xD2,0x33,}},
+ {0x32D8,4,{0x81,0x39,0xD2,0x34,}},
+ {0x32D9,4,{0x81,0x39,0xD2,0x35,}},
+ {0x32DA,4,{0x81,0x39,0xD2,0x36,}},
+ {0x32DB,4,{0x81,0x39,0xD2,0x37,}},
+ {0x32DC,4,{0x81,0x39,0xD2,0x38,}},
+ {0x32DD,4,{0x81,0x39,0xD2,0x39,}},
+ {0x32DE,4,{0x81,0x39,0xD3,0x30,}},
+ {0x32DF,4,{0x81,0x39,0xD3,0x31,}},
+ {0x32E0,4,{0x81,0x39,0xD3,0x32,}},
+ {0x32E1,4,{0x81,0x39,0xD3,0x33,}},
+ {0x32E2,4,{0x81,0x39,0xD3,0x34,}},
+ {0x32E3,4,{0x81,0x39,0xD3,0x35,}},
+ {0x32E4,4,{0x81,0x39,0xD3,0x36,}},
+ {0x32E5,4,{0x81,0x39,0xD3,0x37,}},
+ {0x32E6,4,{0x81,0x39,0xD3,0x38,}},
+ {0x32E7,4,{0x81,0x39,0xD3,0x39,}},
+ {0x32E8,4,{0x81,0x39,0xD4,0x30,}},
+ {0x32E9,4,{0x81,0x39,0xD4,0x31,}},
+ {0x32EA,4,{0x81,0x39,0xD4,0x32,}},
+ {0x32EB,4,{0x81,0x39,0xD4,0x33,}},
+ {0x32EC,4,{0x81,0x39,0xD4,0x34,}},
+ {0x32ED,4,{0x81,0x39,0xD4,0x35,}},
+ {0x32EE,4,{0x81,0x39,0xD4,0x36,}},
+ {0x32EF,4,{0x81,0x39,0xD4,0x37,}},
+ {0x32F0,4,{0x81,0x39,0xD4,0x38,}},
+ {0x32F1,4,{0x81,0x39,0xD4,0x39,}},
+ {0x32F2,4,{0x81,0x39,0xD5,0x30,}},
+ {0x32F3,4,{0x81,0x39,0xD5,0x31,}},
+ {0x32F4,4,{0x81,0x39,0xD5,0x32,}},
+ {0x32F5,4,{0x81,0x39,0xD5,0x33,}},
+ {0x32F6,4,{0x81,0x39,0xD5,0x34,}},
+ {0x32F7,4,{0x81,0x39,0xD5,0x35,}},
+ {0x32F8,4,{0x81,0x39,0xD5,0x36,}},
+ {0x32F9,4,{0x81,0x39,0xD5,0x37,}},
+ {0x32FA,4,{0x81,0x39,0xD5,0x38,}},
+ {0x32FB,4,{0x81,0x39,0xD5,0x39,}},
+ {0x32FC,4,{0x81,0x39,0xD6,0x30,}},
+ {0x32FD,4,{0x81,0x39,0xD6,0x31,}},
+ {0x32FE,4,{0x81,0x39,0xD6,0x32,}},
+ {0x32FF,4,{0x81,0x39,0xD6,0x33,}},
+ {0x3300,4,{0x81,0x39,0xD6,0x34,}},
+ {0x3301,4,{0x81,0x39,0xD6,0x35,}},
+ {0x3302,4,{0x81,0x39,0xD6,0x36,}},
+ {0x3303,4,{0x81,0x39,0xD6,0x37,}},
+ {0x3304,4,{0x81,0x39,0xD6,0x38,}},
+ {0x3305,4,{0x81,0x39,0xD6,0x39,}},
+ {0x3306,4,{0x81,0x39,0xD7,0x30,}},
+ {0x3307,4,{0x81,0x39,0xD7,0x31,}},
+ {0x3308,4,{0x81,0x39,0xD7,0x32,}},
+ {0x3309,4,{0x81,0x39,0xD7,0x33,}},
+ {0x330A,4,{0x81,0x39,0xD7,0x34,}},
+ {0x330B,4,{0x81,0x39,0xD7,0x35,}},
+ {0x330C,4,{0x81,0x39,0xD7,0x36,}},
+ {0x330D,4,{0x81,0x39,0xD7,0x37,}},
+ {0x330E,4,{0x81,0x39,0xD7,0x38,}},
+ {0x330F,4,{0x81,0x39,0xD7,0x39,}},
+ {0x3310,4,{0x81,0x39,0xD8,0x30,}},
+ {0x3311,4,{0x81,0x39,0xD8,0x31,}},
+ {0x3312,4,{0x81,0x39,0xD8,0x32,}},
+ {0x3313,4,{0x81,0x39,0xD8,0x33,}},
+ {0x3314,4,{0x81,0x39,0xD8,0x34,}},
+ {0x3315,4,{0x81,0x39,0xD8,0x35,}},
+ {0x3316,4,{0x81,0x39,0xD8,0x36,}},
+ {0x3317,4,{0x81,0x39,0xD8,0x37,}},
+ {0x3318,4,{0x81,0x39,0xD8,0x38,}},
+ {0x3319,4,{0x81,0x39,0xD8,0x39,}},
+ {0x331A,4,{0x81,0x39,0xD9,0x30,}},
+ {0x331B,4,{0x81,0x39,0xD9,0x31,}},
+ {0x331C,4,{0x81,0x39,0xD9,0x32,}},
+ {0x331D,4,{0x81,0x39,0xD9,0x33,}},
+ {0x331E,4,{0x81,0x39,0xD9,0x34,}},
+ {0x331F,4,{0x81,0x39,0xD9,0x35,}},
+ {0x3320,4,{0x81,0x39,0xD9,0x36,}},
+ {0x3321,4,{0x81,0x39,0xD9,0x37,}},
+ {0x3322,4,{0x81,0x39,0xD9,0x38,}},
+ {0x3323,4,{0x81,0x39,0xD9,0x39,}},
+ {0x3324,4,{0x81,0x39,0xDA,0x30,}},
+ {0x3325,4,{0x81,0x39,0xDA,0x31,}},
+ {0x3326,4,{0x81,0x39,0xDA,0x32,}},
+ {0x3327,4,{0x81,0x39,0xDA,0x33,}},
+ {0x3328,4,{0x81,0x39,0xDA,0x34,}},
+ {0x3329,4,{0x81,0x39,0xDA,0x35,}},
+ {0x332A,4,{0x81,0x39,0xDA,0x36,}},
+ {0x332B,4,{0x81,0x39,0xDA,0x37,}},
+ {0x332C,4,{0x81,0x39,0xDA,0x38,}},
+ {0x332D,4,{0x81,0x39,0xDA,0x39,}},
+ {0x332E,4,{0x81,0x39,0xDB,0x30,}},
+ {0x332F,4,{0x81,0x39,0xDB,0x31,}},
+ {0x3330,4,{0x81,0x39,0xDB,0x32,}},
+ {0x3331,4,{0x81,0x39,0xDB,0x33,}},
+ {0x3332,4,{0x81,0x39,0xDB,0x34,}},
+ {0x3333,4,{0x81,0x39,0xDB,0x35,}},
+ {0x3334,4,{0x81,0x39,0xDB,0x36,}},
+ {0x3335,4,{0x81,0x39,0xDB,0x37,}},
+ {0x3336,4,{0x81,0x39,0xDB,0x38,}},
+ {0x3337,4,{0x81,0x39,0xDB,0x39,}},
+ {0x3338,4,{0x81,0x39,0xDC,0x30,}},
+ {0x3339,4,{0x81,0x39,0xDC,0x31,}},
+ {0x333A,4,{0x81,0x39,0xDC,0x32,}},
+ {0x333B,4,{0x81,0x39,0xDC,0x33,}},
+ {0x333C,4,{0x81,0x39,0xDC,0x34,}},
+ {0x333D,4,{0x81,0x39,0xDC,0x35,}},
+ {0x333E,4,{0x81,0x39,0xDC,0x36,}},
+ {0x333F,4,{0x81,0x39,0xDC,0x37,}},
+ {0x3340,4,{0x81,0x39,0xDC,0x38,}},
+ {0x3341,4,{0x81,0x39,0xDC,0x39,}},
+ {0x3342,4,{0x81,0x39,0xDD,0x30,}},
+ {0x3343,4,{0x81,0x39,0xDD,0x31,}},
+ {0x3344,4,{0x81,0x39,0xDD,0x32,}},
+ {0x3345,4,{0x81,0x39,0xDD,0x33,}},
+ {0x3346,4,{0x81,0x39,0xDD,0x34,}},
+ {0x3347,4,{0x81,0x39,0xDD,0x35,}},
+ {0x3348,4,{0x81,0x39,0xDD,0x36,}},
+ {0x3349,4,{0x81,0x39,0xDD,0x37,}},
+ {0x334A,4,{0x81,0x39,0xDD,0x38,}},
+ {0x334B,4,{0x81,0x39,0xDD,0x39,}},
+ {0x334C,4,{0x81,0x39,0xDE,0x30,}},
+ {0x334D,4,{0x81,0x39,0xDE,0x31,}},
+ {0x334E,4,{0x81,0x39,0xDE,0x32,}},
+ {0x334F,4,{0x81,0x39,0xDE,0x33,}},
+ {0x3350,4,{0x81,0x39,0xDE,0x34,}},
+ {0x3351,4,{0x81,0x39,0xDE,0x35,}},
+ {0x3352,4,{0x81,0x39,0xDE,0x36,}},
+ {0x3353,4,{0x81,0x39,0xDE,0x37,}},
+ {0x3354,4,{0x81,0x39,0xDE,0x38,}},
+ {0x3355,4,{0x81,0x39,0xDE,0x39,}},
+ {0x3356,4,{0x81,0x39,0xDF,0x30,}},
+ {0x3357,4,{0x81,0x39,0xDF,0x31,}},
+ {0x3358,4,{0x81,0x39,0xDF,0x32,}},
+ {0x3359,4,{0x81,0x39,0xDF,0x33,}},
+ {0x335A,4,{0x81,0x39,0xDF,0x34,}},
+ {0x335B,4,{0x81,0x39,0xDF,0x35,}},
+ {0x335C,4,{0x81,0x39,0xDF,0x36,}},
+ {0x335D,4,{0x81,0x39,0xDF,0x37,}},
+ {0x335E,4,{0x81,0x39,0xDF,0x38,}},
+ {0x335F,4,{0x81,0x39,0xDF,0x39,}},
+ {0x3360,4,{0x81,0x39,0xE0,0x30,}},
+ {0x3361,4,{0x81,0x39,0xE0,0x31,}},
+ {0x3362,4,{0x81,0x39,0xE0,0x32,}},
+ {0x3363,4,{0x81,0x39,0xE0,0x33,}},
+ {0x3364,4,{0x81,0x39,0xE0,0x34,}},
+ {0x3365,4,{0x81,0x39,0xE0,0x35,}},
+ {0x3366,4,{0x81,0x39,0xE0,0x36,}},
+ {0x3367,4,{0x81,0x39,0xE0,0x37,}},
+ {0x3368,4,{0x81,0x39,0xE0,0x38,}},
+ {0x3369,4,{0x81,0x39,0xE0,0x39,}},
+ {0x336A,4,{0x81,0x39,0xE1,0x30,}},
+ {0x336B,4,{0x81,0x39,0xE1,0x31,}},
+ {0x336C,4,{0x81,0x39,0xE1,0x32,}},
+ {0x336D,4,{0x81,0x39,0xE1,0x33,}},
+ {0x336E,4,{0x81,0x39,0xE1,0x34,}},
+ {0x336F,4,{0x81,0x39,0xE1,0x35,}},
+ {0x3370,4,{0x81,0x39,0xE1,0x36,}},
+ {0x3371,4,{0x81,0x39,0xE1,0x37,}},
+ {0x3372,4,{0x81,0x39,0xE1,0x38,}},
+ {0x3373,4,{0x81,0x39,0xE1,0x39,}},
+ {0x3374,4,{0x81,0x39,0xE2,0x30,}},
+ {0x3375,4,{0x81,0x39,0xE2,0x31,}},
+ {0x3376,4,{0x81,0x39,0xE2,0x32,}},
+ {0x3377,4,{0x81,0x39,0xE2,0x33,}},
+ {0x3378,4,{0x81,0x39,0xE2,0x34,}},
+ {0x3379,4,{0x81,0x39,0xE2,0x35,}},
+ {0x337A,4,{0x81,0x39,0xE2,0x36,}},
+ {0x337B,4,{0x81,0x39,0xE2,0x37,}},
+ {0x337C,4,{0x81,0x39,0xE2,0x38,}},
+ {0x337D,4,{0x81,0x39,0xE2,0x39,}},
+ {0x337E,4,{0x81,0x39,0xE3,0x30,}},
+ {0x337F,4,{0x81,0x39,0xE3,0x31,}},
+ {0x3380,4,{0x81,0x39,0xE3,0x32,}},
+ {0x3381,4,{0x81,0x39,0xE3,0x33,}},
+ {0x3382,4,{0x81,0x39,0xE3,0x34,}},
+ {0x3383,4,{0x81,0x39,0xE3,0x35,}},
+ {0x3384,4,{0x81,0x39,0xE3,0x36,}},
+ {0x3385,4,{0x81,0x39,0xE3,0x37,}},
+ {0x3386,4,{0x81,0x39,0xE3,0x38,}},
+ {0x3387,4,{0x81,0x39,0xE3,0x39,}},
+ {0x3388,4,{0x81,0x39,0xE4,0x30,}},
+ {0x3389,4,{0x81,0x39,0xE4,0x31,}},
+ {0x338A,4,{0x81,0x39,0xE4,0x32,}},
+ {0x338B,4,{0x81,0x39,0xE4,0x33,}},
+ {0x338C,4,{0x81,0x39,0xE4,0x34,}},
+ {0x338D,4,{0x81,0x39,0xE4,0x35,}},
+ {0x338E,2,{0xA9,0x4A,0x00,0x00,}},
+ {0x338F,2,{0xA9,0x4B,0x00,0x00,}},
+ {0x3390,4,{0x81,0x39,0xE4,0x36,}},
+ {0x3391,4,{0x81,0x39,0xE4,0x37,}},
+ {0x3392,4,{0x81,0x39,0xE4,0x38,}},
+ {0x3393,4,{0x81,0x39,0xE4,0x39,}},
+ {0x3394,4,{0x81,0x39,0xE5,0x30,}},
+ {0x3395,4,{0x81,0x39,0xE5,0x31,}},
+ {0x3396,4,{0x81,0x39,0xE5,0x32,}},
+ {0x3397,4,{0x81,0x39,0xE5,0x33,}},
+ {0x3398,4,{0x81,0x39,0xE5,0x34,}},
+ {0x3399,4,{0x81,0x39,0xE5,0x35,}},
+ {0x339A,4,{0x81,0x39,0xE5,0x36,}},
+ {0x339B,4,{0x81,0x39,0xE5,0x37,}},
+ {0x339C,2,{0xA9,0x4C,0x00,0x00,}},
+ {0x339D,2,{0xA9,0x4D,0x00,0x00,}},
+ {0x339E,2,{0xA9,0x4E,0x00,0x00,}},
+ {0x339F,4,{0x81,0x39,0xE5,0x38,}},
+ {0x33A0,4,{0x81,0x39,0xE5,0x39,}},
+ {0x33A1,2,{0xA9,0x4F,0x00,0x00,}},
+ {0x33A2,4,{0x81,0x39,0xE6,0x30,}},
+ {0x33A3,4,{0x81,0x39,0xE6,0x31,}},
+ {0x33A4,4,{0x81,0x39,0xE6,0x32,}},
+ {0x33A5,4,{0x81,0x39,0xE6,0x33,}},
+ {0x33A6,4,{0x81,0x39,0xE6,0x34,}},
+ {0x33A7,4,{0x81,0x39,0xE6,0x35,}},
+ {0x33A8,4,{0x81,0x39,0xE6,0x36,}},
+ {0x33A9,4,{0x81,0x39,0xE6,0x37,}},
+ {0x33AA,4,{0x81,0x39,0xE6,0x38,}},
+ {0x33AB,4,{0x81,0x39,0xE6,0x39,}},
+ {0x33AC,4,{0x81,0x39,0xE7,0x30,}},
+ {0x33AD,4,{0x81,0x39,0xE7,0x31,}},
+ {0x33AE,4,{0x81,0x39,0xE7,0x32,}},
+ {0x33AF,4,{0x81,0x39,0xE7,0x33,}},
+ {0x33B0,4,{0x81,0x39,0xE7,0x34,}},
+ {0x33B1,4,{0x81,0x39,0xE7,0x35,}},
+ {0x33B2,4,{0x81,0x39,0xE7,0x36,}},
+ {0x33B3,4,{0x81,0x39,0xE7,0x37,}},
+ {0x33B4,4,{0x81,0x39,0xE7,0x38,}},
+ {0x33B5,4,{0x81,0x39,0xE7,0x39,}},
+ {0x33B6,4,{0x81,0x39,0xE8,0x30,}},
+ {0x33B7,4,{0x81,0x39,0xE8,0x31,}},
+ {0x33B8,4,{0x81,0x39,0xE8,0x32,}},
+ {0x33B9,4,{0x81,0x39,0xE8,0x33,}},
+ {0x33BA,4,{0x81,0x39,0xE8,0x34,}},
+ {0x33BB,4,{0x81,0x39,0xE8,0x35,}},
+ {0x33BC,4,{0x81,0x39,0xE8,0x36,}},
+ {0x33BD,4,{0x81,0x39,0xE8,0x37,}},
+ {0x33BE,4,{0x81,0x39,0xE8,0x38,}},
+ {0x33BF,4,{0x81,0x39,0xE8,0x39,}},
+ {0x33C0,4,{0x81,0x39,0xE9,0x30,}},
+ {0x33C1,4,{0x81,0x39,0xE9,0x31,}},
+ {0x33C2,4,{0x81,0x39,0xE9,0x32,}},
+ {0x33C3,4,{0x81,0x39,0xE9,0x33,}},
+ {0x33C4,2,{0xA9,0x50,0x00,0x00,}},
+ {0x33C5,4,{0x81,0x39,0xE9,0x34,}},
+ {0x33C6,4,{0x81,0x39,0xE9,0x35,}},
+ {0x33C7,4,{0x81,0x39,0xE9,0x36,}},
+ {0x33C8,4,{0x81,0x39,0xE9,0x37,}},
+ {0x33C9,4,{0x81,0x39,0xE9,0x38,}},
+ {0x33CA,4,{0x81,0x39,0xE9,0x39,}},
+ {0x33CB,4,{0x81,0x39,0xEA,0x30,}},
+ {0x33CC,4,{0x81,0x39,0xEA,0x31,}},
+ {0x33CD,4,{0x81,0x39,0xEA,0x32,}},
+ {0x33CE,2,{0xA9,0x51,0x00,0x00,}},
+ {0x33CF,4,{0x81,0x39,0xEA,0x33,}},
+ {0x33D0,4,{0x81,0x39,0xEA,0x34,}},
+ {0x33D1,2,{0xA9,0x52,0x00,0x00,}},
+ {0x33D2,2,{0xA9,0x53,0x00,0x00,}},
+ {0x33D3,4,{0x81,0x39,0xEA,0x35,}},
+ {0x33D4,4,{0x81,0x39,0xEA,0x36,}},
+ {0x33D5,2,{0xA9,0x54,0x00,0x00,}},
+ {0x33D6,4,{0x81,0x39,0xEA,0x37,}},
+ {0x33D7,4,{0x81,0x39,0xEA,0x38,}},
+ {0x33D8,4,{0x81,0x39,0xEA,0x39,}},
+ {0x33D9,4,{0x81,0x39,0xEB,0x30,}},
+ {0x33DA,4,{0x81,0x39,0xEB,0x31,}},
+ {0x33DB,4,{0x81,0x39,0xEB,0x32,}},
+ {0x33DC,4,{0x81,0x39,0xEB,0x33,}},
+ {0x33DD,4,{0x81,0x39,0xEB,0x34,}},
+ {0x33DE,4,{0x81,0x39,0xEB,0x35,}},
+ {0x33DF,4,{0x81,0x39,0xEB,0x36,}},
+ {0x33E0,4,{0x81,0x39,0xEB,0x37,}},
+ {0x33E1,4,{0x81,0x39,0xEB,0x38,}},
+ {0x33E2,4,{0x81,0x39,0xEB,0x39,}},
+ {0x33E3,4,{0x81,0x39,0xEC,0x30,}},
+ {0x33E4,4,{0x81,0x39,0xEC,0x31,}},
+ {0x33E5,4,{0x81,0x39,0xEC,0x32,}},
+ {0x33E6,4,{0x81,0x39,0xEC,0x33,}},
+ {0x33E7,4,{0x81,0x39,0xEC,0x34,}},
+ {0x33E8,4,{0x81,0x39,0xEC,0x35,}},
+ {0x33E9,4,{0x81,0x39,0xEC,0x36,}},
+ {0x33EA,4,{0x81,0x39,0xEC,0x37,}},
+ {0x33EB,4,{0x81,0x39,0xEC,0x38,}},
+ {0x33EC,4,{0x81,0x39,0xEC,0x39,}},
+ {0x33ED,4,{0x81,0x39,0xED,0x30,}},
+ {0x33EE,4,{0x81,0x39,0xED,0x31,}},
+ {0x33EF,4,{0x81,0x39,0xED,0x32,}},
+ {0x33F0,4,{0x81,0x39,0xED,0x33,}},
+ {0x33F1,4,{0x81,0x39,0xED,0x34,}},
+ {0x33F2,4,{0x81,0x39,0xED,0x35,}},
+ {0x33F3,4,{0x81,0x39,0xED,0x36,}},
+ {0x33F4,4,{0x81,0x39,0xED,0x37,}},
+ {0x33F5,4,{0x81,0x39,0xED,0x38,}},
+ {0x33F6,4,{0x81,0x39,0xED,0x39,}},
+ {0x33F7,4,{0x81,0x39,0xEE,0x30,}},
+ {0x33F8,4,{0x81,0x39,0xEE,0x31,}},
+ {0x33F9,4,{0x81,0x39,0xEE,0x32,}},
+ {0x33FA,4,{0x81,0x39,0xEE,0x33,}},
+ {0x33FB,4,{0x81,0x39,0xEE,0x34,}},
+ {0x33FC,4,{0x81,0x39,0xEE,0x35,}},
+ {0x33FD,4,{0x81,0x39,0xEE,0x36,}},
+ {0x33FE,4,{0x81,0x39,0xEE,0x37,}},
+ {0x33FF,4,{0x81,0x39,0xEE,0x38,}},
+ {0x3400,4,{0x81,0x39,0xEE,0x39,}},
+ {0x3401,4,{0x81,0x39,0xEF,0x30,}},
+ {0x3402,4,{0x81,0x39,0xEF,0x31,}},
+ {0x3403,4,{0x81,0x39,0xEF,0x32,}},
+ {0x3404,4,{0x81,0x39,0xEF,0x33,}},
+ {0x3405,4,{0x81,0x39,0xEF,0x34,}},
+ {0x3406,4,{0x81,0x39,0xEF,0x35,}},
+ {0x3407,4,{0x81,0x39,0xEF,0x36,}},
+ {0x3408,4,{0x81,0x39,0xEF,0x37,}},
+ {0x3409,4,{0x81,0x39,0xEF,0x38,}},
+ {0x340A,4,{0x81,0x39,0xEF,0x39,}},
+ {0x340B,4,{0x81,0x39,0xF0,0x30,}},
+ {0x340C,4,{0x81,0x39,0xF0,0x31,}},
+ {0x340D,4,{0x81,0x39,0xF0,0x32,}},
+ {0x340E,4,{0x81,0x39,0xF0,0x33,}},
+ {0x340F,4,{0x81,0x39,0xF0,0x34,}},
+ {0x3410,4,{0x81,0x39,0xF0,0x35,}},
+ {0x3411,4,{0x81,0x39,0xF0,0x36,}},
+ {0x3412,4,{0x81,0x39,0xF0,0x37,}},
+ {0x3413,4,{0x81,0x39,0xF0,0x38,}},
+ {0x3414,4,{0x81,0x39,0xF0,0x39,}},
+ {0x3415,4,{0x81,0x39,0xF1,0x30,}},
+ {0x3416,4,{0x81,0x39,0xF1,0x31,}},
+ {0x3417,4,{0x81,0x39,0xF1,0x32,}},
+ {0x3418,4,{0x81,0x39,0xF1,0x33,}},
+ {0x3419,4,{0x81,0x39,0xF1,0x34,}},
+ {0x341A,4,{0x81,0x39,0xF1,0x35,}},
+ {0x341B,4,{0x81,0x39,0xF1,0x36,}},
+ {0x341C,4,{0x81,0x39,0xF1,0x37,}},
+ {0x341D,4,{0x81,0x39,0xF1,0x38,}},
+ {0x341E,4,{0x81,0x39,0xF1,0x39,}},
+ {0x341F,4,{0x81,0x39,0xF2,0x30,}},
+ {0x3420,4,{0x81,0x39,0xF2,0x31,}},
+ {0x3421,4,{0x81,0x39,0xF2,0x32,}},
+ {0x3422,4,{0x81,0x39,0xF2,0x33,}},
+ {0x3423,4,{0x81,0x39,0xF2,0x34,}},
+ {0x3424,4,{0x81,0x39,0xF2,0x35,}},
+ {0x3425,4,{0x81,0x39,0xF2,0x36,}},
+ {0x3426,4,{0x81,0x39,0xF2,0x37,}},
+ {0x3427,4,{0x81,0x39,0xF2,0x38,}},
+ {0x3428,4,{0x81,0x39,0xF2,0x39,}},
+ {0x3429,4,{0x81,0x39,0xF3,0x30,}},
+ {0x342A,4,{0x81,0x39,0xF3,0x31,}},
+ {0x342B,4,{0x81,0x39,0xF3,0x32,}},
+ {0x342C,4,{0x81,0x39,0xF3,0x33,}},
+ {0x342D,4,{0x81,0x39,0xF3,0x34,}},
+ {0x342E,4,{0x81,0x39,0xF3,0x35,}},
+ {0x342F,4,{0x81,0x39,0xF3,0x36,}},
+ {0x3430,4,{0x81,0x39,0xF3,0x37,}},
+ {0x3431,4,{0x81,0x39,0xF3,0x38,}},
+ {0x3432,4,{0x81,0x39,0xF3,0x39,}},
+ {0x3433,4,{0x81,0x39,0xF4,0x30,}},
+ {0x3434,4,{0x81,0x39,0xF4,0x31,}},
+ {0x3435,4,{0x81,0x39,0xF4,0x32,}},
+ {0x3436,4,{0x81,0x39,0xF4,0x33,}},
+ {0x3437,4,{0x81,0x39,0xF4,0x34,}},
+ {0x3438,4,{0x81,0x39,0xF4,0x35,}},
+ {0x3439,4,{0x81,0x39,0xF4,0x36,}},
+ {0x343A,4,{0x81,0x39,0xF4,0x37,}},
+ {0x343B,4,{0x81,0x39,0xF4,0x38,}},
+ {0x343C,4,{0x81,0x39,0xF4,0x39,}},
+ {0x343D,4,{0x81,0x39,0xF5,0x30,}},
+ {0x343E,4,{0x81,0x39,0xF5,0x31,}},
+ {0x343F,4,{0x81,0x39,0xF5,0x32,}},
+ {0x3440,4,{0x81,0x39,0xF5,0x33,}},
+ {0x3441,4,{0x81,0x39,0xF5,0x34,}},
+ {0x3442,4,{0x81,0x39,0xF5,0x35,}},
+ {0x3443,4,{0x81,0x39,0xF5,0x36,}},
+ {0x3444,4,{0x81,0x39,0xF5,0x37,}},
+ {0x3445,4,{0x81,0x39,0xF5,0x38,}},
+ {0x3446,4,{0x81,0x39,0xF5,0x39,}},
+ {0x3447,2,{0xFE,0x56,0x00,0x00,}},
+ {0x3448,4,{0x81,0x39,0xF6,0x30,}},
+ {0x3449,4,{0x81,0x39,0xF6,0x31,}},
+ {0x344A,4,{0x81,0x39,0xF6,0x32,}},
+ {0x344B,4,{0x81,0x39,0xF6,0x33,}},
+ {0x344C,4,{0x81,0x39,0xF6,0x34,}},
+ {0x344D,4,{0x81,0x39,0xF6,0x35,}},
+ {0x344E,4,{0x81,0x39,0xF6,0x36,}},
+ {0x344F,4,{0x81,0x39,0xF6,0x37,}},
+ {0x3450,4,{0x81,0x39,0xF6,0x38,}},
+ {0x3451,4,{0x81,0x39,0xF6,0x39,}},
+ {0x3452,4,{0x81,0x39,0xF7,0x30,}},
+ {0x3453,4,{0x81,0x39,0xF7,0x31,}},
+ {0x3454,4,{0x81,0x39,0xF7,0x32,}},
+ {0x3455,4,{0x81,0x39,0xF7,0x33,}},
+ {0x3456,4,{0x81,0x39,0xF7,0x34,}},
+ {0x3457,4,{0x81,0x39,0xF7,0x35,}},
+ {0x3458,4,{0x81,0x39,0xF7,0x36,}},
+ {0x3459,4,{0x81,0x39,0xF7,0x37,}},
+ {0x345A,4,{0x81,0x39,0xF7,0x38,}},
+ {0x345B,4,{0x81,0x39,0xF7,0x39,}},
+ {0x345C,4,{0x81,0x39,0xF8,0x30,}},
+ {0x345D,4,{0x81,0x39,0xF8,0x31,}},
+ {0x345E,4,{0x81,0x39,0xF8,0x32,}},
+ {0x345F,4,{0x81,0x39,0xF8,0x33,}},
+ {0x3460,4,{0x81,0x39,0xF8,0x34,}},
+ {0x3461,4,{0x81,0x39,0xF8,0x35,}},
+ {0x3462,4,{0x81,0x39,0xF8,0x36,}},
+ {0x3463,4,{0x81,0x39,0xF8,0x37,}},
+ {0x3464,4,{0x81,0x39,0xF8,0x38,}},
+ {0x3465,4,{0x81,0x39,0xF8,0x39,}},
+ {0x3466,4,{0x81,0x39,0xF9,0x30,}},
+ {0x3467,4,{0x81,0x39,0xF9,0x31,}},
+ {0x3468,4,{0x81,0x39,0xF9,0x32,}},
+ {0x3469,4,{0x81,0x39,0xF9,0x33,}},
+ {0x346A,4,{0x81,0x39,0xF9,0x34,}},
+ {0x346B,4,{0x81,0x39,0xF9,0x35,}},
+ {0x346C,4,{0x81,0x39,0xF9,0x36,}},
+ {0x346D,4,{0x81,0x39,0xF9,0x37,}},
+ {0x346E,4,{0x81,0x39,0xF9,0x38,}},
+ {0x346F,4,{0x81,0x39,0xF9,0x39,}},
+ {0x3470,4,{0x81,0x39,0xFA,0x30,}},
+ {0x3471,4,{0x81,0x39,0xFA,0x31,}},
+ {0x3472,4,{0x81,0x39,0xFA,0x32,}},
+ {0x3473,2,{0xFE,0x55,0x00,0x00,}},
+ {0x3474,4,{0x81,0x39,0xFA,0x33,}},
+ {0x3475,4,{0x81,0x39,0xFA,0x34,}},
+ {0x3476,4,{0x81,0x39,0xFA,0x35,}},
+ {0x3477,4,{0x81,0x39,0xFA,0x36,}},
+ {0x3478,4,{0x81,0x39,0xFA,0x37,}},
+ {0x3479,4,{0x81,0x39,0xFA,0x38,}},
+ {0x347A,4,{0x81,0x39,0xFA,0x39,}},
+ {0x347B,4,{0x81,0x39,0xFB,0x30,}},
+ {0x347C,4,{0x81,0x39,0xFB,0x31,}},
+ {0x347D,4,{0x81,0x39,0xFB,0x32,}},
+ {0x347E,4,{0x81,0x39,0xFB,0x33,}},
+ {0x347F,4,{0x81,0x39,0xFB,0x34,}},
+ {0x3480,4,{0x81,0x39,0xFB,0x35,}},
+ {0x3481,4,{0x81,0x39,0xFB,0x36,}},
+ {0x3482,4,{0x81,0x39,0xFB,0x37,}},
+ {0x3483,4,{0x81,0x39,0xFB,0x38,}},
+ {0x3484,4,{0x81,0x39,0xFB,0x39,}},
+ {0x3485,4,{0x81,0x39,0xFC,0x30,}},
+ {0x3486,4,{0x81,0x39,0xFC,0x31,}},
+ {0x3487,4,{0x81,0x39,0xFC,0x32,}},
+ {0x3488,4,{0x81,0x39,0xFC,0x33,}},
+ {0x3489,4,{0x81,0x39,0xFC,0x34,}},
+ {0x348A,4,{0x81,0x39,0xFC,0x35,}},
+ {0x348B,4,{0x81,0x39,0xFC,0x36,}},
+ {0x348C,4,{0x81,0x39,0xFC,0x37,}},
+ {0x348D,4,{0x81,0x39,0xFC,0x38,}},
+ {0x348E,4,{0x81,0x39,0xFC,0x39,}},
+ {0x348F,4,{0x81,0x39,0xFD,0x30,}},
+ {0x3490,4,{0x81,0x39,0xFD,0x31,}},
+ {0x3491,4,{0x81,0x39,0xFD,0x32,}},
+ {0x3492,4,{0x81,0x39,0xFD,0x33,}},
+ {0x3493,4,{0x81,0x39,0xFD,0x34,}},
+ {0x3494,4,{0x81,0x39,0xFD,0x35,}},
+ {0x3495,4,{0x81,0x39,0xFD,0x36,}},
+ {0x3496,4,{0x81,0x39,0xFD,0x37,}},
+ {0x3497,4,{0x81,0x39,0xFD,0x38,}},
+ {0x3498,4,{0x81,0x39,0xFD,0x39,}},
+ {0x3499,4,{0x81,0x39,0xFE,0x30,}},
+ {0x349A,4,{0x81,0x39,0xFE,0x31,}},
+ {0x349B,4,{0x81,0x39,0xFE,0x32,}},
+ {0x349C,4,{0x81,0x39,0xFE,0x33,}},
+ {0x349D,4,{0x81,0x39,0xFE,0x34,}},
+ {0x349E,4,{0x81,0x39,0xFE,0x35,}},
+ {0x349F,4,{0x81,0x39,0xFE,0x36,}},
+ {0x34A0,4,{0x81,0x39,0xFE,0x37,}},
+ {0x34A1,4,{0x81,0x39,0xFE,0x38,}},
+ {0x34A2,4,{0x81,0x39,0xFE,0x39,}},
+ {0x34A3,4,{0x82,0x30,0x81,0x30,}},
+ {0x34A4,4,{0x82,0x30,0x81,0x31,}},
+ {0x34A5,4,{0x82,0x30,0x81,0x32,}},
+ {0x34A6,4,{0x82,0x30,0x81,0x33,}},
+ {0x34A7,4,{0x82,0x30,0x81,0x34,}},
+ {0x34A8,4,{0x82,0x30,0x81,0x35,}},
+ {0x34A9,4,{0x82,0x30,0x81,0x36,}},
+ {0x34AA,4,{0x82,0x30,0x81,0x37,}},
+ {0x34AB,4,{0x82,0x30,0x81,0x38,}},
+ {0x34AC,4,{0x82,0x30,0x81,0x39,}},
+ {0x34AD,4,{0x82,0x30,0x82,0x30,}},
+ {0x34AE,4,{0x82,0x30,0x82,0x31,}},
+ {0x34AF,4,{0x82,0x30,0x82,0x32,}},
+ {0x34B0,4,{0x82,0x30,0x82,0x33,}},
+ {0x34B1,4,{0x82,0x30,0x82,0x34,}},
+ {0x34B2,4,{0x82,0x30,0x82,0x35,}},
+ {0x34B3,4,{0x82,0x30,0x82,0x36,}},
+ {0x34B4,4,{0x82,0x30,0x82,0x37,}},
+ {0x34B5,4,{0x82,0x30,0x82,0x38,}},
+ {0x34B6,4,{0x82,0x30,0x82,0x39,}},
+ {0x34B7,4,{0x82,0x30,0x83,0x30,}},
+ {0x34B8,4,{0x82,0x30,0x83,0x31,}},
+ {0x34B9,4,{0x82,0x30,0x83,0x32,}},
+ {0x34BA,4,{0x82,0x30,0x83,0x33,}},
+ {0x34BB,4,{0x82,0x30,0x83,0x34,}},
+ {0x34BC,4,{0x82,0x30,0x83,0x35,}},
+ {0x34BD,4,{0x82,0x30,0x83,0x36,}},
+ {0x34BE,4,{0x82,0x30,0x83,0x37,}},
+ {0x34BF,4,{0x82,0x30,0x83,0x38,}},
+ {0x34C0,4,{0x82,0x30,0x83,0x39,}},
+ {0x34C1,4,{0x82,0x30,0x84,0x30,}},
+ {0x34C2,4,{0x82,0x30,0x84,0x31,}},
+ {0x34C3,4,{0x82,0x30,0x84,0x32,}},
+ {0x34C4,4,{0x82,0x30,0x84,0x33,}},
+ {0x34C5,4,{0x82,0x30,0x84,0x34,}},
+ {0x34C6,4,{0x82,0x30,0x84,0x35,}},
+ {0x34C7,4,{0x82,0x30,0x84,0x36,}},
+ {0x34C8,4,{0x82,0x30,0x84,0x37,}},
+ {0x34C9,4,{0x82,0x30,0x84,0x38,}},
+ {0x34CA,4,{0x82,0x30,0x84,0x39,}},
+ {0x34CB,4,{0x82,0x30,0x85,0x30,}},
+ {0x34CC,4,{0x82,0x30,0x85,0x31,}},
+ {0x34CD,4,{0x82,0x30,0x85,0x32,}},
+ {0x34CE,4,{0x82,0x30,0x85,0x33,}},
+ {0x34CF,4,{0x82,0x30,0x85,0x34,}},
+ {0x34D0,4,{0x82,0x30,0x85,0x35,}},
+ {0x34D1,4,{0x82,0x30,0x85,0x36,}},
+ {0x34D2,4,{0x82,0x30,0x85,0x37,}},
+ {0x34D3,4,{0x82,0x30,0x85,0x38,}},
+ {0x34D4,4,{0x82,0x30,0x85,0x39,}},
+ {0x34D5,4,{0x82,0x30,0x86,0x30,}},
+ {0x34D6,4,{0x82,0x30,0x86,0x31,}},
+ {0x34D7,4,{0x82,0x30,0x86,0x32,}},
+ {0x34D8,4,{0x82,0x30,0x86,0x33,}},
+ {0x34D9,4,{0x82,0x30,0x86,0x34,}},
+ {0x34DA,4,{0x82,0x30,0x86,0x35,}},
+ {0x34DB,4,{0x82,0x30,0x86,0x36,}},
+ {0x34DC,4,{0x82,0x30,0x86,0x37,}},
+ {0x34DD,4,{0x82,0x30,0x86,0x38,}},
+ {0x34DE,4,{0x82,0x30,0x86,0x39,}},
+ {0x34DF,4,{0x82,0x30,0x87,0x30,}},
+ {0x34E0,4,{0x82,0x30,0x87,0x31,}},
+ {0x34E1,4,{0x82,0x30,0x87,0x32,}},
+ {0x34E2,4,{0x82,0x30,0x87,0x33,}},
+ {0x34E3,4,{0x82,0x30,0x87,0x34,}},
+ {0x34E4,4,{0x82,0x30,0x87,0x35,}},
+ {0x34E5,4,{0x82,0x30,0x87,0x36,}},
+ {0x34E6,4,{0x82,0x30,0x87,0x37,}},
+ {0x34E7,4,{0x82,0x30,0x87,0x38,}},
+ {0x34E8,4,{0x82,0x30,0x87,0x39,}},
+ {0x34E9,4,{0x82,0x30,0x88,0x30,}},
+ {0x34EA,4,{0x82,0x30,0x88,0x31,}},
+ {0x34EB,4,{0x82,0x30,0x88,0x32,}},
+ {0x34EC,4,{0x82,0x30,0x88,0x33,}},
+ {0x34ED,4,{0x82,0x30,0x88,0x34,}},
+ {0x34EE,4,{0x82,0x30,0x88,0x35,}},
+ {0x34EF,4,{0x82,0x30,0x88,0x36,}},
+ {0x34F0,4,{0x82,0x30,0x88,0x37,}},
+ {0x34F1,4,{0x82,0x30,0x88,0x38,}},
+ {0x34F2,4,{0x82,0x30,0x88,0x39,}},
+ {0x34F3,4,{0x82,0x30,0x89,0x30,}},
+ {0x34F4,4,{0x82,0x30,0x89,0x31,}},
+ {0x34F5,4,{0x82,0x30,0x89,0x32,}},
+ {0x34F6,4,{0x82,0x30,0x89,0x33,}},
+ {0x34F7,4,{0x82,0x30,0x89,0x34,}},
+ {0x34F8,4,{0x82,0x30,0x89,0x35,}},
+ {0x34F9,4,{0x82,0x30,0x89,0x36,}},
+ {0x34FA,4,{0x82,0x30,0x89,0x37,}},
+ {0x34FB,4,{0x82,0x30,0x89,0x38,}},
+ {0x34FC,4,{0x82,0x30,0x89,0x39,}},
+ {0x34FD,4,{0x82,0x30,0x8A,0x30,}},
+ {0x34FE,4,{0x82,0x30,0x8A,0x31,}},
+ {0x34FF,4,{0x82,0x30,0x8A,0x32,}},
+ {0x3500,4,{0x82,0x30,0x8A,0x33,}},
+ {0x3501,4,{0x82,0x30,0x8A,0x34,}},
+ {0x3502,4,{0x82,0x30,0x8A,0x35,}},
+ {0x3503,4,{0x82,0x30,0x8A,0x36,}},
+ {0x3504,4,{0x82,0x30,0x8A,0x37,}},
+ {0x3505,4,{0x82,0x30,0x8A,0x38,}},
+ {0x3506,4,{0x82,0x30,0x8A,0x39,}},
+ {0x3507,4,{0x82,0x30,0x8B,0x30,}},
+ {0x3508,4,{0x82,0x30,0x8B,0x31,}},
+ {0x3509,4,{0x82,0x30,0x8B,0x32,}},
+ {0x350A,4,{0x82,0x30,0x8B,0x33,}},
+ {0x350B,4,{0x82,0x30,0x8B,0x34,}},
+ {0x350C,4,{0x82,0x30,0x8B,0x35,}},
+ {0x350D,4,{0x82,0x30,0x8B,0x36,}},
+ {0x350E,4,{0x82,0x30,0x8B,0x37,}},
+ {0x350F,4,{0x82,0x30,0x8B,0x38,}},
+ {0x3510,4,{0x82,0x30,0x8B,0x39,}},
+ {0x3511,4,{0x82,0x30,0x8C,0x30,}},
+ {0x3512,4,{0x82,0x30,0x8C,0x31,}},
+ {0x3513,4,{0x82,0x30,0x8C,0x32,}},
+ {0x3514,4,{0x82,0x30,0x8C,0x33,}},
+ {0x3515,4,{0x82,0x30,0x8C,0x34,}},
+ {0x3516,4,{0x82,0x30,0x8C,0x35,}},
+ {0x3517,4,{0x82,0x30,0x8C,0x36,}},
+ {0x3518,4,{0x82,0x30,0x8C,0x37,}},
+ {0x3519,4,{0x82,0x30,0x8C,0x38,}},
+ {0x351A,4,{0x82,0x30,0x8C,0x39,}},
+ {0x351B,4,{0x82,0x30,0x8D,0x30,}},
+ {0x351C,4,{0x82,0x30,0x8D,0x31,}},
+ {0x351D,4,{0x82,0x30,0x8D,0x32,}},
+ {0x351E,4,{0x82,0x30,0x8D,0x33,}},
+ {0x351F,4,{0x82,0x30,0x8D,0x34,}},
+ {0x3520,4,{0x82,0x30,0x8D,0x35,}},
+ {0x3521,4,{0x82,0x30,0x8D,0x36,}},
+ {0x3522,4,{0x82,0x30,0x8D,0x37,}},
+ {0x3523,4,{0x82,0x30,0x8D,0x38,}},
+ {0x3524,4,{0x82,0x30,0x8D,0x39,}},
+ {0x3525,4,{0x82,0x30,0x8E,0x30,}},
+ {0x3526,4,{0x82,0x30,0x8E,0x31,}},
+ {0x3527,4,{0x82,0x30,0x8E,0x32,}},
+ {0x3528,4,{0x82,0x30,0x8E,0x33,}},
+ {0x3529,4,{0x82,0x30,0x8E,0x34,}},
+ {0x352A,4,{0x82,0x30,0x8E,0x35,}},
+ {0x352B,4,{0x82,0x30,0x8E,0x36,}},
+ {0x352C,4,{0x82,0x30,0x8E,0x37,}},
+ {0x352D,4,{0x82,0x30,0x8E,0x38,}},
+ {0x352E,4,{0x82,0x30,0x8E,0x39,}},
+ {0x352F,4,{0x82,0x30,0x8F,0x30,}},
+ {0x3530,4,{0x82,0x30,0x8F,0x31,}},
+ {0x3531,4,{0x82,0x30,0x8F,0x32,}},
+ {0x3532,4,{0x82,0x30,0x8F,0x33,}},
+ {0x3533,4,{0x82,0x30,0x8F,0x34,}},
+ {0x3534,4,{0x82,0x30,0x8F,0x35,}},
+ {0x3535,4,{0x82,0x30,0x8F,0x36,}},
+ {0x3536,4,{0x82,0x30,0x8F,0x37,}},
+ {0x3537,4,{0x82,0x30,0x8F,0x38,}},
+ {0x3538,4,{0x82,0x30,0x8F,0x39,}},
+ {0x3539,4,{0x82,0x30,0x90,0x30,}},
+ {0x353A,4,{0x82,0x30,0x90,0x31,}},
+ {0x353B,4,{0x82,0x30,0x90,0x32,}},
+ {0x353C,4,{0x82,0x30,0x90,0x33,}},
+ {0x353D,4,{0x82,0x30,0x90,0x34,}},
+ {0x353E,4,{0x82,0x30,0x90,0x35,}},
+ {0x353F,4,{0x82,0x30,0x90,0x36,}},
+ {0x3540,4,{0x82,0x30,0x90,0x37,}},
+ {0x3541,4,{0x82,0x30,0x90,0x38,}},
+ {0x3542,4,{0x82,0x30,0x90,0x39,}},
+ {0x3543,4,{0x82,0x30,0x91,0x30,}},
+ {0x3544,4,{0x82,0x30,0x91,0x31,}},
+ {0x3545,4,{0x82,0x30,0x91,0x32,}},
+ {0x3546,4,{0x82,0x30,0x91,0x33,}},
+ {0x3547,4,{0x82,0x30,0x91,0x34,}},
+ {0x3548,4,{0x82,0x30,0x91,0x35,}},
+ {0x3549,4,{0x82,0x30,0x91,0x36,}},
+ {0x354A,4,{0x82,0x30,0x91,0x37,}},
+ {0x354B,4,{0x82,0x30,0x91,0x38,}},
+ {0x354C,4,{0x82,0x30,0x91,0x39,}},
+ {0x354D,4,{0x82,0x30,0x92,0x30,}},
+ {0x354E,4,{0x82,0x30,0x92,0x31,}},
+ {0x354F,4,{0x82,0x30,0x92,0x32,}},
+ {0x3550,4,{0x82,0x30,0x92,0x33,}},
+ {0x3551,4,{0x82,0x30,0x92,0x34,}},
+ {0x3552,4,{0x82,0x30,0x92,0x35,}},
+ {0x3553,4,{0x82,0x30,0x92,0x36,}},
+ {0x3554,4,{0x82,0x30,0x92,0x37,}},
+ {0x3555,4,{0x82,0x30,0x92,0x38,}},
+ {0x3556,4,{0x82,0x30,0x92,0x39,}},
+ {0x3557,4,{0x82,0x30,0x93,0x30,}},
+ {0x3558,4,{0x82,0x30,0x93,0x31,}},
+ {0x3559,4,{0x82,0x30,0x93,0x32,}},
+ {0x355A,4,{0x82,0x30,0x93,0x33,}},
+ {0x355B,4,{0x82,0x30,0x93,0x34,}},
+ {0x355C,4,{0x82,0x30,0x93,0x35,}},
+ {0x355D,4,{0x82,0x30,0x93,0x36,}},
+ {0x355E,4,{0x82,0x30,0x93,0x37,}},
+ {0x355F,4,{0x82,0x30,0x93,0x38,}},
+ {0x3560,4,{0x82,0x30,0x93,0x39,}},
+ {0x3561,4,{0x82,0x30,0x94,0x30,}},
+ {0x3562,4,{0x82,0x30,0x94,0x31,}},
+ {0x3563,4,{0x82,0x30,0x94,0x32,}},
+ {0x3564,4,{0x82,0x30,0x94,0x33,}},
+ {0x3565,4,{0x82,0x30,0x94,0x34,}},
+ {0x3566,4,{0x82,0x30,0x94,0x35,}},
+ {0x3567,4,{0x82,0x30,0x94,0x36,}},
+ {0x3568,4,{0x82,0x30,0x94,0x37,}},
+ {0x3569,4,{0x82,0x30,0x94,0x38,}},
+ {0x356A,4,{0x82,0x30,0x94,0x39,}},
+ {0x356B,4,{0x82,0x30,0x95,0x30,}},
+ {0x356C,4,{0x82,0x30,0x95,0x31,}},
+ {0x356D,4,{0x82,0x30,0x95,0x32,}},
+ {0x356E,4,{0x82,0x30,0x95,0x33,}},
+ {0x356F,4,{0x82,0x30,0x95,0x34,}},
+ {0x3570,4,{0x82,0x30,0x95,0x35,}},
+ {0x3571,4,{0x82,0x30,0x95,0x36,}},
+ {0x3572,4,{0x82,0x30,0x95,0x37,}},
+ {0x3573,4,{0x82,0x30,0x95,0x38,}},
+ {0x3574,4,{0x82,0x30,0x95,0x39,}},
+ {0x3575,4,{0x82,0x30,0x96,0x30,}},
+ {0x3576,4,{0x82,0x30,0x96,0x31,}},
+ {0x3577,4,{0x82,0x30,0x96,0x32,}},
+ {0x3578,4,{0x82,0x30,0x96,0x33,}},
+ {0x3579,4,{0x82,0x30,0x96,0x34,}},
+ {0x357A,4,{0x82,0x30,0x96,0x35,}},
+ {0x357B,4,{0x82,0x30,0x96,0x36,}},
+ {0x357C,4,{0x82,0x30,0x96,0x37,}},
+ {0x357D,4,{0x82,0x30,0x96,0x38,}},
+ {0x357E,4,{0x82,0x30,0x96,0x39,}},
+ {0x357F,4,{0x82,0x30,0x97,0x30,}},
+ {0x3580,4,{0x82,0x30,0x97,0x31,}},
+ {0x3581,4,{0x82,0x30,0x97,0x32,}},
+ {0x3582,4,{0x82,0x30,0x97,0x33,}},
+ {0x3583,4,{0x82,0x30,0x97,0x34,}},
+ {0x3584,4,{0x82,0x30,0x97,0x35,}},
+ {0x3585,4,{0x82,0x30,0x97,0x36,}},
+ {0x3586,4,{0x82,0x30,0x97,0x37,}},
+ {0x3587,4,{0x82,0x30,0x97,0x38,}},
+ {0x3588,4,{0x82,0x30,0x97,0x39,}},
+ {0x3589,4,{0x82,0x30,0x98,0x30,}},
+ {0x358A,4,{0x82,0x30,0x98,0x31,}},
+ {0x358B,4,{0x82,0x30,0x98,0x32,}},
+ {0x358C,4,{0x82,0x30,0x98,0x33,}},
+ {0x358D,4,{0x82,0x30,0x98,0x34,}},
+ {0x358E,4,{0x82,0x30,0x98,0x35,}},
+ {0x358F,4,{0x82,0x30,0x98,0x36,}},
+ {0x3590,4,{0x82,0x30,0x98,0x37,}},
+ {0x3591,4,{0x82,0x30,0x98,0x38,}},
+ {0x3592,4,{0x82,0x30,0x98,0x39,}},
+ {0x3593,4,{0x82,0x30,0x99,0x30,}},
+ {0x3594,4,{0x82,0x30,0x99,0x31,}},
+ {0x3595,4,{0x82,0x30,0x99,0x32,}},
+ {0x3596,4,{0x82,0x30,0x99,0x33,}},
+ {0x3597,4,{0x82,0x30,0x99,0x34,}},
+ {0x3598,4,{0x82,0x30,0x99,0x35,}},
+ {0x3599,4,{0x82,0x30,0x99,0x36,}},
+ {0x359A,4,{0x82,0x30,0x99,0x37,}},
+ {0x359B,4,{0x82,0x30,0x99,0x38,}},
+ {0x359C,4,{0x82,0x30,0x99,0x39,}},
+ {0x359D,4,{0x82,0x30,0x9A,0x30,}},
+ {0x359E,2,{0xFE,0x5A,0x00,0x00,}},
+ {0x359F,4,{0x82,0x30,0x9A,0x31,}},
+ {0x35A0,4,{0x82,0x30,0x9A,0x32,}},
+ {0x35A1,4,{0x82,0x30,0x9A,0x33,}},
+ {0x35A2,4,{0x82,0x30,0x9A,0x34,}},
+ {0x35A3,4,{0x82,0x30,0x9A,0x35,}},
+ {0x35A4,4,{0x82,0x30,0x9A,0x36,}},
+ {0x35A5,4,{0x82,0x30,0x9A,0x37,}},
+ {0x35A6,4,{0x82,0x30,0x9A,0x38,}},
+ {0x35A7,4,{0x82,0x30,0x9A,0x39,}},
+ {0x35A8,4,{0x82,0x30,0x9B,0x30,}},
+ {0x35A9,4,{0x82,0x30,0x9B,0x31,}},
+ {0x35AA,4,{0x82,0x30,0x9B,0x32,}},
+ {0x35AB,4,{0x82,0x30,0x9B,0x33,}},
+ {0x35AC,4,{0x82,0x30,0x9B,0x34,}},
+ {0x35AD,4,{0x82,0x30,0x9B,0x35,}},
+ {0x35AE,4,{0x82,0x30,0x9B,0x36,}},
+ {0x35AF,4,{0x82,0x30,0x9B,0x37,}},
+ {0x35B0,4,{0x82,0x30,0x9B,0x38,}},
+ {0x35B1,4,{0x82,0x30,0x9B,0x39,}},
+ {0x35B2,4,{0x82,0x30,0x9C,0x30,}},
+ {0x35B3,4,{0x82,0x30,0x9C,0x31,}},
+ {0x35B4,4,{0x82,0x30,0x9C,0x32,}},
+ {0x35B5,4,{0x82,0x30,0x9C,0x33,}},
+ {0x35B6,4,{0x82,0x30,0x9C,0x34,}},
+ {0x35B7,4,{0x82,0x30,0x9C,0x35,}},
+ {0x35B8,4,{0x82,0x30,0x9C,0x36,}},
+ {0x35B9,4,{0x82,0x30,0x9C,0x37,}},
+ {0x35BA,4,{0x82,0x30,0x9C,0x38,}},
+ {0x35BB,4,{0x82,0x30,0x9C,0x39,}},
+ {0x35BC,4,{0x82,0x30,0x9D,0x30,}},
+ {0x35BD,4,{0x82,0x30,0x9D,0x31,}},
+ {0x35BE,4,{0x82,0x30,0x9D,0x32,}},
+ {0x35BF,4,{0x82,0x30,0x9D,0x33,}},
+ {0x35C0,4,{0x82,0x30,0x9D,0x34,}},
+ {0x35C1,4,{0x82,0x30,0x9D,0x35,}},
+ {0x35C2,4,{0x82,0x30,0x9D,0x36,}},
+ {0x35C3,4,{0x82,0x30,0x9D,0x37,}},
+ {0x35C4,4,{0x82,0x30,0x9D,0x38,}},
+ {0x35C5,4,{0x82,0x30,0x9D,0x39,}},
+ {0x35C6,4,{0x82,0x30,0x9E,0x30,}},
+ {0x35C7,4,{0x82,0x30,0x9E,0x31,}},
+ {0x35C8,4,{0x82,0x30,0x9E,0x32,}},
+ {0x35C9,4,{0x82,0x30,0x9E,0x33,}},
+ {0x35CA,4,{0x82,0x30,0x9E,0x34,}},
+ {0x35CB,4,{0x82,0x30,0x9E,0x35,}},
+ {0x35CC,4,{0x82,0x30,0x9E,0x36,}},
+ {0x35CD,4,{0x82,0x30,0x9E,0x37,}},
+ {0x35CE,4,{0x82,0x30,0x9E,0x38,}},
+ {0x35CF,4,{0x82,0x30,0x9E,0x39,}},
+ {0x35D0,4,{0x82,0x30,0x9F,0x30,}},
+ {0x35D1,4,{0x82,0x30,0x9F,0x31,}},
+ {0x35D2,4,{0x82,0x30,0x9F,0x32,}},
+ {0x35D3,4,{0x82,0x30,0x9F,0x33,}},
+ {0x35D4,4,{0x82,0x30,0x9F,0x34,}},
+ {0x35D5,4,{0x82,0x30,0x9F,0x35,}},
+ {0x35D6,4,{0x82,0x30,0x9F,0x36,}},
+ {0x35D7,4,{0x82,0x30,0x9F,0x37,}},
+ {0x35D8,4,{0x82,0x30,0x9F,0x38,}},
+ {0x35D9,4,{0x82,0x30,0x9F,0x39,}},
+ {0x35DA,4,{0x82,0x30,0xA0,0x30,}},
+ {0x35DB,4,{0x82,0x30,0xA0,0x31,}},
+ {0x35DC,4,{0x82,0x30,0xA0,0x32,}},
+ {0x35DD,4,{0x82,0x30,0xA0,0x33,}},
+ {0x35DE,4,{0x82,0x30,0xA0,0x34,}},
+ {0x35DF,4,{0x82,0x30,0xA0,0x35,}},
+ {0x35E0,4,{0x82,0x30,0xA0,0x36,}},
+ {0x35E1,4,{0x82,0x30,0xA0,0x37,}},
+ {0x35E2,4,{0x82,0x30,0xA0,0x38,}},
+ {0x35E3,4,{0x82,0x30,0xA0,0x39,}},
+ {0x35E4,4,{0x82,0x30,0xA1,0x30,}},
+ {0x35E5,4,{0x82,0x30,0xA1,0x31,}},
+ {0x35E6,4,{0x82,0x30,0xA1,0x32,}},
+ {0x35E7,4,{0x82,0x30,0xA1,0x33,}},
+ {0x35E8,4,{0x82,0x30,0xA1,0x34,}},
+ {0x35E9,4,{0x82,0x30,0xA1,0x35,}},
+ {0x35EA,4,{0x82,0x30,0xA1,0x36,}},
+ {0x35EB,4,{0x82,0x30,0xA1,0x37,}},
+ {0x35EC,4,{0x82,0x30,0xA1,0x38,}},
+ {0x35ED,4,{0x82,0x30,0xA1,0x39,}},
+ {0x35EE,4,{0x82,0x30,0xA2,0x30,}},
+ {0x35EF,4,{0x82,0x30,0xA2,0x31,}},
+ {0x35F0,4,{0x82,0x30,0xA2,0x32,}},
+ {0x35F1,4,{0x82,0x30,0xA2,0x33,}},
+ {0x35F2,4,{0x82,0x30,0xA2,0x34,}},
+ {0x35F3,4,{0x82,0x30,0xA2,0x35,}},
+ {0x35F4,4,{0x82,0x30,0xA2,0x36,}},
+ {0x35F5,4,{0x82,0x30,0xA2,0x37,}},
+ {0x35F6,4,{0x82,0x30,0xA2,0x38,}},
+ {0x35F7,4,{0x82,0x30,0xA2,0x39,}},
+ {0x35F8,4,{0x82,0x30,0xA3,0x30,}},
+ {0x35F9,4,{0x82,0x30,0xA3,0x31,}},
+ {0x35FA,4,{0x82,0x30,0xA3,0x32,}},
+ {0x35FB,4,{0x82,0x30,0xA3,0x33,}},
+ {0x35FC,4,{0x82,0x30,0xA3,0x34,}},
+ {0x35FD,4,{0x82,0x30,0xA3,0x35,}},
+ {0x35FE,4,{0x82,0x30,0xA3,0x36,}},
+ {0x35FF,4,{0x82,0x30,0xA3,0x37,}},
+ {0x3600,4,{0x82,0x30,0xA3,0x38,}},
+ {0x3601,4,{0x82,0x30,0xA3,0x39,}},
+ {0x3602,4,{0x82,0x30,0xA4,0x30,}},
+ {0x3603,4,{0x82,0x30,0xA4,0x31,}},
+ {0x3604,4,{0x82,0x30,0xA4,0x32,}},
+ {0x3605,4,{0x82,0x30,0xA4,0x33,}},
+ {0x3606,4,{0x82,0x30,0xA4,0x34,}},
+ {0x3607,4,{0x82,0x30,0xA4,0x35,}},
+ {0x3608,4,{0x82,0x30,0xA4,0x36,}},
+ {0x3609,4,{0x82,0x30,0xA4,0x37,}},
+ {0x360A,4,{0x82,0x30,0xA4,0x38,}},
+ {0x360B,4,{0x82,0x30,0xA4,0x39,}},
+ {0x360C,4,{0x82,0x30,0xA5,0x30,}},
+ {0x360D,4,{0x82,0x30,0xA5,0x31,}},
+ {0x360E,2,{0xFE,0x5C,0x00,0x00,}},
+ {0x360F,4,{0x82,0x30,0xA5,0x32,}},
+ {0x3610,4,{0x82,0x30,0xA5,0x33,}},
+ {0x3611,4,{0x82,0x30,0xA5,0x34,}},
+ {0x3612,4,{0x82,0x30,0xA5,0x35,}},
+ {0x3613,4,{0x82,0x30,0xA5,0x36,}},
+ {0x3614,4,{0x82,0x30,0xA5,0x37,}},
+ {0x3615,4,{0x82,0x30,0xA5,0x38,}},
+ {0x3616,4,{0x82,0x30,0xA5,0x39,}},
+ {0x3617,4,{0x82,0x30,0xA6,0x30,}},
+ {0x3618,4,{0x82,0x30,0xA6,0x31,}},
+ {0x3619,4,{0x82,0x30,0xA6,0x32,}},
+ {0x361A,2,{0xFE,0x5B,0x00,0x00,}},
+ {0x3918,2,{0xFE,0x60,0x00,0x00,}},
+ {0x3919,4,{0x82,0x30,0xF2,0x38,}},
+ {0x391A,4,{0x82,0x30,0xF2,0x39,}},
+ {0x391B,4,{0x82,0x30,0xF3,0x30,}},
+ {0x391C,4,{0x82,0x30,0xF3,0x31,}},
+ {0x391D,4,{0x82,0x30,0xF3,0x32,}},
+ {0x391E,4,{0x82,0x30,0xF3,0x33,}},
+ {0x391F,4,{0x82,0x30,0xF3,0x34,}},
+ {0x3920,4,{0x82,0x30,0xF3,0x35,}},
+ {0x3921,4,{0x82,0x30,0xF3,0x36,}},
+ {0x3922,4,{0x82,0x30,0xF3,0x37,}},
+ {0x3923,4,{0x82,0x30,0xF3,0x38,}},
+ {0x3924,4,{0x82,0x30,0xF3,0x39,}},
+ {0x3925,4,{0x82,0x30,0xF4,0x30,}},
+ {0x3926,4,{0x82,0x30,0xF4,0x31,}},
+ {0x3927,4,{0x82,0x30,0xF4,0x32,}},
+ {0x3928,4,{0x82,0x30,0xF4,0x33,}},
+ {0x3929,4,{0x82,0x30,0xF4,0x34,}},
+ {0x392A,4,{0x82,0x30,0xF4,0x35,}},
+ {0x392B,4,{0x82,0x30,0xF4,0x36,}},
+ {0x392C,4,{0x82,0x30,0xF4,0x37,}},
+ {0x392D,4,{0x82,0x30,0xF4,0x38,}},
+ {0x392E,4,{0x82,0x30,0xF4,0x39,}},
+ {0x392F,4,{0x82,0x30,0xF5,0x30,}},
+ {0x3930,4,{0x82,0x30,0xF5,0x31,}},
+ {0x3931,4,{0x82,0x30,0xF5,0x32,}},
+ {0x3932,4,{0x82,0x30,0xF5,0x33,}},
+ {0x3933,4,{0x82,0x30,0xF5,0x34,}},
+ {0x3934,4,{0x82,0x30,0xF5,0x35,}},
+ {0x3935,4,{0x82,0x30,0xF5,0x36,}},
+ {0x3936,4,{0x82,0x30,0xF5,0x37,}},
+ {0x3937,4,{0x82,0x30,0xF5,0x38,}},
+ {0x3938,4,{0x82,0x30,0xF5,0x39,}},
+ {0x3939,4,{0x82,0x30,0xF6,0x30,}},
+ {0x393A,4,{0x82,0x30,0xF6,0x31,}},
+ {0x393B,4,{0x82,0x30,0xF6,0x32,}},
+ {0x393C,4,{0x82,0x30,0xF6,0x33,}},
+ {0x393D,4,{0x82,0x30,0xF6,0x34,}},
+ {0x393E,4,{0x82,0x30,0xF6,0x35,}},
+ {0x393F,4,{0x82,0x30,0xF6,0x36,}},
+ {0x3940,4,{0x82,0x30,0xF6,0x37,}},
+ {0x3941,4,{0x82,0x30,0xF6,0x38,}},
+ {0x3942,4,{0x82,0x30,0xF6,0x39,}},
+ {0x3943,4,{0x82,0x30,0xF7,0x30,}},
+ {0x3944,4,{0x82,0x30,0xF7,0x31,}},
+ {0x3945,4,{0x82,0x30,0xF7,0x32,}},
+ {0x3946,4,{0x82,0x30,0xF7,0x33,}},
+ {0x3947,4,{0x82,0x30,0xF7,0x34,}},
+ {0x3948,4,{0x82,0x30,0xF7,0x35,}},
+ {0x3949,4,{0x82,0x30,0xF7,0x36,}},
+ {0x394A,4,{0x82,0x30,0xF7,0x37,}},
+ {0x394B,4,{0x82,0x30,0xF7,0x38,}},
+ {0x394C,4,{0x82,0x30,0xF7,0x39,}},
+ {0x394D,4,{0x82,0x30,0xF8,0x30,}},
+ {0x394E,4,{0x82,0x30,0xF8,0x31,}},
+ {0x394F,4,{0x82,0x30,0xF8,0x32,}},
+ {0x3950,4,{0x82,0x30,0xF8,0x33,}},
+ {0x3951,4,{0x82,0x30,0xF8,0x34,}},
+ {0x3952,4,{0x82,0x30,0xF8,0x35,}},
+ {0x3953,4,{0x82,0x30,0xF8,0x36,}},
+ {0x3954,4,{0x82,0x30,0xF8,0x37,}},
+ {0x3955,4,{0x82,0x30,0xF8,0x38,}},
+ {0x3956,4,{0x82,0x30,0xF8,0x39,}},
+ {0x3957,4,{0x82,0x30,0xF9,0x30,}},
+ {0x3958,4,{0x82,0x30,0xF9,0x31,}},
+ {0x3959,4,{0x82,0x30,0xF9,0x32,}},
+ {0x395A,4,{0x82,0x30,0xF9,0x33,}},
+ {0x395B,4,{0x82,0x30,0xF9,0x34,}},
+ {0x395C,4,{0x82,0x30,0xF9,0x35,}},
+ {0x395D,4,{0x82,0x30,0xF9,0x36,}},
+ {0x395E,4,{0x82,0x30,0xF9,0x37,}},
+ {0x395F,4,{0x82,0x30,0xF9,0x38,}},
+ {0x3960,4,{0x82,0x30,0xF9,0x39,}},
+ {0x3961,4,{0x82,0x30,0xFA,0x30,}},
+ {0x3962,4,{0x82,0x30,0xFA,0x31,}},
+ {0x3963,4,{0x82,0x30,0xFA,0x32,}},
+ {0x3964,4,{0x82,0x30,0xFA,0x33,}},
+ {0x3965,4,{0x82,0x30,0xFA,0x34,}},
+ {0x3966,4,{0x82,0x30,0xFA,0x35,}},
+ {0x3967,4,{0x82,0x30,0xFA,0x36,}},
+ {0x3968,4,{0x82,0x30,0xFA,0x37,}},
+ {0x3969,4,{0x82,0x30,0xFA,0x38,}},
+ {0x396A,4,{0x82,0x30,0xFA,0x39,}},
+ {0x396B,4,{0x82,0x30,0xFB,0x30,}},
+ {0x396C,4,{0x82,0x30,0xFB,0x31,}},
+ {0x396D,4,{0x82,0x30,0xFB,0x32,}},
+ {0x396E,2,{0xFE,0x5F,0x00,0x00,}},
+ {0x396F,4,{0x82,0x30,0xFB,0x33,}},
+ {0x3970,4,{0x82,0x30,0xFB,0x34,}},
+ {0x3971,4,{0x82,0x30,0xFB,0x35,}},
+ {0x3972,4,{0x82,0x30,0xFB,0x36,}},
+ {0x3973,4,{0x82,0x30,0xFB,0x37,}},
+ {0x3974,4,{0x82,0x30,0xFB,0x38,}},
+ {0x3975,4,{0x82,0x30,0xFB,0x39,}},
+ {0x3976,4,{0x82,0x30,0xFC,0x30,}},
+ {0x3977,4,{0x82,0x30,0xFC,0x31,}},
+ {0x3978,4,{0x82,0x30,0xFC,0x32,}},
+ {0x3979,4,{0x82,0x30,0xFC,0x33,}},
+ {0x397A,4,{0x82,0x30,0xFC,0x34,}},
+ {0x397B,4,{0x82,0x30,0xFC,0x35,}},
+ {0x397C,4,{0x82,0x30,0xFC,0x36,}},
+ {0x397D,4,{0x82,0x30,0xFC,0x37,}},
+ {0x397E,4,{0x82,0x30,0xFC,0x38,}},
+ {0x397F,4,{0x82,0x30,0xFC,0x39,}},
+ {0x3980,4,{0x82,0x30,0xFD,0x30,}},
+ {0x3981,4,{0x82,0x30,0xFD,0x31,}},
+ {0x3982,4,{0x82,0x30,0xFD,0x32,}},
+ {0x3983,4,{0x82,0x30,0xFD,0x33,}},
+ {0x3984,4,{0x82,0x30,0xFD,0x34,}},
+ {0x3985,4,{0x82,0x30,0xFD,0x35,}},
+ {0x3986,4,{0x82,0x30,0xFD,0x36,}},
+ {0x3987,4,{0x82,0x30,0xFD,0x37,}},
+ {0x3988,4,{0x82,0x30,0xFD,0x38,}},
+ {0x3989,4,{0x82,0x30,0xFD,0x39,}},
+ {0x398A,4,{0x82,0x30,0xFE,0x30,}},
+ {0x398B,4,{0x82,0x30,0xFE,0x31,}},
+ {0x398C,4,{0x82,0x30,0xFE,0x32,}},
+ {0x398D,4,{0x82,0x30,0xFE,0x33,}},
+ {0x398E,4,{0x82,0x30,0xFE,0x34,}},
+ {0x398F,4,{0x82,0x30,0xFE,0x35,}},
+ {0x3990,4,{0x82,0x30,0xFE,0x36,}},
+ {0x3991,4,{0x82,0x30,0xFE,0x37,}},
+ {0x3992,4,{0x82,0x30,0xFE,0x38,}},
+ {0x3993,4,{0x82,0x30,0xFE,0x39,}},
+ {0x3994,4,{0x82,0x31,0x81,0x30,}},
+ {0x3995,4,{0x82,0x31,0x81,0x31,}},
+ {0x3996,4,{0x82,0x31,0x81,0x32,}},
+ {0x3997,4,{0x82,0x31,0x81,0x33,}},
+ {0x3998,4,{0x82,0x31,0x81,0x34,}},
+ {0x3999,4,{0x82,0x31,0x81,0x35,}},
+ {0x399A,4,{0x82,0x31,0x81,0x36,}},
+ {0x399B,4,{0x82,0x31,0x81,0x37,}},
+ {0x399C,4,{0x82,0x31,0x81,0x38,}},
+ {0x399D,4,{0x82,0x31,0x81,0x39,}},
+ {0x399E,4,{0x82,0x31,0x82,0x30,}},
+ {0x399F,4,{0x82,0x31,0x82,0x31,}},
+ {0x39A0,4,{0x82,0x31,0x82,0x32,}},
+ {0x39A1,4,{0x82,0x31,0x82,0x33,}},
+ {0x39A2,4,{0x82,0x31,0x82,0x34,}},
+ {0x39A3,4,{0x82,0x31,0x82,0x35,}},
+ {0x39A4,4,{0x82,0x31,0x82,0x36,}},
+ {0x39A5,4,{0x82,0x31,0x82,0x37,}},
+ {0x39A6,4,{0x82,0x31,0x82,0x38,}},
+ {0x39A7,4,{0x82,0x31,0x82,0x39,}},
+ {0x39A8,4,{0x82,0x31,0x83,0x30,}},
+ {0x39A9,4,{0x82,0x31,0x83,0x31,}},
+ {0x39AA,4,{0x82,0x31,0x83,0x32,}},
+ {0x39AB,4,{0x82,0x31,0x83,0x33,}},
+ {0x39AC,4,{0x82,0x31,0x83,0x34,}},
+ {0x39AD,4,{0x82,0x31,0x83,0x35,}},
+ {0x39AE,4,{0x82,0x31,0x83,0x36,}},
+ {0x39AF,4,{0x82,0x31,0x83,0x37,}},
+ {0x39B0,4,{0x82,0x31,0x83,0x38,}},
+ {0x39B1,4,{0x82,0x31,0x83,0x39,}},
+ {0x39B2,4,{0x82,0x31,0x84,0x30,}},
+ {0x39B3,4,{0x82,0x31,0x84,0x31,}},
+ {0x39B4,4,{0x82,0x31,0x84,0x32,}},
+ {0x39B5,4,{0x82,0x31,0x84,0x33,}},
+ {0x39B6,4,{0x82,0x31,0x84,0x34,}},
+ {0x39B7,4,{0x82,0x31,0x84,0x35,}},
+ {0x39B8,4,{0x82,0x31,0x84,0x36,}},
+ {0x39B9,4,{0x82,0x31,0x84,0x37,}},
+ {0x39BA,4,{0x82,0x31,0x84,0x38,}},
+ {0x39BB,4,{0x82,0x31,0x84,0x39,}},
+ {0x39BC,4,{0x82,0x31,0x85,0x30,}},
+ {0x39BD,4,{0x82,0x31,0x85,0x31,}},
+ {0x39BE,4,{0x82,0x31,0x85,0x32,}},
+ {0x39BF,4,{0x82,0x31,0x85,0x33,}},
+ {0x39C0,4,{0x82,0x31,0x85,0x34,}},
+ {0x39C1,4,{0x82,0x31,0x85,0x35,}},
+ {0x39C2,4,{0x82,0x31,0x85,0x36,}},
+ {0x39C3,4,{0x82,0x31,0x85,0x37,}},
+ {0x39C4,4,{0x82,0x31,0x85,0x38,}},
+ {0x39C5,4,{0x82,0x31,0x85,0x39,}},
+ {0x39C6,4,{0x82,0x31,0x86,0x30,}},
+ {0x39C7,4,{0x82,0x31,0x86,0x31,}},
+ {0x39C8,4,{0x82,0x31,0x86,0x32,}},
+ {0x39C9,4,{0x82,0x31,0x86,0x33,}},
+ {0x39CA,4,{0x82,0x31,0x86,0x34,}},
+ {0x39CB,4,{0x82,0x31,0x86,0x35,}},
+ {0x39CC,4,{0x82,0x31,0x86,0x36,}},
+ {0x39CD,4,{0x82,0x31,0x86,0x37,}},
+ {0x39CE,4,{0x82,0x31,0x86,0x38,}},
+ {0x39CF,2,{0xFE,0x62,0x00,0x00,}},
+ {0x39D0,2,{0xFE,0x65,0x00,0x00,}},
+ {0x39D1,4,{0x82,0x31,0x86,0x39,}},
+ {0x39D2,4,{0x82,0x31,0x87,0x30,}},
+ {0x39D3,4,{0x82,0x31,0x87,0x31,}},
+ {0x39D4,4,{0x82,0x31,0x87,0x32,}},
+ {0x39D5,4,{0x82,0x31,0x87,0x33,}},
+ {0x39D6,4,{0x82,0x31,0x87,0x34,}},
+ {0x39D7,4,{0x82,0x31,0x87,0x35,}},
+ {0x39D8,4,{0x82,0x31,0x87,0x36,}},
+ {0x39D9,4,{0x82,0x31,0x87,0x37,}},
+ {0x39DA,4,{0x82,0x31,0x87,0x38,}},
+ {0x39DB,4,{0x82,0x31,0x87,0x39,}},
+ {0x39DC,4,{0x82,0x31,0x88,0x30,}},
+ {0x39DD,4,{0x82,0x31,0x88,0x31,}},
+ {0x39DE,4,{0x82,0x31,0x88,0x32,}},
+ {0x39DF,2,{0xFE,0x63,0x00,0x00,}},
+ {0x39E0,4,{0x82,0x31,0x88,0x33,}},
+ {0x39E1,4,{0x82,0x31,0x88,0x34,}},
+ {0x39E2,4,{0x82,0x31,0x88,0x35,}},
+ {0x39E3,4,{0x82,0x31,0x88,0x36,}},
+ {0x39E4,4,{0x82,0x31,0x88,0x37,}},
+ {0x39E5,4,{0x82,0x31,0x88,0x38,}},
+ {0x39E6,4,{0x82,0x31,0x88,0x39,}},
+ {0x39E7,4,{0x82,0x31,0x89,0x30,}},
+ {0x39E8,4,{0x82,0x31,0x89,0x31,}},
+ {0x39E9,4,{0x82,0x31,0x89,0x32,}},
+ {0x39EA,4,{0x82,0x31,0x89,0x33,}},
+ {0x39EB,4,{0x82,0x31,0x89,0x34,}},
+ {0x39EC,4,{0x82,0x31,0x89,0x35,}},
+ {0x39ED,4,{0x82,0x31,0x89,0x36,}},
+ {0x39EE,4,{0x82,0x31,0x89,0x37,}},
+ {0x39EF,4,{0x82,0x31,0x89,0x38,}},
+ {0x39F0,4,{0x82,0x31,0x89,0x39,}},
+ {0x39F1,4,{0x82,0x31,0x8A,0x30,}},
+ {0x39F2,4,{0x82,0x31,0x8A,0x31,}},
+ {0x39F3,4,{0x82,0x31,0x8A,0x32,}},
+ {0x39F4,4,{0x82,0x31,0x8A,0x33,}},
+ {0x39F5,4,{0x82,0x31,0x8A,0x34,}},
+ {0x39F6,4,{0x82,0x31,0x8A,0x35,}},
+ {0x39F7,4,{0x82,0x31,0x8A,0x36,}},
+ {0x39F8,4,{0x82,0x31,0x8A,0x37,}},
+ {0x39F9,4,{0x82,0x31,0x8A,0x38,}},
+ {0x39FA,4,{0x82,0x31,0x8A,0x39,}},
+ {0x39FB,4,{0x82,0x31,0x8B,0x30,}},
+ {0x39FC,4,{0x82,0x31,0x8B,0x31,}},
+ {0x39FD,4,{0x82,0x31,0x8B,0x32,}},
+ {0x39FE,4,{0x82,0x31,0x8B,0x33,}},
+ {0x39FF,4,{0x82,0x31,0x8B,0x34,}},
+ {0x3A00,4,{0x82,0x31,0x8B,0x35,}},
+ {0x3A01,4,{0x82,0x31,0x8B,0x36,}},
+ {0x3A02,4,{0x82,0x31,0x8B,0x37,}},
+ {0x3A03,4,{0x82,0x31,0x8B,0x38,}},
+ {0x3A04,4,{0x82,0x31,0x8B,0x39,}},
+ {0x3A05,4,{0x82,0x31,0x8C,0x30,}},
+ {0x3A06,4,{0x82,0x31,0x8C,0x31,}},
+ {0x3A07,4,{0x82,0x31,0x8C,0x32,}},
+ {0x3A08,4,{0x82,0x31,0x8C,0x33,}},
+ {0x3A09,4,{0x82,0x31,0x8C,0x34,}},
+ {0x3A0A,4,{0x82,0x31,0x8C,0x35,}},
+ {0x3A0B,4,{0x82,0x31,0x8C,0x36,}},
+ {0x3A0C,4,{0x82,0x31,0x8C,0x37,}},
+ {0x3A0D,4,{0x82,0x31,0x8C,0x38,}},
+ {0x3A0E,4,{0x82,0x31,0x8C,0x39,}},
+ {0x3A0F,4,{0x82,0x31,0x8D,0x30,}},
+ {0x3A10,4,{0x82,0x31,0x8D,0x31,}},
+ {0x3A11,4,{0x82,0x31,0x8D,0x32,}},
+ {0x3A12,4,{0x82,0x31,0x8D,0x33,}},
+ {0x3A13,4,{0x82,0x31,0x8D,0x34,}},
+ {0x3A14,4,{0x82,0x31,0x8D,0x35,}},
+ {0x3A15,4,{0x82,0x31,0x8D,0x36,}},
+ {0x3A16,4,{0x82,0x31,0x8D,0x37,}},
+ {0x3A17,4,{0x82,0x31,0x8D,0x38,}},
+ {0x3A18,4,{0x82,0x31,0x8D,0x39,}},
+ {0x3A19,4,{0x82,0x31,0x8E,0x30,}},
+ {0x3A1A,4,{0x82,0x31,0x8E,0x31,}},
+ {0x3A1B,4,{0x82,0x31,0x8E,0x32,}},
+ {0x3A1C,4,{0x82,0x31,0x8E,0x33,}},
+ {0x3A1D,4,{0x82,0x31,0x8E,0x34,}},
+ {0x3A1E,4,{0x82,0x31,0x8E,0x35,}},
+ {0x3A1F,4,{0x82,0x31,0x8E,0x36,}},
+ {0x3A20,4,{0x82,0x31,0x8E,0x37,}},
+ {0x3A21,4,{0x82,0x31,0x8E,0x38,}},
+ {0x3A22,4,{0x82,0x31,0x8E,0x39,}},
+ {0x3A23,4,{0x82,0x31,0x8F,0x30,}},
+ {0x3A24,4,{0x82,0x31,0x8F,0x31,}},
+ {0x3A25,4,{0x82,0x31,0x8F,0x32,}},
+ {0x3A26,4,{0x82,0x31,0x8F,0x33,}},
+ {0x3A27,4,{0x82,0x31,0x8F,0x34,}},
+ {0x3A28,4,{0x82,0x31,0x8F,0x35,}},
+ {0x3A29,4,{0x82,0x31,0x8F,0x36,}},
+ {0x3A2A,4,{0x82,0x31,0x8F,0x37,}},
+ {0x3A2B,4,{0x82,0x31,0x8F,0x38,}},
+ {0x3A2C,4,{0x82,0x31,0x8F,0x39,}},
+ {0x3A2D,4,{0x82,0x31,0x90,0x30,}},
+ {0x3A2E,4,{0x82,0x31,0x90,0x31,}},
+ {0x3A2F,4,{0x82,0x31,0x90,0x32,}},
+ {0x3A30,4,{0x82,0x31,0x90,0x33,}},
+ {0x3A31,4,{0x82,0x31,0x90,0x34,}},
+ {0x3A32,4,{0x82,0x31,0x90,0x35,}},
+ {0x3A33,4,{0x82,0x31,0x90,0x36,}},
+ {0x3A34,4,{0x82,0x31,0x90,0x37,}},
+ {0x3A35,4,{0x82,0x31,0x90,0x38,}},
+ {0x3A36,4,{0x82,0x31,0x90,0x39,}},
+ {0x3A37,4,{0x82,0x31,0x91,0x30,}},
+ {0x3A38,4,{0x82,0x31,0x91,0x31,}},
+ {0x3A39,4,{0x82,0x31,0x91,0x32,}},
+ {0x3A3A,4,{0x82,0x31,0x91,0x33,}},
+ {0x3A3B,4,{0x82,0x31,0x91,0x34,}},
+ {0x3A3C,4,{0x82,0x31,0x91,0x35,}},
+ {0x3A3D,4,{0x82,0x31,0x91,0x36,}},
+ {0x3A3E,4,{0x82,0x31,0x91,0x37,}},
+ {0x3A3F,4,{0x82,0x31,0x91,0x38,}},
+ {0x3A40,4,{0x82,0x31,0x91,0x39,}},
+ {0x3A41,4,{0x82,0x31,0x92,0x30,}},
+ {0x3A42,4,{0x82,0x31,0x92,0x31,}},
+ {0x3A43,4,{0x82,0x31,0x92,0x32,}},
+ {0x3A44,4,{0x82,0x31,0x92,0x33,}},
+ {0x3A45,4,{0x82,0x31,0x92,0x34,}},
+ {0x3A46,4,{0x82,0x31,0x92,0x35,}},
+ {0x3A47,4,{0x82,0x31,0x92,0x36,}},
+ {0x3A48,4,{0x82,0x31,0x92,0x37,}},
+ {0x3A49,4,{0x82,0x31,0x92,0x38,}},
+ {0x3A4A,4,{0x82,0x31,0x92,0x39,}},
+ {0x3A4B,4,{0x82,0x31,0x93,0x30,}},
+ {0x3A4C,4,{0x82,0x31,0x93,0x31,}},
+ {0x3A4D,4,{0x82,0x31,0x93,0x32,}},
+ {0x3A4E,4,{0x82,0x31,0x93,0x33,}},
+ {0x3A4F,4,{0x82,0x31,0x93,0x34,}},
+ {0x3A50,4,{0x82,0x31,0x93,0x35,}},
+ {0x3A51,4,{0x82,0x31,0x93,0x36,}},
+ {0x3A52,4,{0x82,0x31,0x93,0x37,}},
+ {0x3A53,4,{0x82,0x31,0x93,0x38,}},
+ {0x3A54,4,{0x82,0x31,0x93,0x39,}},
+ {0x3A55,4,{0x82,0x31,0x94,0x30,}},
+ {0x3A56,4,{0x82,0x31,0x94,0x31,}},
+ {0x3A57,4,{0x82,0x31,0x94,0x32,}},
+ {0x3A58,4,{0x82,0x31,0x94,0x33,}},
+ {0x3A59,4,{0x82,0x31,0x94,0x34,}},
+ {0x3A5A,4,{0x82,0x31,0x94,0x35,}},
+ {0x3A5B,4,{0x82,0x31,0x94,0x36,}},
+ {0x3A5C,4,{0x82,0x31,0x94,0x37,}},
+ {0x3A5D,4,{0x82,0x31,0x94,0x38,}},
+ {0x3A5E,4,{0x82,0x31,0x94,0x39,}},
+ {0x3A5F,4,{0x82,0x31,0x95,0x30,}},
+ {0x3A60,4,{0x82,0x31,0x95,0x31,}},
+ {0x3A61,4,{0x82,0x31,0x95,0x32,}},
+ {0x3A62,4,{0x82,0x31,0x95,0x33,}},
+ {0x3A63,4,{0x82,0x31,0x95,0x34,}},
+ {0x3A64,4,{0x82,0x31,0x95,0x35,}},
+ {0x3A65,4,{0x82,0x31,0x95,0x36,}},
+ {0x3A66,4,{0x82,0x31,0x95,0x37,}},
+ {0x3A67,4,{0x82,0x31,0x95,0x38,}},
+ {0x3A68,4,{0x82,0x31,0x95,0x39,}},
+ {0x3A69,4,{0x82,0x31,0x96,0x30,}},
+ {0x3A6A,4,{0x82,0x31,0x96,0x31,}},
+ {0x3A6B,4,{0x82,0x31,0x96,0x32,}},
+ {0x3A6C,4,{0x82,0x31,0x96,0x33,}},
+ {0x3A6D,4,{0x82,0x31,0x96,0x34,}},
+ {0x3A6E,4,{0x82,0x31,0x96,0x35,}},
+ {0x3A6F,4,{0x82,0x31,0x96,0x36,}},
+ {0x3A70,4,{0x82,0x31,0x96,0x37,}},
+ {0x3A71,4,{0x82,0x31,0x96,0x38,}},
+ {0x3A72,4,{0x82,0x31,0x96,0x39,}},
+ {0x3A73,2,{0xFE,0x64,0x00,0x00,}},
+ {0x3A74,4,{0x82,0x31,0x97,0x30,}},
+ {0x3A75,4,{0x82,0x31,0x97,0x31,}},
+ {0x3A76,4,{0x82,0x31,0x97,0x32,}},
+ {0x3A77,4,{0x82,0x31,0x97,0x33,}},
+ {0x3A78,4,{0x82,0x31,0x97,0x34,}},
+ {0x3A79,4,{0x82,0x31,0x97,0x35,}},
+ {0x3A7A,4,{0x82,0x31,0x97,0x36,}},
+ {0x3A7B,4,{0x82,0x31,0x97,0x37,}},
+ {0x3A7C,4,{0x82,0x31,0x97,0x38,}},
+ {0x3A7D,4,{0x82,0x31,0x97,0x39,}},
+ {0x3A7E,4,{0x82,0x31,0x98,0x30,}},
+ {0x3A7F,4,{0x82,0x31,0x98,0x31,}},
+ {0x3A80,4,{0x82,0x31,0x98,0x32,}},
+ {0x3A81,4,{0x82,0x31,0x98,0x33,}},
+ {0x3A82,4,{0x82,0x31,0x98,0x34,}},
+ {0x3A83,4,{0x82,0x31,0x98,0x35,}},
+ {0x3A84,4,{0x82,0x31,0x98,0x36,}},
+ {0x3A85,4,{0x82,0x31,0x98,0x37,}},
+ {0x3A86,4,{0x82,0x31,0x98,0x38,}},
+ {0x3A87,4,{0x82,0x31,0x98,0x39,}},
+ {0x3A88,4,{0x82,0x31,0x99,0x30,}},
+ {0x3A89,4,{0x82,0x31,0x99,0x31,}},
+ {0x3A8A,4,{0x82,0x31,0x99,0x32,}},
+ {0x3A8B,4,{0x82,0x31,0x99,0x33,}},
+ {0x3A8C,4,{0x82,0x31,0x99,0x34,}},
+ {0x3A8D,4,{0x82,0x31,0x99,0x35,}},
+ {0x3A8E,4,{0x82,0x31,0x99,0x36,}},
+ {0x3A8F,4,{0x82,0x31,0x99,0x37,}},
+ {0x3A90,4,{0x82,0x31,0x99,0x38,}},
+ {0x3A91,4,{0x82,0x31,0x99,0x39,}},
+ {0x3A92,4,{0x82,0x31,0x9A,0x30,}},
+ {0x3A93,4,{0x82,0x31,0x9A,0x31,}},
+ {0x3A94,4,{0x82,0x31,0x9A,0x32,}},
+ {0x3A95,4,{0x82,0x31,0x9A,0x33,}},
+ {0x3A96,4,{0x82,0x31,0x9A,0x34,}},
+ {0x3A97,4,{0x82,0x31,0x9A,0x35,}},
+ {0x3A98,4,{0x82,0x31,0x9A,0x36,}},
+ {0x3A99,4,{0x82,0x31,0x9A,0x37,}},
+ {0x3A9A,4,{0x82,0x31,0x9A,0x38,}},
+ {0x3A9B,4,{0x82,0x31,0x9A,0x39,}},
+ {0x3A9C,4,{0x82,0x31,0x9B,0x30,}},
+ {0x3A9D,4,{0x82,0x31,0x9B,0x31,}},
+ {0x3A9E,4,{0x82,0x31,0x9B,0x32,}},
+ {0x3A9F,4,{0x82,0x31,0x9B,0x33,}},
+ {0x3AA0,4,{0x82,0x31,0x9B,0x34,}},
+ {0x3AA1,4,{0x82,0x31,0x9B,0x35,}},
+ {0x3AA2,4,{0x82,0x31,0x9B,0x36,}},
+ {0x3AA3,4,{0x82,0x31,0x9B,0x37,}},
+ {0x3AA4,4,{0x82,0x31,0x9B,0x38,}},
+ {0x3AA5,4,{0x82,0x31,0x9B,0x39,}},
+ {0x3AA6,4,{0x82,0x31,0x9C,0x30,}},
+ {0x3AA7,4,{0x82,0x31,0x9C,0x31,}},
+ {0x3AA8,4,{0x82,0x31,0x9C,0x32,}},
+ {0x3AA9,4,{0x82,0x31,0x9C,0x33,}},
+ {0x3AAA,4,{0x82,0x31,0x9C,0x34,}},
+ {0x3AAB,4,{0x82,0x31,0x9C,0x35,}},
+ {0x3AAC,4,{0x82,0x31,0x9C,0x36,}},
+ {0x3AAD,4,{0x82,0x31,0x9C,0x37,}},
+ {0x3AAE,4,{0x82,0x31,0x9C,0x38,}},
+ {0x3AAF,4,{0x82,0x31,0x9C,0x39,}},
+ {0x3AB0,4,{0x82,0x31,0x9D,0x30,}},
+ {0x3AB1,4,{0x82,0x31,0x9D,0x31,}},
+ {0x3AB2,4,{0x82,0x31,0x9D,0x32,}},
+ {0x3AB3,4,{0x82,0x31,0x9D,0x33,}},
+ {0x3AB4,4,{0x82,0x31,0x9D,0x34,}},
+ {0x3AB5,4,{0x82,0x31,0x9D,0x35,}},
+ {0x3AB6,4,{0x82,0x31,0x9D,0x36,}},
+ {0x3AB7,4,{0x82,0x31,0x9D,0x37,}},
+ {0x3AB8,4,{0x82,0x31,0x9D,0x38,}},
+ {0x3AB9,4,{0x82,0x31,0x9D,0x39,}},
+ {0x3ABA,4,{0x82,0x31,0x9E,0x30,}},
+ {0x3ABB,4,{0x82,0x31,0x9E,0x31,}},
+ {0x3ABC,4,{0x82,0x31,0x9E,0x32,}},
+ {0x3ABD,4,{0x82,0x31,0x9E,0x33,}},
+ {0x3ABE,4,{0x82,0x31,0x9E,0x34,}},
+ {0x3ABF,4,{0x82,0x31,0x9E,0x35,}},
+ {0x3AC0,4,{0x82,0x31,0x9E,0x36,}},
+ {0x3AC1,4,{0x82,0x31,0x9E,0x37,}},
+ {0x3AC2,4,{0x82,0x31,0x9E,0x38,}},
+ {0x3AC3,4,{0x82,0x31,0x9E,0x39,}},
+ {0x3AC4,4,{0x82,0x31,0x9F,0x30,}},
+ {0x3AC5,4,{0x82,0x31,0x9F,0x31,}},
+ {0x3AC6,4,{0x82,0x31,0x9F,0x32,}},
+ {0x3AC7,4,{0x82,0x31,0x9F,0x33,}},
+ {0x3AC8,4,{0x82,0x31,0x9F,0x34,}},
+ {0x3AC9,4,{0x82,0x31,0x9F,0x35,}},
+ {0x3ACA,4,{0x82,0x31,0x9F,0x36,}},
+ {0x3ACB,4,{0x82,0x31,0x9F,0x37,}},
+ {0x3ACC,4,{0x82,0x31,0x9F,0x38,}},
+ {0x3ACD,4,{0x82,0x31,0x9F,0x39,}},
+ {0x3ACE,4,{0x82,0x31,0xA0,0x30,}},
+ {0x3ACF,4,{0x82,0x31,0xA0,0x31,}},
+ {0x3AD0,4,{0x82,0x31,0xA0,0x32,}},
+ {0x3AD1,4,{0x82,0x31,0xA0,0x33,}},
+ {0x3AD2,4,{0x82,0x31,0xA0,0x34,}},
+ {0x3AD3,4,{0x82,0x31,0xA0,0x35,}},
+ {0x3AD4,4,{0x82,0x31,0xA0,0x36,}},
+ {0x3AD5,4,{0x82,0x31,0xA0,0x37,}},
+ {0x3AD6,4,{0x82,0x31,0xA0,0x38,}},
+ {0x3AD7,4,{0x82,0x31,0xA0,0x39,}},
+ {0x3AD8,4,{0x82,0x31,0xA1,0x30,}},
+ {0x3AD9,4,{0x82,0x31,0xA1,0x31,}},
+ {0x3ADA,4,{0x82,0x31,0xA1,0x32,}},
+ {0x3ADB,4,{0x82,0x31,0xA1,0x33,}},
+ {0x3ADC,4,{0x82,0x31,0xA1,0x34,}},
+ {0x3ADD,4,{0x82,0x31,0xA1,0x35,}},
+ {0x3ADE,4,{0x82,0x31,0xA1,0x36,}},
+ {0x3ADF,4,{0x82,0x31,0xA1,0x37,}},
+ {0x3AE0,4,{0x82,0x31,0xA1,0x38,}},
+ {0x3AE1,4,{0x82,0x31,0xA1,0x39,}},
+ {0x3AE2,4,{0x82,0x31,0xA2,0x30,}},
+ {0x3AE3,4,{0x82,0x31,0xA2,0x31,}},
+ {0x3AE4,4,{0x82,0x31,0xA2,0x32,}},
+ {0x3AE5,4,{0x82,0x31,0xA2,0x33,}},
+ {0x3AE6,4,{0x82,0x31,0xA2,0x34,}},
+ {0x3AE7,4,{0x82,0x31,0xA2,0x35,}},
+ {0x3AE8,4,{0x82,0x31,0xA2,0x36,}},
+ {0x3AE9,4,{0x82,0x31,0xA2,0x37,}},
+ {0x3AEA,4,{0x82,0x31,0xA2,0x38,}},
+ {0x3AEB,4,{0x82,0x31,0xA2,0x39,}},
+ {0x3AEC,4,{0x82,0x31,0xA3,0x30,}},
+ {0x3AED,4,{0x82,0x31,0xA3,0x31,}},
+ {0x3AEE,4,{0x82,0x31,0xA3,0x32,}},
+ {0x3AEF,4,{0x82,0x31,0xA3,0x33,}},
+ {0x3AF0,4,{0x82,0x31,0xA3,0x34,}},
+ {0x3AF1,4,{0x82,0x31,0xA3,0x35,}},
+ {0x3AF2,4,{0x82,0x31,0xA3,0x36,}},
+ {0x3AF3,4,{0x82,0x31,0xA3,0x37,}},
+ {0x3AF4,4,{0x82,0x31,0xA3,0x38,}},
+ {0x3AF5,4,{0x82,0x31,0xA3,0x39,}},
+ {0x3AF6,4,{0x82,0x31,0xA4,0x30,}},
+ {0x3AF7,4,{0x82,0x31,0xA4,0x31,}},
+ {0x3AF8,4,{0x82,0x31,0xA4,0x32,}},
+ {0x3AF9,4,{0x82,0x31,0xA4,0x33,}},
+ {0x3AFA,4,{0x82,0x31,0xA4,0x34,}},
+ {0x3AFB,4,{0x82,0x31,0xA4,0x35,}},
+ {0x3AFC,4,{0x82,0x31,0xA4,0x36,}},
+ {0x3AFD,4,{0x82,0x31,0xA4,0x37,}},
+ {0x3AFE,4,{0x82,0x31,0xA4,0x38,}},
+ {0x3AFF,4,{0x82,0x31,0xA4,0x39,}},
+ {0x3B00,4,{0x82,0x31,0xA5,0x30,}},
+ {0x3B01,4,{0x82,0x31,0xA5,0x31,}},
+ {0x3B02,4,{0x82,0x31,0xA5,0x32,}},
+ {0x3B03,4,{0x82,0x31,0xA5,0x33,}},
+ {0x3B04,4,{0x82,0x31,0xA5,0x34,}},
+ {0x3B05,4,{0x82,0x31,0xA5,0x35,}},
+ {0x3B06,4,{0x82,0x31,0xA5,0x36,}},
+ {0x3B07,4,{0x82,0x31,0xA5,0x37,}},
+ {0x3B08,4,{0x82,0x31,0xA5,0x38,}},
+ {0x3B09,4,{0x82,0x31,0xA5,0x39,}},
+ {0x3B0A,4,{0x82,0x31,0xA6,0x30,}},
+ {0x3B0B,4,{0x82,0x31,0xA6,0x31,}},
+ {0x3B0C,4,{0x82,0x31,0xA6,0x32,}},
+ {0x3B0D,4,{0x82,0x31,0xA6,0x33,}},
+ {0x3B0E,4,{0x82,0x31,0xA6,0x34,}},
+ {0x3B0F,4,{0x82,0x31,0xA6,0x35,}},
+ {0x3B10,4,{0x82,0x31,0xA6,0x36,}},
+ {0x3B11,4,{0x82,0x31,0xA6,0x37,}},
+ {0x3B12,4,{0x82,0x31,0xA6,0x38,}},
+ {0x3B13,4,{0x82,0x31,0xA6,0x39,}},
+ {0x3B14,4,{0x82,0x31,0xA7,0x30,}},
+ {0x3B15,4,{0x82,0x31,0xA7,0x31,}},
+ {0x3B16,4,{0x82,0x31,0xA7,0x32,}},
+ {0x3B17,4,{0x82,0x31,0xA7,0x33,}},
+ {0x3B18,4,{0x82,0x31,0xA7,0x34,}},
+ {0x3B19,4,{0x82,0x31,0xA7,0x35,}},
+ {0x3B1A,4,{0x82,0x31,0xA7,0x36,}},
+ {0x3B1B,4,{0x82,0x31,0xA7,0x37,}},
+ {0x3B1C,4,{0x82,0x31,0xA7,0x38,}},
+ {0x3B1D,4,{0x82,0x31,0xA7,0x39,}},
+ {0x3B1E,4,{0x82,0x31,0xA8,0x30,}},
+ {0x3B1F,4,{0x82,0x31,0xA8,0x31,}},
+ {0x3B20,4,{0x82,0x31,0xA8,0x32,}},
+ {0x3B21,4,{0x82,0x31,0xA8,0x33,}},
+ {0x3B22,4,{0x82,0x31,0xA8,0x34,}},
+ {0x3B23,4,{0x82,0x31,0xA8,0x35,}},
+ {0x3B24,4,{0x82,0x31,0xA8,0x36,}},
+ {0x3B25,4,{0x82,0x31,0xA8,0x37,}},
+ {0x3B26,4,{0x82,0x31,0xA8,0x38,}},
+ {0x3B27,4,{0x82,0x31,0xA8,0x39,}},
+ {0x3B28,4,{0x82,0x31,0xA9,0x30,}},
+ {0x3B29,4,{0x82,0x31,0xA9,0x31,}},
+ {0x3B2A,4,{0x82,0x31,0xA9,0x32,}},
+ {0x3B2B,4,{0x82,0x31,0xA9,0x33,}},
+ {0x3B2C,4,{0x82,0x31,0xA9,0x34,}},
+ {0x3B2D,4,{0x82,0x31,0xA9,0x35,}},
+ {0x3B2E,4,{0x82,0x31,0xA9,0x36,}},
+ {0x3B2F,4,{0x82,0x31,0xA9,0x37,}},
+ {0x3B30,4,{0x82,0x31,0xA9,0x38,}},
+ {0x3B31,4,{0x82,0x31,0xA9,0x39,}},
+ {0x3B32,4,{0x82,0x31,0xAA,0x30,}},
+ {0x3B33,4,{0x82,0x31,0xAA,0x31,}},
+ {0x3B34,4,{0x82,0x31,0xAA,0x32,}},
+ {0x3B35,4,{0x82,0x31,0xAA,0x33,}},
+ {0x3B36,4,{0x82,0x31,0xAA,0x34,}},
+ {0x3B37,4,{0x82,0x31,0xAA,0x35,}},
+ {0x3B38,4,{0x82,0x31,0xAA,0x36,}},
+ {0x3B39,4,{0x82,0x31,0xAA,0x37,}},
+ {0x3B3A,4,{0x82,0x31,0xAA,0x38,}},
+ {0x3B3B,4,{0x82,0x31,0xAA,0x39,}},
+ {0x3B3C,4,{0x82,0x31,0xAB,0x30,}},
+ {0x3B3D,4,{0x82,0x31,0xAB,0x31,}},
+ {0x3B3E,4,{0x82,0x31,0xAB,0x32,}},
+ {0x3B3F,4,{0x82,0x31,0xAB,0x33,}},
+ {0x3B40,4,{0x82,0x31,0xAB,0x34,}},
+ {0x3B41,4,{0x82,0x31,0xAB,0x35,}},
+ {0x3B42,4,{0x82,0x31,0xAB,0x36,}},
+ {0x3B43,4,{0x82,0x31,0xAB,0x37,}},
+ {0x3B44,4,{0x82,0x31,0xAB,0x38,}},
+ {0x3B45,4,{0x82,0x31,0xAB,0x39,}},
+ {0x3B46,4,{0x82,0x31,0xAC,0x30,}},
+ {0x3B47,4,{0x82,0x31,0xAC,0x31,}},
+ {0x3B48,4,{0x82,0x31,0xAC,0x32,}},
+ {0x3B49,4,{0x82,0x31,0xAC,0x33,}},
+ {0x3B4A,4,{0x82,0x31,0xAC,0x34,}},
+ {0x3B4B,4,{0x82,0x31,0xAC,0x35,}},
+ {0x3B4C,4,{0x82,0x31,0xAC,0x36,}},
+ {0x3B4D,4,{0x82,0x31,0xAC,0x37,}},
+ {0x3B4E,2,{0xFE,0x68,0x00,0x00,}},
+ {0x3B4F,4,{0x82,0x31,0xAC,0x38,}},
+ {0x3B50,4,{0x82,0x31,0xAC,0x39,}},
+ {0x3B51,4,{0x82,0x31,0xAD,0x30,}},
+ {0x3B52,4,{0x82,0x31,0xAD,0x31,}},
+ {0x3B53,4,{0x82,0x31,0xAD,0x32,}},
+ {0x3B54,4,{0x82,0x31,0xAD,0x33,}},
+ {0x3B55,4,{0x82,0x31,0xAD,0x34,}},
+ {0x3B56,4,{0x82,0x31,0xAD,0x35,}},
+ {0x3B57,4,{0x82,0x31,0xAD,0x36,}},
+ {0x3B58,4,{0x82,0x31,0xAD,0x37,}},
+ {0x3B59,4,{0x82,0x31,0xAD,0x38,}},
+ {0x3B5A,4,{0x82,0x31,0xAD,0x39,}},
+ {0x3B5B,4,{0x82,0x31,0xAE,0x30,}},
+ {0x3B5C,4,{0x82,0x31,0xAE,0x31,}},
+ {0x3B5D,4,{0x82,0x31,0xAE,0x32,}},
+ {0x3B5E,4,{0x82,0x31,0xAE,0x33,}},
+ {0x3B5F,4,{0x82,0x31,0xAE,0x34,}},
+ {0x3B60,4,{0x82,0x31,0xAE,0x35,}},
+ {0x3B61,4,{0x82,0x31,0xAE,0x36,}},
+ {0x3B62,4,{0x82,0x31,0xAE,0x37,}},
+ {0x3B63,4,{0x82,0x31,0xAE,0x38,}},
+ {0x3B64,4,{0x82,0x31,0xAE,0x39,}},
+ {0x3B65,4,{0x82,0x31,0xAF,0x30,}},
+ {0x3B66,4,{0x82,0x31,0xAF,0x31,}},
+ {0x3B67,4,{0x82,0x31,0xAF,0x32,}},
+ {0x3B68,4,{0x82,0x31,0xAF,0x33,}},
+ {0x3B69,4,{0x82,0x31,0xAF,0x34,}},
+ {0x3B6A,4,{0x82,0x31,0xAF,0x35,}},
+ {0x3B6B,4,{0x82,0x31,0xAF,0x36,}},
+ {0x3B6C,4,{0x82,0x31,0xAF,0x37,}},
+ {0x3B6D,4,{0x82,0x31,0xAF,0x38,}},
+ {0x3B6E,4,{0x82,0x31,0xAF,0x39,}},
+ {0x3B6F,4,{0x82,0x31,0xB0,0x30,}},
+ {0x3B70,4,{0x82,0x31,0xB0,0x31,}},
+ {0x3B71,4,{0x82,0x31,0xB0,0x32,}},
+ {0x3B72,4,{0x82,0x31,0xB0,0x33,}},
+ {0x3B73,4,{0x82,0x31,0xB0,0x34,}},
+ {0x3B74,4,{0x82,0x31,0xB0,0x35,}},
+ {0x3B75,4,{0x82,0x31,0xB0,0x36,}},
+ {0x3B76,4,{0x82,0x31,0xB0,0x37,}},
+ {0x3B77,4,{0x82,0x31,0xB0,0x38,}},
+ {0x3B78,4,{0x82,0x31,0xB0,0x39,}},
+ {0x3B79,4,{0x82,0x31,0xB1,0x30,}},
+ {0x3B7A,4,{0x82,0x31,0xB1,0x31,}},
+ {0x3B7B,4,{0x82,0x31,0xB1,0x32,}},
+ {0x3B7C,4,{0x82,0x31,0xB1,0x33,}},
+ {0x3B7D,4,{0x82,0x31,0xB1,0x34,}},
+ {0x3B7E,4,{0x82,0x31,0xB1,0x35,}},
+ {0x3B7F,4,{0x82,0x31,0xB1,0x36,}},
+ {0x3B80,4,{0x82,0x31,0xB1,0x37,}},
+ {0x3B81,4,{0x82,0x31,0xB1,0x38,}},
+ {0x3B82,4,{0x82,0x31,0xB1,0x39,}},
+ {0x3B83,4,{0x82,0x31,0xB2,0x30,}},
+ {0x3B84,4,{0x82,0x31,0xB2,0x31,}},
+ {0x3B85,4,{0x82,0x31,0xB2,0x32,}},
+ {0x3B86,4,{0x82,0x31,0xB2,0x33,}},
+ {0x3B87,4,{0x82,0x31,0xB2,0x34,}},
+ {0x3B88,4,{0x82,0x31,0xB2,0x35,}},
+ {0x3B89,4,{0x82,0x31,0xB2,0x36,}},
+ {0x3B8A,4,{0x82,0x31,0xB2,0x37,}},
+ {0x3B8B,4,{0x82,0x31,0xB2,0x38,}},
+ {0x3B8C,4,{0x82,0x31,0xB2,0x39,}},
+ {0x3B8D,4,{0x82,0x31,0xB3,0x30,}},
+ {0x3B8E,4,{0x82,0x31,0xB3,0x31,}},
+ {0x3B8F,4,{0x82,0x31,0xB3,0x32,}},
+ {0x3B90,4,{0x82,0x31,0xB3,0x33,}},
+ {0x3B91,4,{0x82,0x31,0xB3,0x34,}},
+ {0x3B92,4,{0x82,0x31,0xB3,0x35,}},
+ {0x3B93,4,{0x82,0x31,0xB3,0x36,}},
+ {0x3B94,4,{0x82,0x31,0xB3,0x37,}},
+ {0x3B95,4,{0x82,0x31,0xB3,0x38,}},
+ {0x3B96,4,{0x82,0x31,0xB3,0x39,}},
+ {0x3B97,4,{0x82,0x31,0xB4,0x30,}},
+ {0x3B98,4,{0x82,0x31,0xB4,0x31,}},
+ {0x3B99,4,{0x82,0x31,0xB4,0x32,}},
+ {0x3B9A,4,{0x82,0x31,0xB4,0x33,}},
+ {0x3B9B,4,{0x82,0x31,0xB4,0x34,}},
+ {0x3B9C,4,{0x82,0x31,0xB4,0x35,}},
+ {0x3B9D,4,{0x82,0x31,0xB4,0x36,}},
+ {0x3B9E,4,{0x82,0x31,0xB4,0x37,}},
+ {0x3B9F,4,{0x82,0x31,0xB4,0x38,}},
+ {0x3BA0,4,{0x82,0x31,0xB4,0x39,}},
+ {0x3BA1,4,{0x82,0x31,0xB5,0x30,}},
+ {0x3BA2,4,{0x82,0x31,0xB5,0x31,}},
+ {0x3BA3,4,{0x82,0x31,0xB5,0x32,}},
+ {0x3BA4,4,{0x82,0x31,0xB5,0x33,}},
+ {0x3BA5,4,{0x82,0x31,0xB5,0x34,}},
+ {0x3BA6,4,{0x82,0x31,0xB5,0x35,}},
+ {0x3BA7,4,{0x82,0x31,0xB5,0x36,}},
+ {0x3BA8,4,{0x82,0x31,0xB5,0x37,}},
+ {0x3BA9,4,{0x82,0x31,0xB5,0x38,}},
+ {0x3BAA,4,{0x82,0x31,0xB5,0x39,}},
+ {0x3BAB,4,{0x82,0x31,0xB6,0x30,}},
+ {0x3BAC,4,{0x82,0x31,0xB6,0x31,}},
+ {0x3BAD,4,{0x82,0x31,0xB6,0x32,}},
+ {0x3BAE,4,{0x82,0x31,0xB6,0x33,}},
+ {0x3BAF,4,{0x82,0x31,0xB6,0x34,}},
+ {0x3BB0,4,{0x82,0x31,0xB6,0x35,}},
+ {0x3BB1,4,{0x82,0x31,0xB6,0x36,}},
+ {0x3BB2,4,{0x82,0x31,0xB6,0x37,}},
+ {0x3BB3,4,{0x82,0x31,0xB6,0x38,}},
+ {0x3BB4,4,{0x82,0x31,0xB6,0x39,}},
+ {0x3BB5,4,{0x82,0x31,0xB7,0x30,}},
+ {0x3BB6,4,{0x82,0x31,0xB7,0x31,}},
+ {0x3BB7,4,{0x82,0x31,0xB7,0x32,}},
+ {0x3BB8,4,{0x82,0x31,0xB7,0x33,}},
+ {0x3BB9,4,{0x82,0x31,0xB7,0x34,}},
+ {0x3BBA,4,{0x82,0x31,0xB7,0x35,}},
+ {0x3BBB,4,{0x82,0x31,0xB7,0x36,}},
+ {0x3BBC,4,{0x82,0x31,0xB7,0x37,}},
+ {0x3BBD,4,{0x82,0x31,0xB7,0x38,}},
+ {0x3BBE,4,{0x82,0x31,0xB7,0x39,}},
+ {0x3BBF,4,{0x82,0x31,0xB8,0x30,}},
+ {0x3BC0,4,{0x82,0x31,0xB8,0x31,}},
+ {0x3BC1,4,{0x82,0x31,0xB8,0x32,}},
+ {0x3BC2,4,{0x82,0x31,0xB8,0x33,}},
+ {0x3BC3,4,{0x82,0x31,0xB8,0x34,}},
+ {0x3BC4,4,{0x82,0x31,0xB8,0x35,}},
+ {0x3BC5,4,{0x82,0x31,0xB8,0x36,}},
+ {0x3BC6,4,{0x82,0x31,0xB8,0x37,}},
+ {0x3BC7,4,{0x82,0x31,0xB8,0x38,}},
+ {0x3BC8,4,{0x82,0x31,0xB8,0x39,}},
+ {0x3BC9,4,{0x82,0x31,0xB9,0x30,}},
+ {0x3BCA,4,{0x82,0x31,0xB9,0x31,}},
+ {0x3BCB,4,{0x82,0x31,0xB9,0x32,}},
+ {0x3BCC,4,{0x82,0x31,0xB9,0x33,}},
+ {0x3BCD,4,{0x82,0x31,0xB9,0x34,}},
+ {0x3BCE,4,{0x82,0x31,0xB9,0x35,}},
+ {0x3BCF,4,{0x82,0x31,0xB9,0x36,}},
+ {0x3BD0,4,{0x82,0x31,0xB9,0x37,}},
+ {0x3BD1,4,{0x82,0x31,0xB9,0x38,}},
+ {0x3BD2,4,{0x82,0x31,0xB9,0x39,}},
+ {0x3BD3,4,{0x82,0x31,0xBA,0x30,}},
+ {0x3BD4,4,{0x82,0x31,0xBA,0x31,}},
+ {0x3BD5,4,{0x82,0x31,0xBA,0x32,}},
+ {0x3BD6,4,{0x82,0x31,0xBA,0x33,}},
+ {0x3BD7,4,{0x82,0x31,0xBA,0x34,}},
+ {0x3BD8,4,{0x82,0x31,0xBA,0x35,}},
+ {0x3BD9,4,{0x82,0x31,0xBA,0x36,}},
+ {0x3BDA,4,{0x82,0x31,0xBA,0x37,}},
+ {0x3BDB,4,{0x82,0x31,0xBA,0x38,}},
+ {0x3BDC,4,{0x82,0x31,0xBA,0x39,}},
+ {0x3BDD,4,{0x82,0x31,0xBB,0x30,}},
+ {0x3BDE,4,{0x82,0x31,0xBB,0x31,}},
+ {0x3BDF,4,{0x82,0x31,0xBB,0x32,}},
+ {0x3BE0,4,{0x82,0x31,0xBB,0x33,}},
+ {0x3BE1,4,{0x82,0x31,0xBB,0x34,}},
+ {0x3BE2,4,{0x82,0x31,0xBB,0x35,}},
+ {0x3BE3,4,{0x82,0x31,0xBB,0x36,}},
+ {0x3BE4,4,{0x82,0x31,0xBB,0x37,}},
+ {0x3BE5,4,{0x82,0x31,0xBB,0x38,}},
+ {0x3BE6,4,{0x82,0x31,0xBB,0x39,}},
+ {0x3BE7,4,{0x82,0x31,0xBC,0x30,}},
+ {0x3BE8,4,{0x82,0x31,0xBC,0x31,}},
+ {0x3BE9,4,{0x82,0x31,0xBC,0x32,}},
+ {0x3BEA,4,{0x82,0x31,0xBC,0x33,}},
+ {0x3BEB,4,{0x82,0x31,0xBC,0x34,}},
+ {0x3BEC,4,{0x82,0x31,0xBC,0x35,}},
+ {0x3BED,4,{0x82,0x31,0xBC,0x36,}},
+ {0x3BEE,4,{0x82,0x31,0xBC,0x37,}},
+ {0x3BEF,4,{0x82,0x31,0xBC,0x38,}},
+ {0x3BF0,4,{0x82,0x31,0xBC,0x39,}},
+ {0x3BF1,4,{0x82,0x31,0xBD,0x30,}},
+ {0x3BF2,4,{0x82,0x31,0xBD,0x31,}},
+ {0x3BF3,4,{0x82,0x31,0xBD,0x32,}},
+ {0x3BF4,4,{0x82,0x31,0xBD,0x33,}},
+ {0x3BF5,4,{0x82,0x31,0xBD,0x34,}},
+ {0x3BF6,4,{0x82,0x31,0xBD,0x35,}},
+ {0x3BF7,4,{0x82,0x31,0xBD,0x36,}},
+ {0x3BF8,4,{0x82,0x31,0xBD,0x37,}},
+ {0x3BF9,4,{0x82,0x31,0xBD,0x38,}},
+ {0x3BFA,4,{0x82,0x31,0xBD,0x39,}},
+ {0x3BFB,4,{0x82,0x31,0xBE,0x30,}},
+ {0x3BFC,4,{0x82,0x31,0xBE,0x31,}},
+ {0x3BFD,4,{0x82,0x31,0xBE,0x32,}},
+ {0x3BFE,4,{0x82,0x31,0xBE,0x33,}},
+ {0x3BFF,4,{0x82,0x31,0xBE,0x34,}},
+ {0x3C00,4,{0x82,0x31,0xBE,0x35,}},
+ {0x3C01,4,{0x82,0x31,0xBE,0x36,}},
+ {0x3C02,4,{0x82,0x31,0xBE,0x37,}},
+ {0x3C03,4,{0x82,0x31,0xBE,0x38,}},
+ {0x3C04,4,{0x82,0x31,0xBE,0x39,}},
+ {0x3C05,4,{0x82,0x31,0xBF,0x30,}},
+ {0x3C06,4,{0x82,0x31,0xBF,0x31,}},
+ {0x3C07,4,{0x82,0x31,0xBF,0x32,}},
+ {0x3C08,4,{0x82,0x31,0xBF,0x33,}},
+ {0x3C09,4,{0x82,0x31,0xBF,0x34,}},
+ {0x3C0A,4,{0x82,0x31,0xBF,0x35,}},
+ {0x3C0B,4,{0x82,0x31,0xBF,0x36,}},
+ {0x3C0C,4,{0x82,0x31,0xBF,0x37,}},
+ {0x3C0D,4,{0x82,0x31,0xBF,0x38,}},
+ {0x3C0E,4,{0x82,0x31,0xBF,0x39,}},
+ {0x3C0F,4,{0x82,0x31,0xC0,0x30,}},
+ {0x3C10,4,{0x82,0x31,0xC0,0x31,}},
+ {0x3C11,4,{0x82,0x31,0xC0,0x32,}},
+ {0x3C12,4,{0x82,0x31,0xC0,0x33,}},
+ {0x3C13,4,{0x82,0x31,0xC0,0x34,}},
+ {0x3C14,4,{0x82,0x31,0xC0,0x35,}},
+ {0x3C15,4,{0x82,0x31,0xC0,0x36,}},
+ {0x3C16,4,{0x82,0x31,0xC0,0x37,}},
+ {0x3C17,4,{0x82,0x31,0xC0,0x38,}},
+ {0x3C18,4,{0x82,0x31,0xC0,0x39,}},
+ {0x3C19,4,{0x82,0x31,0xC1,0x30,}},
+ {0x3C1A,4,{0x82,0x31,0xC1,0x31,}},
+ {0x3C1B,4,{0x82,0x31,0xC1,0x32,}},
+ {0x3C1C,4,{0x82,0x31,0xC1,0x33,}},
+ {0x3C1D,4,{0x82,0x31,0xC1,0x34,}},
+ {0x3C1E,4,{0x82,0x31,0xC1,0x35,}},
+ {0x3C1F,4,{0x82,0x31,0xC1,0x36,}},
+ {0x3C20,4,{0x82,0x31,0xC1,0x37,}},
+ {0x3C21,4,{0x82,0x31,0xC1,0x38,}},
+ {0x3C22,4,{0x82,0x31,0xC1,0x39,}},
+ {0x3C23,4,{0x82,0x31,0xC2,0x30,}},
+ {0x3C24,4,{0x82,0x31,0xC2,0x31,}},
+ {0x3C25,4,{0x82,0x31,0xC2,0x32,}},
+ {0x3C26,4,{0x82,0x31,0xC2,0x33,}},
+ {0x3C27,4,{0x82,0x31,0xC2,0x34,}},
+ {0x3C28,4,{0x82,0x31,0xC2,0x35,}},
+ {0x3C29,4,{0x82,0x31,0xC2,0x36,}},
+ {0x3C2A,4,{0x82,0x31,0xC2,0x37,}},
+ {0x3C2B,4,{0x82,0x31,0xC2,0x38,}},
+ {0x3C2C,4,{0x82,0x31,0xC2,0x39,}},
+ {0x3C2D,4,{0x82,0x31,0xC3,0x30,}},
+ {0x3C2E,4,{0x82,0x31,0xC3,0x31,}},
+ {0x3C2F,4,{0x82,0x31,0xC3,0x32,}},
+ {0x3C30,4,{0x82,0x31,0xC3,0x33,}},
+ {0x3C31,4,{0x82,0x31,0xC3,0x34,}},
+ {0x3C32,4,{0x82,0x31,0xC3,0x35,}},
+ {0x3C33,4,{0x82,0x31,0xC3,0x36,}},
+ {0x3C34,4,{0x82,0x31,0xC3,0x37,}},
+ {0x3C35,4,{0x82,0x31,0xC3,0x38,}},
+ {0x3C36,4,{0x82,0x31,0xC3,0x39,}},
+ {0x3C37,4,{0x82,0x31,0xC4,0x30,}},
+ {0x3C38,4,{0x82,0x31,0xC4,0x31,}},
+ {0x3C39,4,{0x82,0x31,0xC4,0x32,}},
+ {0x3C3A,4,{0x82,0x31,0xC4,0x33,}},
+ {0x3C3B,4,{0x82,0x31,0xC4,0x34,}},
+ {0x3C3C,4,{0x82,0x31,0xC4,0x35,}},
+ {0x3C3D,4,{0x82,0x31,0xC4,0x36,}},
+ {0x3C3E,4,{0x82,0x31,0xC4,0x37,}},
+ {0x3C3F,4,{0x82,0x31,0xC4,0x38,}},
+ {0x3C40,4,{0x82,0x31,0xC4,0x39,}},
+ {0x3C41,4,{0x82,0x31,0xC5,0x30,}},
+ {0x3C42,4,{0x82,0x31,0xC5,0x31,}},
+ {0x3C43,4,{0x82,0x31,0xC5,0x32,}},
+ {0x3C44,4,{0x82,0x31,0xC5,0x33,}},
+ {0x3C45,4,{0x82,0x31,0xC5,0x34,}},
+ {0x3C46,4,{0x82,0x31,0xC5,0x35,}},
+ {0x3C47,4,{0x82,0x31,0xC5,0x36,}},
+ {0x3C48,4,{0x82,0x31,0xC5,0x37,}},
+ {0x3C49,4,{0x82,0x31,0xC5,0x38,}},
+ {0x3C4A,4,{0x82,0x31,0xC5,0x39,}},
+ {0x3C4B,4,{0x82,0x31,0xC6,0x30,}},
+ {0x3C4C,4,{0x82,0x31,0xC6,0x31,}},
+ {0x3C4D,4,{0x82,0x31,0xC6,0x32,}},
+ {0x3C4E,4,{0x82,0x31,0xC6,0x33,}},
+ {0x3C4F,4,{0x82,0x31,0xC6,0x34,}},
+ {0x3C50,4,{0x82,0x31,0xC6,0x35,}},
+ {0x3C51,4,{0x82,0x31,0xC6,0x36,}},
+ {0x3C52,4,{0x82,0x31,0xC6,0x37,}},
+ {0x3C53,4,{0x82,0x31,0xC6,0x38,}},
+ {0x3C54,4,{0x82,0x31,0xC6,0x39,}},
+ {0x3C55,4,{0x82,0x31,0xC7,0x30,}},
+ {0x3C56,4,{0x82,0x31,0xC7,0x31,}},
+ {0x3C57,4,{0x82,0x31,0xC7,0x32,}},
+ {0x3C58,4,{0x82,0x31,0xC7,0x33,}},
+ {0x3C59,4,{0x82,0x31,0xC7,0x34,}},
+ {0x3C5A,4,{0x82,0x31,0xC7,0x35,}},
+ {0x3C5B,4,{0x82,0x31,0xC7,0x36,}},
+ {0x3C5C,4,{0x82,0x31,0xC7,0x37,}},
+ {0x3C5D,4,{0x82,0x31,0xC7,0x38,}},
+ {0x3C5E,4,{0x82,0x31,0xC7,0x39,}},
+ {0x3C5F,4,{0x82,0x31,0xC8,0x30,}},
+ {0x3C60,4,{0x82,0x31,0xC8,0x31,}},
+ {0x3C61,4,{0x82,0x31,0xC8,0x32,}},
+ {0x3C62,4,{0x82,0x31,0xC8,0x33,}},
+ {0x3C63,4,{0x82,0x31,0xC8,0x34,}},
+ {0x3C64,4,{0x82,0x31,0xC8,0x35,}},
+ {0x3C65,4,{0x82,0x31,0xC8,0x36,}},
+ {0x3C66,4,{0x82,0x31,0xC8,0x37,}},
+ {0x3C67,4,{0x82,0x31,0xC8,0x38,}},
+ {0x3C68,4,{0x82,0x31,0xC8,0x39,}},
+ {0x3C69,4,{0x82,0x31,0xC9,0x30,}},
+ {0x3C6A,4,{0x82,0x31,0xC9,0x31,}},
+ {0x3C6B,4,{0x82,0x31,0xC9,0x32,}},
+ {0x3C6C,4,{0x82,0x31,0xC9,0x33,}},
+ {0x3C6D,4,{0x82,0x31,0xC9,0x34,}},
+ {0x3C6E,2,{0xFE,0x69,0x00,0x00,}},
+ {0x3C6F,4,{0x82,0x31,0xC9,0x35,}},
+ {0x3C70,4,{0x82,0x31,0xC9,0x36,}},
+ {0x3C71,4,{0x82,0x31,0xC9,0x37,}},
+ {0x3C72,4,{0x82,0x31,0xC9,0x38,}},
+ {0x3C73,4,{0x82,0x31,0xC9,0x39,}},
+ {0x3C74,4,{0x82,0x31,0xCA,0x30,}},
+ {0x3C75,4,{0x82,0x31,0xCA,0x31,}},
+ {0x3C76,4,{0x82,0x31,0xCA,0x32,}},
+ {0x3C77,4,{0x82,0x31,0xCA,0x33,}},
+ {0x3C78,4,{0x82,0x31,0xCA,0x34,}},
+ {0x3C79,4,{0x82,0x31,0xCA,0x35,}},
+ {0x3C7A,4,{0x82,0x31,0xCA,0x36,}},
+ {0x3C7B,4,{0x82,0x31,0xCA,0x37,}},
+ {0x3C7C,4,{0x82,0x31,0xCA,0x38,}},
+ {0x3C7D,4,{0x82,0x31,0xCA,0x39,}},
+ {0x3C7E,4,{0x82,0x31,0xCB,0x30,}},
+ {0x3C7F,4,{0x82,0x31,0xCB,0x31,}},
+ {0x3C80,4,{0x82,0x31,0xCB,0x32,}},
+ {0x3C81,4,{0x82,0x31,0xCB,0x33,}},
+ {0x3C82,4,{0x82,0x31,0xCB,0x34,}},
+ {0x3C83,4,{0x82,0x31,0xCB,0x35,}},
+ {0x3C84,4,{0x82,0x31,0xCB,0x36,}},
+ {0x3C85,4,{0x82,0x31,0xCB,0x37,}},
+ {0x3C86,4,{0x82,0x31,0xCB,0x38,}},
+ {0x3C87,4,{0x82,0x31,0xCB,0x39,}},
+ {0x3C88,4,{0x82,0x31,0xCC,0x30,}},
+ {0x3C89,4,{0x82,0x31,0xCC,0x31,}},
+ {0x3C8A,4,{0x82,0x31,0xCC,0x32,}},
+ {0x3C8B,4,{0x82,0x31,0xCC,0x33,}},
+ {0x3C8C,4,{0x82,0x31,0xCC,0x34,}},
+ {0x3C8D,4,{0x82,0x31,0xCC,0x35,}},
+ {0x3C8E,4,{0x82,0x31,0xCC,0x36,}},
+ {0x3C8F,4,{0x82,0x31,0xCC,0x37,}},
+ {0x3C90,4,{0x82,0x31,0xCC,0x38,}},
+ {0x3C91,4,{0x82,0x31,0xCC,0x39,}},
+ {0x3C92,4,{0x82,0x31,0xCD,0x30,}},
+ {0x3C93,4,{0x82,0x31,0xCD,0x31,}},
+ {0x3C94,4,{0x82,0x31,0xCD,0x32,}},
+ {0x3C95,4,{0x82,0x31,0xCD,0x33,}},
+ {0x3C96,4,{0x82,0x31,0xCD,0x34,}},
+ {0x3C97,4,{0x82,0x31,0xCD,0x35,}},
+ {0x3C98,4,{0x82,0x31,0xCD,0x36,}},
+ {0x3C99,4,{0x82,0x31,0xCD,0x37,}},
+ {0x3C9A,4,{0x82,0x31,0xCD,0x38,}},
+ {0x3C9B,4,{0x82,0x31,0xCD,0x39,}},
+ {0x3C9C,4,{0x82,0x31,0xCE,0x30,}},
+ {0x3C9D,4,{0x82,0x31,0xCE,0x31,}},
+ {0x3C9E,4,{0x82,0x31,0xCE,0x32,}},
+ {0x3C9F,4,{0x82,0x31,0xCE,0x33,}},
+ {0x3CA0,4,{0x82,0x31,0xCE,0x34,}},
+ {0x3CA1,4,{0x82,0x31,0xCE,0x35,}},
+ {0x3CA2,4,{0x82,0x31,0xCE,0x36,}},
+ {0x3CA3,4,{0x82,0x31,0xCE,0x37,}},
+ {0x3CA4,4,{0x82,0x31,0xCE,0x38,}},
+ {0x3CA5,4,{0x82,0x31,0xCE,0x39,}},
+ {0x3CA6,4,{0x82,0x31,0xCF,0x30,}},
+ {0x3CA7,4,{0x82,0x31,0xCF,0x31,}},
+ {0x3CA8,4,{0x82,0x31,0xCF,0x32,}},
+ {0x3CA9,4,{0x82,0x31,0xCF,0x33,}},
+ {0x3CAA,4,{0x82,0x31,0xCF,0x34,}},
+ {0x3CAB,4,{0x82,0x31,0xCF,0x35,}},
+ {0x3CAC,4,{0x82,0x31,0xCF,0x36,}},
+ {0x3CAD,4,{0x82,0x31,0xCF,0x37,}},
+ {0x3CAE,4,{0x82,0x31,0xCF,0x38,}},
+ {0x3CAF,4,{0x82,0x31,0xCF,0x39,}},
+ {0x3CB0,4,{0x82,0x31,0xD0,0x30,}},
+ {0x3CB1,4,{0x82,0x31,0xD0,0x31,}},
+ {0x3CB2,4,{0x82,0x31,0xD0,0x32,}},
+ {0x3CB3,4,{0x82,0x31,0xD0,0x33,}},
+ {0x3CB4,4,{0x82,0x31,0xD0,0x34,}},
+ {0x3CB5,4,{0x82,0x31,0xD0,0x35,}},
+ {0x3CB6,4,{0x82,0x31,0xD0,0x36,}},
+ {0x3CB7,4,{0x82,0x31,0xD0,0x37,}},
+ {0x3CB8,4,{0x82,0x31,0xD0,0x38,}},
+ {0x3CB9,4,{0x82,0x31,0xD0,0x39,}},
+ {0x3CBA,4,{0x82,0x31,0xD1,0x30,}},
+ {0x3CBB,4,{0x82,0x31,0xD1,0x31,}},
+ {0x3CBC,4,{0x82,0x31,0xD1,0x32,}},
+ {0x3CBD,4,{0x82,0x31,0xD1,0x33,}},
+ {0x3CBE,4,{0x82,0x31,0xD1,0x34,}},
+ {0x3CBF,4,{0x82,0x31,0xD1,0x35,}},
+ {0x3CC0,4,{0x82,0x31,0xD1,0x36,}},
+ {0x3CC1,4,{0x82,0x31,0xD1,0x37,}},
+ {0x3CC2,4,{0x82,0x31,0xD1,0x38,}},
+ {0x3CC3,4,{0x82,0x31,0xD1,0x39,}},
+ {0x3CC4,4,{0x82,0x31,0xD2,0x30,}},
+ {0x3CC5,4,{0x82,0x31,0xD2,0x31,}},
+ {0x3CC6,4,{0x82,0x31,0xD2,0x32,}},
+ {0x3CC7,4,{0x82,0x31,0xD2,0x33,}},
+ {0x3CC8,4,{0x82,0x31,0xD2,0x34,}},
+ {0x3CC9,4,{0x82,0x31,0xD2,0x35,}},
+ {0x3CCA,4,{0x82,0x31,0xD2,0x36,}},
+ {0x3CCB,4,{0x82,0x31,0xD2,0x37,}},
+ {0x3CCC,4,{0x82,0x31,0xD2,0x38,}},
+ {0x3CCD,4,{0x82,0x31,0xD2,0x39,}},
+ {0x3CCE,4,{0x82,0x31,0xD3,0x30,}},
+ {0x3CCF,4,{0x82,0x31,0xD3,0x31,}},
+ {0x3CD0,4,{0x82,0x31,0xD3,0x32,}},
+ {0x3CD1,4,{0x82,0x31,0xD3,0x33,}},
+ {0x3CD2,4,{0x82,0x31,0xD3,0x34,}},
+ {0x3CD3,4,{0x82,0x31,0xD3,0x35,}},
+ {0x3CD4,4,{0x82,0x31,0xD3,0x36,}},
+ {0x3CD5,4,{0x82,0x31,0xD3,0x37,}},
+ {0x3CD6,4,{0x82,0x31,0xD3,0x38,}},
+ {0x3CD7,4,{0x82,0x31,0xD3,0x39,}},
+ {0x3CD8,4,{0x82,0x31,0xD4,0x30,}},
+ {0x3CD9,4,{0x82,0x31,0xD4,0x31,}},
+ {0x3CDA,4,{0x82,0x31,0xD4,0x32,}},
+ {0x3CDB,4,{0x82,0x31,0xD4,0x33,}},
+ {0x3CDC,4,{0x82,0x31,0xD4,0x34,}},
+ {0x3CDD,4,{0x82,0x31,0xD4,0x35,}},
+ {0x3CDE,4,{0x82,0x31,0xD4,0x36,}},
+ {0x3CDF,4,{0x82,0x31,0xD4,0x37,}},
+ {0x3CE0,2,{0xFE,0x6A,0x00,0x00,}},
+ {0x4056,2,{0xFE,0x6F,0x00,0x00,}},
+ {0x4057,4,{0x82,0x32,0xAF,0x33,}},
+ {0x4058,4,{0x82,0x32,0xAF,0x34,}},
+ {0x4059,4,{0x82,0x32,0xAF,0x35,}},
+ {0x405A,4,{0x82,0x32,0xAF,0x36,}},
+ {0x405B,4,{0x82,0x32,0xAF,0x37,}},
+ {0x405C,4,{0x82,0x32,0xAF,0x38,}},
+ {0x405D,4,{0x82,0x32,0xAF,0x39,}},
+ {0x405E,4,{0x82,0x32,0xB0,0x30,}},
+ {0x405F,4,{0x82,0x32,0xB0,0x31,}},
+ {0x4060,4,{0x82,0x32,0xB0,0x32,}},
+ {0x4061,4,{0x82,0x32,0xB0,0x33,}},
+ {0x4062,4,{0x82,0x32,0xB0,0x34,}},
+ {0x4063,4,{0x82,0x32,0xB0,0x35,}},
+ {0x4064,4,{0x82,0x32,0xB0,0x36,}},
+ {0x4065,4,{0x82,0x32,0xB0,0x37,}},
+ {0x4066,4,{0x82,0x32,0xB0,0x38,}},
+ {0x4067,4,{0x82,0x32,0xB0,0x39,}},
+ {0x4068,4,{0x82,0x32,0xB1,0x30,}},
+ {0x4069,4,{0x82,0x32,0xB1,0x31,}},
+ {0x406A,4,{0x82,0x32,0xB1,0x32,}},
+ {0x406B,4,{0x82,0x32,0xB1,0x33,}},
+ {0x406C,4,{0x82,0x32,0xB1,0x34,}},
+ {0x406D,4,{0x82,0x32,0xB1,0x35,}},
+ {0x406E,4,{0x82,0x32,0xB1,0x36,}},
+ {0x406F,4,{0x82,0x32,0xB1,0x37,}},
+ {0x4070,4,{0x82,0x32,0xB1,0x38,}},
+ {0x4071,4,{0x82,0x32,0xB1,0x39,}},
+ {0x4072,4,{0x82,0x32,0xB2,0x30,}},
+ {0x4073,4,{0x82,0x32,0xB2,0x31,}},
+ {0x4074,4,{0x82,0x32,0xB2,0x32,}},
+ {0x4075,4,{0x82,0x32,0xB2,0x33,}},
+ {0x4076,4,{0x82,0x32,0xB2,0x34,}},
+ {0x4077,4,{0x82,0x32,0xB2,0x35,}},
+ {0x4078,4,{0x82,0x32,0xB2,0x36,}},
+ {0x4079,4,{0x82,0x32,0xB2,0x37,}},
+ {0x407A,4,{0x82,0x32,0xB2,0x38,}},
+ {0x407B,4,{0x82,0x32,0xB2,0x39,}},
+ {0x407C,4,{0x82,0x32,0xB3,0x30,}},
+ {0x407D,4,{0x82,0x32,0xB3,0x31,}},
+ {0x407E,4,{0x82,0x32,0xB3,0x32,}},
+ {0x407F,4,{0x82,0x32,0xB3,0x33,}},
+ {0x4080,4,{0x82,0x32,0xB3,0x34,}},
+ {0x4081,4,{0x82,0x32,0xB3,0x35,}},
+ {0x4082,4,{0x82,0x32,0xB3,0x36,}},
+ {0x4083,4,{0x82,0x32,0xB3,0x37,}},
+ {0x4084,4,{0x82,0x32,0xB3,0x38,}},
+ {0x4085,4,{0x82,0x32,0xB3,0x39,}},
+ {0x4086,4,{0x82,0x32,0xB4,0x30,}},
+ {0x4087,4,{0x82,0x32,0xB4,0x31,}},
+ {0x4088,4,{0x82,0x32,0xB4,0x32,}},
+ {0x4089,4,{0x82,0x32,0xB4,0x33,}},
+ {0x408A,4,{0x82,0x32,0xB4,0x34,}},
+ {0x408B,4,{0x82,0x32,0xB4,0x35,}},
+ {0x408C,4,{0x82,0x32,0xB4,0x36,}},
+ {0x408D,4,{0x82,0x32,0xB4,0x37,}},
+ {0x408E,4,{0x82,0x32,0xB4,0x38,}},
+ {0x408F,4,{0x82,0x32,0xB4,0x39,}},
+ {0x4090,4,{0x82,0x32,0xB5,0x30,}},
+ {0x4091,4,{0x82,0x32,0xB5,0x31,}},
+ {0x4092,4,{0x82,0x32,0xB5,0x32,}},
+ {0x4093,4,{0x82,0x32,0xB5,0x33,}},
+ {0x4094,4,{0x82,0x32,0xB5,0x34,}},
+ {0x4095,4,{0x82,0x32,0xB5,0x35,}},
+ {0x4096,4,{0x82,0x32,0xB5,0x36,}},
+ {0x4097,4,{0x82,0x32,0xB5,0x37,}},
+ {0x4098,4,{0x82,0x32,0xB5,0x38,}},
+ {0x4099,4,{0x82,0x32,0xB5,0x39,}},
+ {0x409A,4,{0x82,0x32,0xB6,0x30,}},
+ {0x409B,4,{0x82,0x32,0xB6,0x31,}},
+ {0x409C,4,{0x82,0x32,0xB6,0x32,}},
+ {0x409D,4,{0x82,0x32,0xB6,0x33,}},
+ {0x409E,4,{0x82,0x32,0xB6,0x34,}},
+ {0x409F,4,{0x82,0x32,0xB6,0x35,}},
+ {0x40A0,4,{0x82,0x32,0xB6,0x36,}},
+ {0x40A1,4,{0x82,0x32,0xB6,0x37,}},
+ {0x40A2,4,{0x82,0x32,0xB6,0x38,}},
+ {0x40A3,4,{0x82,0x32,0xB6,0x39,}},
+ {0x40A4,4,{0x82,0x32,0xB7,0x30,}},
+ {0x40A5,4,{0x82,0x32,0xB7,0x31,}},
+ {0x40A6,4,{0x82,0x32,0xB7,0x32,}},
+ {0x40A7,4,{0x82,0x32,0xB7,0x33,}},
+ {0x40A8,4,{0x82,0x32,0xB7,0x34,}},
+ {0x40A9,4,{0x82,0x32,0xB7,0x35,}},
+ {0x40AA,4,{0x82,0x32,0xB7,0x36,}},
+ {0x40AB,4,{0x82,0x32,0xB7,0x37,}},
+ {0x40AC,4,{0x82,0x32,0xB7,0x38,}},
+ {0x40AD,4,{0x82,0x32,0xB7,0x39,}},
+ {0x40AE,4,{0x82,0x32,0xB8,0x30,}},
+ {0x40AF,4,{0x82,0x32,0xB8,0x31,}},
+ {0x40B0,4,{0x82,0x32,0xB8,0x32,}},
+ {0x40B1,4,{0x82,0x32,0xB8,0x33,}},
+ {0x40B2,4,{0x82,0x32,0xB8,0x34,}},
+ {0x40B3,4,{0x82,0x32,0xB8,0x35,}},
+ {0x40B4,4,{0x82,0x32,0xB8,0x36,}},
+ {0x40B5,4,{0x82,0x32,0xB8,0x37,}},
+ {0x40B6,4,{0x82,0x32,0xB8,0x38,}},
+ {0x40B7,4,{0x82,0x32,0xB8,0x39,}},
+ {0x40B8,4,{0x82,0x32,0xB9,0x30,}},
+ {0x40B9,4,{0x82,0x32,0xB9,0x31,}},
+ {0x40BA,4,{0x82,0x32,0xB9,0x32,}},
+ {0x40BB,4,{0x82,0x32,0xB9,0x33,}},
+ {0x40BC,4,{0x82,0x32,0xB9,0x34,}},
+ {0x40BD,4,{0x82,0x32,0xB9,0x35,}},
+ {0x40BE,4,{0x82,0x32,0xB9,0x36,}},
+ {0x40BF,4,{0x82,0x32,0xB9,0x37,}},
+ {0x40C0,4,{0x82,0x32,0xB9,0x38,}},
+ {0x40C1,4,{0x82,0x32,0xB9,0x39,}},
+ {0x40C2,4,{0x82,0x32,0xBA,0x30,}},
+ {0x40C3,4,{0x82,0x32,0xBA,0x31,}},
+ {0x40C4,4,{0x82,0x32,0xBA,0x32,}},
+ {0x40C5,4,{0x82,0x32,0xBA,0x33,}},
+ {0x40C6,4,{0x82,0x32,0xBA,0x34,}},
+ {0x40C7,4,{0x82,0x32,0xBA,0x35,}},
+ {0x40C8,4,{0x82,0x32,0xBA,0x36,}},
+ {0x40C9,4,{0x82,0x32,0xBA,0x37,}},
+ {0x40CA,4,{0x82,0x32,0xBA,0x38,}},
+ {0x40CB,4,{0x82,0x32,0xBA,0x39,}},
+ {0x40CC,4,{0x82,0x32,0xBB,0x30,}},
+ {0x40CD,4,{0x82,0x32,0xBB,0x31,}},
+ {0x40CE,4,{0x82,0x32,0xBB,0x32,}},
+ {0x40CF,4,{0x82,0x32,0xBB,0x33,}},
+ {0x40D0,4,{0x82,0x32,0xBB,0x34,}},
+ {0x40D1,4,{0x82,0x32,0xBB,0x35,}},
+ {0x40D2,4,{0x82,0x32,0xBB,0x36,}},
+ {0x40D3,4,{0x82,0x32,0xBB,0x37,}},
+ {0x40D4,4,{0x82,0x32,0xBB,0x38,}},
+ {0x40D5,4,{0x82,0x32,0xBB,0x39,}},
+ {0x40D6,4,{0x82,0x32,0xBC,0x30,}},
+ {0x40D7,4,{0x82,0x32,0xBC,0x31,}},
+ {0x40D8,4,{0x82,0x32,0xBC,0x32,}},
+ {0x40D9,4,{0x82,0x32,0xBC,0x33,}},
+ {0x40DA,4,{0x82,0x32,0xBC,0x34,}},
+ {0x40DB,4,{0x82,0x32,0xBC,0x35,}},
+ {0x40DC,4,{0x82,0x32,0xBC,0x36,}},
+ {0x40DD,4,{0x82,0x32,0xBC,0x37,}},
+ {0x40DE,4,{0x82,0x32,0xBC,0x38,}},
+ {0x40DF,4,{0x82,0x32,0xBC,0x39,}},
+ {0x40E0,4,{0x82,0x32,0xBD,0x30,}},
+ {0x40E1,4,{0x82,0x32,0xBD,0x31,}},
+ {0x40E2,4,{0x82,0x32,0xBD,0x32,}},
+ {0x40E3,4,{0x82,0x32,0xBD,0x33,}},
+ {0x40E4,4,{0x82,0x32,0xBD,0x34,}},
+ {0x40E5,4,{0x82,0x32,0xBD,0x35,}},
+ {0x40E6,4,{0x82,0x32,0xBD,0x36,}},
+ {0x40E7,4,{0x82,0x32,0xBD,0x37,}},
+ {0x40E8,4,{0x82,0x32,0xBD,0x38,}},
+ {0x40E9,4,{0x82,0x32,0xBD,0x39,}},
+ {0x40EA,4,{0x82,0x32,0xBE,0x30,}},
+ {0x40EB,4,{0x82,0x32,0xBE,0x31,}},
+ {0x40EC,4,{0x82,0x32,0xBE,0x32,}},
+ {0x40ED,4,{0x82,0x32,0xBE,0x33,}},
+ {0x40EE,4,{0x82,0x32,0xBE,0x34,}},
+ {0x40EF,4,{0x82,0x32,0xBE,0x35,}},
+ {0x40F0,4,{0x82,0x32,0xBE,0x36,}},
+ {0x40F1,4,{0x82,0x32,0xBE,0x37,}},
+ {0x40F2,4,{0x82,0x32,0xBE,0x38,}},
+ {0x40F3,4,{0x82,0x32,0xBE,0x39,}},
+ {0x40F4,4,{0x82,0x32,0xBF,0x30,}},
+ {0x40F5,4,{0x82,0x32,0xBF,0x31,}},
+ {0x40F6,4,{0x82,0x32,0xBF,0x32,}},
+ {0x40F7,4,{0x82,0x32,0xBF,0x33,}},
+ {0x40F8,4,{0x82,0x32,0xBF,0x34,}},
+ {0x40F9,4,{0x82,0x32,0xBF,0x35,}},
+ {0x40FA,4,{0x82,0x32,0xBF,0x36,}},
+ {0x40FB,4,{0x82,0x32,0xBF,0x37,}},
+ {0x40FC,4,{0x82,0x32,0xBF,0x38,}},
+ {0x40FD,4,{0x82,0x32,0xBF,0x39,}},
+ {0x40FE,4,{0x82,0x32,0xC0,0x30,}},
+ {0x40FF,4,{0x82,0x32,0xC0,0x31,}},
+ {0x4100,4,{0x82,0x32,0xC0,0x32,}},
+ {0x4101,4,{0x82,0x32,0xC0,0x33,}},
+ {0x4102,4,{0x82,0x32,0xC0,0x34,}},
+ {0x4103,4,{0x82,0x32,0xC0,0x35,}},
+ {0x4104,4,{0x82,0x32,0xC0,0x36,}},
+ {0x4105,4,{0x82,0x32,0xC0,0x37,}},
+ {0x4106,4,{0x82,0x32,0xC0,0x38,}},
+ {0x4107,4,{0x82,0x32,0xC0,0x39,}},
+ {0x4108,4,{0x82,0x32,0xC1,0x30,}},
+ {0x4109,4,{0x82,0x32,0xC1,0x31,}},
+ {0x410A,4,{0x82,0x32,0xC1,0x32,}},
+ {0x410B,4,{0x82,0x32,0xC1,0x33,}},
+ {0x410C,4,{0x82,0x32,0xC1,0x34,}},
+ {0x410D,4,{0x82,0x32,0xC1,0x35,}},
+ {0x410E,4,{0x82,0x32,0xC1,0x36,}},
+ {0x410F,4,{0x82,0x32,0xC1,0x37,}},
+ {0x4110,4,{0x82,0x32,0xC1,0x38,}},
+ {0x4111,4,{0x82,0x32,0xC1,0x39,}},
+ {0x4112,4,{0x82,0x32,0xC2,0x30,}},
+ {0x4113,4,{0x82,0x32,0xC2,0x31,}},
+ {0x4114,4,{0x82,0x32,0xC2,0x32,}},
+ {0x4115,4,{0x82,0x32,0xC2,0x33,}},
+ {0x4116,4,{0x82,0x32,0xC2,0x34,}},
+ {0x4117,4,{0x82,0x32,0xC2,0x35,}},
+ {0x4118,4,{0x82,0x32,0xC2,0x36,}},
+ {0x4119,4,{0x82,0x32,0xC2,0x37,}},
+ {0x411A,4,{0x82,0x32,0xC2,0x38,}},
+ {0x411B,4,{0x82,0x32,0xC2,0x39,}},
+ {0x411C,4,{0x82,0x32,0xC3,0x30,}},
+ {0x411D,4,{0x82,0x32,0xC3,0x31,}},
+ {0x411E,4,{0x82,0x32,0xC3,0x32,}},
+ {0x411F,4,{0x82,0x32,0xC3,0x33,}},
+ {0x4120,4,{0x82,0x32,0xC3,0x34,}},
+ {0x4121,4,{0x82,0x32,0xC3,0x35,}},
+ {0x4122,4,{0x82,0x32,0xC3,0x36,}},
+ {0x4123,4,{0x82,0x32,0xC3,0x37,}},
+ {0x4124,4,{0x82,0x32,0xC3,0x38,}},
+ {0x4125,4,{0x82,0x32,0xC3,0x39,}},
+ {0x4126,4,{0x82,0x32,0xC4,0x30,}},
+ {0x4127,4,{0x82,0x32,0xC4,0x31,}},
+ {0x4128,4,{0x82,0x32,0xC4,0x32,}},
+ {0x4129,4,{0x82,0x32,0xC4,0x33,}},
+ {0x412A,4,{0x82,0x32,0xC4,0x34,}},
+ {0x412B,4,{0x82,0x32,0xC4,0x35,}},
+ {0x412C,4,{0x82,0x32,0xC4,0x36,}},
+ {0x412D,4,{0x82,0x32,0xC4,0x37,}},
+ {0x412E,4,{0x82,0x32,0xC4,0x38,}},
+ {0x412F,4,{0x82,0x32,0xC4,0x39,}},
+ {0x4130,4,{0x82,0x32,0xC5,0x30,}},
+ {0x4131,4,{0x82,0x32,0xC5,0x31,}},
+ {0x4132,4,{0x82,0x32,0xC5,0x32,}},
+ {0x4133,4,{0x82,0x32,0xC5,0x33,}},
+ {0x4134,4,{0x82,0x32,0xC5,0x34,}},
+ {0x4135,4,{0x82,0x32,0xC5,0x35,}},
+ {0x4136,4,{0x82,0x32,0xC5,0x36,}},
+ {0x4137,4,{0x82,0x32,0xC5,0x37,}},
+ {0x4138,4,{0x82,0x32,0xC5,0x38,}},
+ {0x4139,4,{0x82,0x32,0xC5,0x39,}},
+ {0x413A,4,{0x82,0x32,0xC6,0x30,}},
+ {0x413B,4,{0x82,0x32,0xC6,0x31,}},
+ {0x413C,4,{0x82,0x32,0xC6,0x32,}},
+ {0x413D,4,{0x82,0x32,0xC6,0x33,}},
+ {0x413E,4,{0x82,0x32,0xC6,0x34,}},
+ {0x413F,4,{0x82,0x32,0xC6,0x35,}},
+ {0x4140,4,{0x82,0x32,0xC6,0x36,}},
+ {0x4141,4,{0x82,0x32,0xC6,0x37,}},
+ {0x4142,4,{0x82,0x32,0xC6,0x38,}},
+ {0x4143,4,{0x82,0x32,0xC6,0x39,}},
+ {0x4144,4,{0x82,0x32,0xC7,0x30,}},
+ {0x4145,4,{0x82,0x32,0xC7,0x31,}},
+ {0x4146,4,{0x82,0x32,0xC7,0x32,}},
+ {0x4147,4,{0x82,0x32,0xC7,0x33,}},
+ {0x4148,4,{0x82,0x32,0xC7,0x34,}},
+ {0x4149,4,{0x82,0x32,0xC7,0x35,}},
+ {0x414A,4,{0x82,0x32,0xC7,0x36,}},
+ {0x414B,4,{0x82,0x32,0xC7,0x37,}},
+ {0x414C,4,{0x82,0x32,0xC7,0x38,}},
+ {0x414D,4,{0x82,0x32,0xC7,0x39,}},
+ {0x414E,4,{0x82,0x32,0xC8,0x30,}},
+ {0x414F,4,{0x82,0x32,0xC8,0x31,}},
+ {0x4150,4,{0x82,0x32,0xC8,0x32,}},
+ {0x4151,4,{0x82,0x32,0xC8,0x33,}},
+ {0x4152,4,{0x82,0x32,0xC8,0x34,}},
+ {0x4153,4,{0x82,0x32,0xC8,0x35,}},
+ {0x4154,4,{0x82,0x32,0xC8,0x36,}},
+ {0x4155,4,{0x82,0x32,0xC8,0x37,}},
+ {0x4156,4,{0x82,0x32,0xC8,0x38,}},
+ {0x4157,4,{0x82,0x32,0xC8,0x39,}},
+ {0x4158,4,{0x82,0x32,0xC9,0x30,}},
+ {0x4159,4,{0x82,0x32,0xC9,0x31,}},
+ {0x415A,4,{0x82,0x32,0xC9,0x32,}},
+ {0x415B,4,{0x82,0x32,0xC9,0x33,}},
+ {0x415C,4,{0x82,0x32,0xC9,0x34,}},
+ {0x415D,4,{0x82,0x32,0xC9,0x35,}},
+ {0x415E,4,{0x82,0x32,0xC9,0x36,}},
+ {0x415F,2,{0xFE,0x70,0x00,0x00,}},
+ {0x4337,2,{0xFE,0x72,0x00,0x00,}},
+ {0x4338,4,{0x82,0x32,0xF8,0x38,}},
+ {0x4339,4,{0x82,0x32,0xF8,0x39,}},
+ {0x433A,4,{0x82,0x32,0xF9,0x30,}},
+ {0x433B,4,{0x82,0x32,0xF9,0x31,}},
+ {0x433C,4,{0x82,0x32,0xF9,0x32,}},
+ {0x433D,4,{0x82,0x32,0xF9,0x33,}},
+ {0x433E,4,{0x82,0x32,0xF9,0x34,}},
+ {0x433F,4,{0x82,0x32,0xF9,0x35,}},
+ {0x4340,4,{0x82,0x32,0xF9,0x36,}},
+ {0x4341,4,{0x82,0x32,0xF9,0x37,}},
+ {0x4342,4,{0x82,0x32,0xF9,0x38,}},
+ {0x4343,4,{0x82,0x32,0xF9,0x39,}},
+ {0x4344,4,{0x82,0x32,0xFA,0x30,}},
+ {0x4345,4,{0x82,0x32,0xFA,0x31,}},
+ {0x4346,4,{0x82,0x32,0xFA,0x32,}},
+ {0x4347,4,{0x82,0x32,0xFA,0x33,}},
+ {0x4348,4,{0x82,0x32,0xFA,0x34,}},
+ {0x4349,4,{0x82,0x32,0xFA,0x35,}},
+ {0x434A,4,{0x82,0x32,0xFA,0x36,}},
+ {0x434B,4,{0x82,0x32,0xFA,0x37,}},
+ {0x434C,4,{0x82,0x32,0xFA,0x38,}},
+ {0x434D,4,{0x82,0x32,0xFA,0x39,}},
+ {0x434E,4,{0x82,0x32,0xFB,0x30,}},
+ {0x434F,4,{0x82,0x32,0xFB,0x31,}},
+ {0x4350,4,{0x82,0x32,0xFB,0x32,}},
+ {0x4351,4,{0x82,0x32,0xFB,0x33,}},
+ {0x4352,4,{0x82,0x32,0xFB,0x34,}},
+ {0x4353,4,{0x82,0x32,0xFB,0x35,}},
+ {0x4354,4,{0x82,0x32,0xFB,0x36,}},
+ {0x4355,4,{0x82,0x32,0xFB,0x37,}},
+ {0x4356,4,{0x82,0x32,0xFB,0x38,}},
+ {0x4357,4,{0x82,0x32,0xFB,0x39,}},
+ {0x4358,4,{0x82,0x32,0xFC,0x30,}},
+ {0x4359,4,{0x82,0x32,0xFC,0x31,}},
+ {0x435A,4,{0x82,0x32,0xFC,0x32,}},
+ {0x435B,4,{0x82,0x32,0xFC,0x33,}},
+ {0x435C,4,{0x82,0x32,0xFC,0x34,}},
+ {0x435D,4,{0x82,0x32,0xFC,0x35,}},
+ {0x435E,4,{0x82,0x32,0xFC,0x36,}},
+ {0x435F,4,{0x82,0x32,0xFC,0x37,}},
+ {0x4360,4,{0x82,0x32,0xFC,0x38,}},
+ {0x4361,4,{0x82,0x32,0xFC,0x39,}},
+ {0x4362,4,{0x82,0x32,0xFD,0x30,}},
+ {0x4363,4,{0x82,0x32,0xFD,0x31,}},
+ {0x4364,4,{0x82,0x32,0xFD,0x32,}},
+ {0x4365,4,{0x82,0x32,0xFD,0x33,}},
+ {0x4366,4,{0x82,0x32,0xFD,0x34,}},
+ {0x4367,4,{0x82,0x32,0xFD,0x35,}},
+ {0x4368,4,{0x82,0x32,0xFD,0x36,}},
+ {0x4369,4,{0x82,0x32,0xFD,0x37,}},
+ {0x436A,4,{0x82,0x32,0xFD,0x38,}},
+ {0x436B,4,{0x82,0x32,0xFD,0x39,}},
+ {0x436C,4,{0x82,0x32,0xFE,0x30,}},
+ {0x436D,4,{0x82,0x32,0xFE,0x31,}},
+ {0x436E,4,{0x82,0x32,0xFE,0x32,}},
+ {0x436F,4,{0x82,0x32,0xFE,0x33,}},
+ {0x4370,4,{0x82,0x32,0xFE,0x34,}},
+ {0x4371,4,{0x82,0x32,0xFE,0x35,}},
+ {0x4372,4,{0x82,0x32,0xFE,0x36,}},
+ {0x4373,4,{0x82,0x32,0xFE,0x37,}},
+ {0x4374,4,{0x82,0x32,0xFE,0x38,}},
+ {0x4375,4,{0x82,0x32,0xFE,0x39,}},
+ {0x4376,4,{0x82,0x33,0x81,0x30,}},
+ {0x4377,4,{0x82,0x33,0x81,0x31,}},
+ {0x4378,4,{0x82,0x33,0x81,0x32,}},
+ {0x4379,4,{0x82,0x33,0x81,0x33,}},
+ {0x437A,4,{0x82,0x33,0x81,0x34,}},
+ {0x437B,4,{0x82,0x33,0x81,0x35,}},
+ {0x437C,4,{0x82,0x33,0x81,0x36,}},
+ {0x437D,4,{0x82,0x33,0x81,0x37,}},
+ {0x437E,4,{0x82,0x33,0x81,0x38,}},
+ {0x437F,4,{0x82,0x33,0x81,0x39,}},
+ {0x4380,4,{0x82,0x33,0x82,0x30,}},
+ {0x4381,4,{0x82,0x33,0x82,0x31,}},
+ {0x4382,4,{0x82,0x33,0x82,0x32,}},
+ {0x4383,4,{0x82,0x33,0x82,0x33,}},
+ {0x4384,4,{0x82,0x33,0x82,0x34,}},
+ {0x4385,4,{0x82,0x33,0x82,0x35,}},
+ {0x4386,4,{0x82,0x33,0x82,0x36,}},
+ {0x4387,4,{0x82,0x33,0x82,0x37,}},
+ {0x4388,4,{0x82,0x33,0x82,0x38,}},
+ {0x4389,4,{0x82,0x33,0x82,0x39,}},
+ {0x438A,4,{0x82,0x33,0x83,0x30,}},
+ {0x438B,4,{0x82,0x33,0x83,0x31,}},
+ {0x438C,4,{0x82,0x33,0x83,0x32,}},
+ {0x438D,4,{0x82,0x33,0x83,0x33,}},
+ {0x438E,4,{0x82,0x33,0x83,0x34,}},
+ {0x438F,4,{0x82,0x33,0x83,0x35,}},
+ {0x4390,4,{0x82,0x33,0x83,0x36,}},
+ {0x4391,4,{0x82,0x33,0x83,0x37,}},
+ {0x4392,4,{0x82,0x33,0x83,0x38,}},
+ {0x4393,4,{0x82,0x33,0x83,0x39,}},
+ {0x4394,4,{0x82,0x33,0x84,0x30,}},
+ {0x4395,4,{0x82,0x33,0x84,0x31,}},
+ {0x4396,4,{0x82,0x33,0x84,0x32,}},
+ {0x4397,4,{0x82,0x33,0x84,0x33,}},
+ {0x4398,4,{0x82,0x33,0x84,0x34,}},
+ {0x4399,4,{0x82,0x33,0x84,0x35,}},
+ {0x439A,4,{0x82,0x33,0x84,0x36,}},
+ {0x439B,4,{0x82,0x33,0x84,0x37,}},
+ {0x439C,4,{0x82,0x33,0x84,0x38,}},
+ {0x439D,4,{0x82,0x33,0x84,0x39,}},
+ {0x439E,4,{0x82,0x33,0x85,0x30,}},
+ {0x439F,4,{0x82,0x33,0x85,0x31,}},
+ {0x43A0,4,{0x82,0x33,0x85,0x32,}},
+ {0x43A1,4,{0x82,0x33,0x85,0x33,}},
+ {0x43A2,4,{0x82,0x33,0x85,0x34,}},
+ {0x43A3,4,{0x82,0x33,0x85,0x35,}},
+ {0x43A4,4,{0x82,0x33,0x85,0x36,}},
+ {0x43A5,4,{0x82,0x33,0x85,0x37,}},
+ {0x43A6,4,{0x82,0x33,0x85,0x38,}},
+ {0x43A7,4,{0x82,0x33,0x85,0x39,}},
+ {0x43A8,4,{0x82,0x33,0x86,0x30,}},
+ {0x43A9,4,{0x82,0x33,0x86,0x31,}},
+ {0x43AA,4,{0x82,0x33,0x86,0x32,}},
+ {0x43AB,4,{0x82,0x33,0x86,0x33,}},
+ {0x43AC,2,{0xFE,0x78,0x00,0x00,}},
+ {0x43AD,4,{0x82,0x33,0x86,0x34,}},
+ {0x43AE,4,{0x82,0x33,0x86,0x35,}},
+ {0x43AF,4,{0x82,0x33,0x86,0x36,}},
+ {0x43B0,4,{0x82,0x33,0x86,0x37,}},
+ {0x43B1,2,{0xFE,0x77,0x00,0x00,}},
+ {0x43B2,4,{0x82,0x33,0x86,0x38,}},
+ {0x43B3,4,{0x82,0x33,0x86,0x39,}},
+ {0x43B4,4,{0x82,0x33,0x87,0x30,}},
+ {0x43B5,4,{0x82,0x33,0x87,0x31,}},
+ {0x43B6,4,{0x82,0x33,0x87,0x32,}},
+ {0x43B7,4,{0x82,0x33,0x87,0x33,}},
+ {0x43B8,4,{0x82,0x33,0x87,0x34,}},
+ {0x43B9,4,{0x82,0x33,0x87,0x35,}},
+ {0x43BA,4,{0x82,0x33,0x87,0x36,}},
+ {0x43BB,4,{0x82,0x33,0x87,0x37,}},
+ {0x43BC,4,{0x82,0x33,0x87,0x38,}},
+ {0x43BD,4,{0x82,0x33,0x87,0x39,}},
+ {0x43BE,4,{0x82,0x33,0x88,0x30,}},
+ {0x43BF,4,{0x82,0x33,0x88,0x31,}},
+ {0x43C0,4,{0x82,0x33,0x88,0x32,}},
+ {0x43C1,4,{0x82,0x33,0x88,0x33,}},
+ {0x43C2,4,{0x82,0x33,0x88,0x34,}},
+ {0x43C3,4,{0x82,0x33,0x88,0x35,}},
+ {0x43C4,4,{0x82,0x33,0x88,0x36,}},
+ {0x43C5,4,{0x82,0x33,0x88,0x37,}},
+ {0x43C6,4,{0x82,0x33,0x88,0x38,}},
+ {0x43C7,4,{0x82,0x33,0x88,0x39,}},
+ {0x43C8,4,{0x82,0x33,0x89,0x30,}},
+ {0x43C9,4,{0x82,0x33,0x89,0x31,}},
+ {0x43CA,4,{0x82,0x33,0x89,0x32,}},
+ {0x43CB,4,{0x82,0x33,0x89,0x33,}},
+ {0x43CC,4,{0x82,0x33,0x89,0x34,}},
+ {0x43CD,4,{0x82,0x33,0x89,0x35,}},
+ {0x43CE,4,{0x82,0x33,0x89,0x36,}},
+ {0x43CF,4,{0x82,0x33,0x89,0x37,}},
+ {0x43D0,4,{0x82,0x33,0x89,0x38,}},
+ {0x43D1,4,{0x82,0x33,0x89,0x39,}},
+ {0x43D2,4,{0x82,0x33,0x8A,0x30,}},
+ {0x43D3,4,{0x82,0x33,0x8A,0x31,}},
+ {0x43D4,4,{0x82,0x33,0x8A,0x32,}},
+ {0x43D5,4,{0x82,0x33,0x8A,0x33,}},
+ {0x43D6,4,{0x82,0x33,0x8A,0x34,}},
+ {0x43D7,4,{0x82,0x33,0x8A,0x35,}},
+ {0x43D8,4,{0x82,0x33,0x8A,0x36,}},
+ {0x43D9,4,{0x82,0x33,0x8A,0x37,}},
+ {0x43DA,4,{0x82,0x33,0x8A,0x38,}},
+ {0x43DB,4,{0x82,0x33,0x8A,0x39,}},
+ {0x43DC,4,{0x82,0x33,0x8B,0x30,}},
+ {0x43DD,2,{0xFE,0x7A,0x00,0x00,}},
+ {0x43DE,4,{0x82,0x33,0x8B,0x31,}},
+ {0x43DF,4,{0x82,0x33,0x8B,0x32,}},
+ {0x43E0,4,{0x82,0x33,0x8B,0x33,}},
+ {0x43E1,4,{0x82,0x33,0x8B,0x34,}},
+ {0x43E2,4,{0x82,0x33,0x8B,0x35,}},
+ {0x43E3,4,{0x82,0x33,0x8B,0x36,}},
+ {0x43E4,4,{0x82,0x33,0x8B,0x37,}},
+ {0x43E5,4,{0x82,0x33,0x8B,0x38,}},
+ {0x43E6,4,{0x82,0x33,0x8B,0x39,}},
+ {0x43E7,4,{0x82,0x33,0x8C,0x30,}},
+ {0x43E8,4,{0x82,0x33,0x8C,0x31,}},
+ {0x43E9,4,{0x82,0x33,0x8C,0x32,}},
+ {0x43EA,4,{0x82,0x33,0x8C,0x33,}},
+ {0x43EB,4,{0x82,0x33,0x8C,0x34,}},
+ {0x43EC,4,{0x82,0x33,0x8C,0x35,}},
+ {0x43ED,4,{0x82,0x33,0x8C,0x36,}},
+ {0x43EE,4,{0x82,0x33,0x8C,0x37,}},
+ {0x43EF,4,{0x82,0x33,0x8C,0x38,}},
+ {0x43F0,4,{0x82,0x33,0x8C,0x39,}},
+ {0x43F1,4,{0x82,0x33,0x8D,0x30,}},
+ {0x43F2,4,{0x82,0x33,0x8D,0x31,}},
+ {0x43F3,4,{0x82,0x33,0x8D,0x32,}},
+ {0x43F4,4,{0x82,0x33,0x8D,0x33,}},
+ {0x43F5,4,{0x82,0x33,0x8D,0x34,}},
+ {0x43F6,4,{0x82,0x33,0x8D,0x35,}},
+ {0x43F7,4,{0x82,0x33,0x8D,0x36,}},
+ {0x43F8,4,{0x82,0x33,0x8D,0x37,}},
+ {0x43F9,4,{0x82,0x33,0x8D,0x38,}},
+ {0x43FA,4,{0x82,0x33,0x8D,0x39,}},
+ {0x43FB,4,{0x82,0x33,0x8E,0x30,}},
+ {0x43FC,4,{0x82,0x33,0x8E,0x31,}},
+ {0x43FD,4,{0x82,0x33,0x8E,0x32,}},
+ {0x43FE,4,{0x82,0x33,0x8E,0x33,}},
+ {0x43FF,4,{0x82,0x33,0x8E,0x34,}},
+ {0x4400,4,{0x82,0x33,0x8E,0x35,}},
+ {0x4401,4,{0x82,0x33,0x8E,0x36,}},
+ {0x4402,4,{0x82,0x33,0x8E,0x37,}},
+ {0x4403,4,{0x82,0x33,0x8E,0x38,}},
+ {0x4404,4,{0x82,0x33,0x8E,0x39,}},
+ {0x4405,4,{0x82,0x33,0x8F,0x30,}},
+ {0x4406,4,{0x82,0x33,0x8F,0x31,}},
+ {0x4407,4,{0x82,0x33,0x8F,0x32,}},
+ {0x4408,4,{0x82,0x33,0x8F,0x33,}},
+ {0x4409,4,{0x82,0x33,0x8F,0x34,}},
+ {0x440A,4,{0x82,0x33,0x8F,0x35,}},
+ {0x440B,4,{0x82,0x33,0x8F,0x36,}},
+ {0x440C,4,{0x82,0x33,0x8F,0x37,}},
+ {0x440D,4,{0x82,0x33,0x8F,0x38,}},
+ {0x440E,4,{0x82,0x33,0x8F,0x39,}},
+ {0x440F,4,{0x82,0x33,0x90,0x30,}},
+ {0x4410,4,{0x82,0x33,0x90,0x31,}},
+ {0x4411,4,{0x82,0x33,0x90,0x32,}},
+ {0x4412,4,{0x82,0x33,0x90,0x33,}},
+ {0x4413,4,{0x82,0x33,0x90,0x34,}},
+ {0x4414,4,{0x82,0x33,0x90,0x35,}},
+ {0x4415,4,{0x82,0x33,0x90,0x36,}},
+ {0x4416,4,{0x82,0x33,0x90,0x37,}},
+ {0x4417,4,{0x82,0x33,0x90,0x38,}},
+ {0x4418,4,{0x82,0x33,0x90,0x39,}},
+ {0x4419,4,{0x82,0x33,0x91,0x30,}},
+ {0x441A,4,{0x82,0x33,0x91,0x31,}},
+ {0x441B,4,{0x82,0x33,0x91,0x32,}},
+ {0x441C,4,{0x82,0x33,0x91,0x33,}},
+ {0x441D,4,{0x82,0x33,0x91,0x34,}},
+ {0x441E,4,{0x82,0x33,0x91,0x35,}},
+ {0x441F,4,{0x82,0x33,0x91,0x36,}},
+ {0x4420,4,{0x82,0x33,0x91,0x37,}},
+ {0x4421,4,{0x82,0x33,0x91,0x38,}},
+ {0x4422,4,{0x82,0x33,0x91,0x39,}},
+ {0x4423,4,{0x82,0x33,0x92,0x30,}},
+ {0x4424,4,{0x82,0x33,0x92,0x31,}},
+ {0x4425,4,{0x82,0x33,0x92,0x32,}},
+ {0x4426,4,{0x82,0x33,0x92,0x33,}},
+ {0x4427,4,{0x82,0x33,0x92,0x34,}},
+ {0x4428,4,{0x82,0x33,0x92,0x35,}},
+ {0x4429,4,{0x82,0x33,0x92,0x36,}},
+ {0x442A,4,{0x82,0x33,0x92,0x37,}},
+ {0x442B,4,{0x82,0x33,0x92,0x38,}},
+ {0x442C,4,{0x82,0x33,0x92,0x39,}},
+ {0x442D,4,{0x82,0x33,0x93,0x30,}},
+ {0x442E,4,{0x82,0x33,0x93,0x31,}},
+ {0x442F,4,{0x82,0x33,0x93,0x32,}},
+ {0x4430,4,{0x82,0x33,0x93,0x33,}},
+ {0x4431,4,{0x82,0x33,0x93,0x34,}},
+ {0x4432,4,{0x82,0x33,0x93,0x35,}},
+ {0x4433,4,{0x82,0x33,0x93,0x36,}},
+ {0x4434,4,{0x82,0x33,0x93,0x37,}},
+ {0x4435,4,{0x82,0x33,0x93,0x38,}},
+ {0x4436,4,{0x82,0x33,0x93,0x39,}},
+ {0x4437,4,{0x82,0x33,0x94,0x30,}},
+ {0x4438,4,{0x82,0x33,0x94,0x31,}},
+ {0x4439,4,{0x82,0x33,0x94,0x32,}},
+ {0x443A,4,{0x82,0x33,0x94,0x33,}},
+ {0x443B,4,{0x82,0x33,0x94,0x34,}},
+ {0x443C,4,{0x82,0x33,0x94,0x35,}},
+ {0x443D,4,{0x82,0x33,0x94,0x36,}},
+ {0x443E,4,{0x82,0x33,0x94,0x37,}},
+ {0x443F,4,{0x82,0x33,0x94,0x38,}},
+ {0x4440,4,{0x82,0x33,0x94,0x39,}},
+ {0x4441,4,{0x82,0x33,0x95,0x30,}},
+ {0x4442,4,{0x82,0x33,0x95,0x31,}},
+ {0x4443,4,{0x82,0x33,0x95,0x32,}},
+ {0x4444,4,{0x82,0x33,0x95,0x33,}},
+ {0x4445,4,{0x82,0x33,0x95,0x34,}},
+ {0x4446,4,{0x82,0x33,0x95,0x35,}},
+ {0x4447,4,{0x82,0x33,0x95,0x36,}},
+ {0x4448,4,{0x82,0x33,0x95,0x37,}},
+ {0x4449,4,{0x82,0x33,0x95,0x38,}},
+ {0x444A,4,{0x82,0x33,0x95,0x39,}},
+ {0x444B,4,{0x82,0x33,0x96,0x30,}},
+ {0x444C,4,{0x82,0x33,0x96,0x31,}},
+ {0x444D,4,{0x82,0x33,0x96,0x32,}},
+ {0x444E,4,{0x82,0x33,0x96,0x33,}},
+ {0x444F,4,{0x82,0x33,0x96,0x34,}},
+ {0x4450,4,{0x82,0x33,0x96,0x35,}},
+ {0x4451,4,{0x82,0x33,0x96,0x36,}},
+ {0x4452,4,{0x82,0x33,0x96,0x37,}},
+ {0x4453,4,{0x82,0x33,0x96,0x38,}},
+ {0x4454,4,{0x82,0x33,0x96,0x39,}},
+ {0x4455,4,{0x82,0x33,0x97,0x30,}},
+ {0x4456,4,{0x82,0x33,0x97,0x31,}},
+ {0x4457,4,{0x82,0x33,0x97,0x32,}},
+ {0x4458,4,{0x82,0x33,0x97,0x33,}},
+ {0x4459,4,{0x82,0x33,0x97,0x34,}},
+ {0x445A,4,{0x82,0x33,0x97,0x35,}},
+ {0x445B,4,{0x82,0x33,0x97,0x36,}},
+ {0x445C,4,{0x82,0x33,0x97,0x37,}},
+ {0x445D,4,{0x82,0x33,0x97,0x38,}},
+ {0x445E,4,{0x82,0x33,0x97,0x39,}},
+ {0x445F,4,{0x82,0x33,0x98,0x30,}},
+ {0x4460,4,{0x82,0x33,0x98,0x31,}},
+ {0x4461,4,{0x82,0x33,0x98,0x32,}},
+ {0x4462,4,{0x82,0x33,0x98,0x33,}},
+ {0x4463,4,{0x82,0x33,0x98,0x34,}},
+ {0x4464,4,{0x82,0x33,0x98,0x35,}},
+ {0x4465,4,{0x82,0x33,0x98,0x36,}},
+ {0x4466,4,{0x82,0x33,0x98,0x37,}},
+ {0x4467,4,{0x82,0x33,0x98,0x38,}},
+ {0x4468,4,{0x82,0x33,0x98,0x39,}},
+ {0x4469,4,{0x82,0x33,0x99,0x30,}},
+ {0x446A,4,{0x82,0x33,0x99,0x31,}},
+ {0x446B,4,{0x82,0x33,0x99,0x32,}},
+ {0x446C,4,{0x82,0x33,0x99,0x33,}},
+ {0x446D,4,{0x82,0x33,0x99,0x34,}},
+ {0x446E,4,{0x82,0x33,0x99,0x35,}},
+ {0x446F,4,{0x82,0x33,0x99,0x36,}},
+ {0x4470,4,{0x82,0x33,0x99,0x37,}},
+ {0x4471,4,{0x82,0x33,0x99,0x38,}},
+ {0x4472,4,{0x82,0x33,0x99,0x39,}},
+ {0x4473,4,{0x82,0x33,0x9A,0x30,}},
+ {0x4474,4,{0x82,0x33,0x9A,0x31,}},
+ {0x4475,4,{0x82,0x33,0x9A,0x32,}},
+ {0x4476,4,{0x82,0x33,0x9A,0x33,}},
+ {0x4477,4,{0x82,0x33,0x9A,0x34,}},
+ {0x4478,4,{0x82,0x33,0x9A,0x35,}},
+ {0x4479,4,{0x82,0x33,0x9A,0x36,}},
+ {0x447A,4,{0x82,0x33,0x9A,0x37,}},
+ {0x447B,4,{0x82,0x33,0x9A,0x38,}},
+ {0x447C,4,{0x82,0x33,0x9A,0x39,}},
+ {0x447D,4,{0x82,0x33,0x9B,0x30,}},
+ {0x447E,4,{0x82,0x33,0x9B,0x31,}},
+ {0x447F,4,{0x82,0x33,0x9B,0x32,}},
+ {0x4480,4,{0x82,0x33,0x9B,0x33,}},
+ {0x4481,4,{0x82,0x33,0x9B,0x34,}},
+ {0x4482,4,{0x82,0x33,0x9B,0x35,}},
+ {0x4483,4,{0x82,0x33,0x9B,0x36,}},
+ {0x4484,4,{0x82,0x33,0x9B,0x37,}},
+ {0x4485,4,{0x82,0x33,0x9B,0x38,}},
+ {0x4486,4,{0x82,0x33,0x9B,0x39,}},
+ {0x4487,4,{0x82,0x33,0x9C,0x30,}},
+ {0x4488,4,{0x82,0x33,0x9C,0x31,}},
+ {0x4489,4,{0x82,0x33,0x9C,0x32,}},
+ {0x448A,4,{0x82,0x33,0x9C,0x33,}},
+ {0x448B,4,{0x82,0x33,0x9C,0x34,}},
+ {0x448C,4,{0x82,0x33,0x9C,0x35,}},
+ {0x448D,4,{0x82,0x33,0x9C,0x36,}},
+ {0x448E,4,{0x82,0x33,0x9C,0x37,}},
+ {0x448F,4,{0x82,0x33,0x9C,0x38,}},
+ {0x4490,4,{0x82,0x33,0x9C,0x39,}},
+ {0x4491,4,{0x82,0x33,0x9D,0x30,}},
+ {0x4492,4,{0x82,0x33,0x9D,0x31,}},
+ {0x4493,4,{0x82,0x33,0x9D,0x32,}},
+ {0x4494,4,{0x82,0x33,0x9D,0x33,}},
+ {0x4495,4,{0x82,0x33,0x9D,0x34,}},
+ {0x4496,4,{0x82,0x33,0x9D,0x35,}},
+ {0x4497,4,{0x82,0x33,0x9D,0x36,}},
+ {0x4498,4,{0x82,0x33,0x9D,0x37,}},
+ {0x4499,4,{0x82,0x33,0x9D,0x38,}},
+ {0x449A,4,{0x82,0x33,0x9D,0x39,}},
+ {0x449B,4,{0x82,0x33,0x9E,0x30,}},
+ {0x449C,4,{0x82,0x33,0x9E,0x31,}},
+ {0x449D,4,{0x82,0x33,0x9E,0x32,}},
+ {0x449E,4,{0x82,0x33,0x9E,0x33,}},
+ {0x449F,4,{0x82,0x33,0x9E,0x34,}},
+ {0x44A0,4,{0x82,0x33,0x9E,0x35,}},
+ {0x44A1,4,{0x82,0x33,0x9E,0x36,}},
+ {0x44A2,4,{0x82,0x33,0x9E,0x37,}},
+ {0x44A3,4,{0x82,0x33,0x9E,0x38,}},
+ {0x44A4,4,{0x82,0x33,0x9E,0x39,}},
+ {0x44A5,4,{0x82,0x33,0x9F,0x30,}},
+ {0x44A6,4,{0x82,0x33,0x9F,0x31,}},
+ {0x44A7,4,{0x82,0x33,0x9F,0x32,}},
+ {0x44A8,4,{0x82,0x33,0x9F,0x33,}},
+ {0x44A9,4,{0x82,0x33,0x9F,0x34,}},
+ {0x44AA,4,{0x82,0x33,0x9F,0x35,}},
+ {0x44AB,4,{0x82,0x33,0x9F,0x36,}},
+ {0x44AC,4,{0x82,0x33,0x9F,0x37,}},
+ {0x44AD,4,{0x82,0x33,0x9F,0x38,}},
+ {0x44AE,4,{0x82,0x33,0x9F,0x39,}},
+ {0x44AF,4,{0x82,0x33,0xA0,0x30,}},
+ {0x44B0,4,{0x82,0x33,0xA0,0x31,}},
+ {0x44B1,4,{0x82,0x33,0xA0,0x32,}},
+ {0x44B2,4,{0x82,0x33,0xA0,0x33,}},
+ {0x44B3,4,{0x82,0x33,0xA0,0x34,}},
+ {0x44B4,4,{0x82,0x33,0xA0,0x35,}},
+ {0x44B5,4,{0x82,0x33,0xA0,0x36,}},
+ {0x44B6,4,{0x82,0x33,0xA0,0x37,}},
+ {0x44B7,4,{0x82,0x33,0xA0,0x38,}},
+ {0x44B8,4,{0x82,0x33,0xA0,0x39,}},
+ {0x44B9,4,{0x82,0x33,0xA1,0x30,}},
+ {0x44BA,4,{0x82,0x33,0xA1,0x31,}},
+ {0x44BB,4,{0x82,0x33,0xA1,0x32,}},
+ {0x44BC,4,{0x82,0x33,0xA1,0x33,}},
+ {0x44BD,4,{0x82,0x33,0xA1,0x34,}},
+ {0x44BE,4,{0x82,0x33,0xA1,0x35,}},
+ {0x44BF,4,{0x82,0x33,0xA1,0x36,}},
+ {0x44C0,4,{0x82,0x33,0xA1,0x37,}},
+ {0x44C1,4,{0x82,0x33,0xA1,0x38,}},
+ {0x44C2,4,{0x82,0x33,0xA1,0x39,}},
+ {0x44C3,4,{0x82,0x33,0xA2,0x30,}},
+ {0x44C4,4,{0x82,0x33,0xA2,0x31,}},
+ {0x44C5,4,{0x82,0x33,0xA2,0x32,}},
+ {0x44C6,4,{0x82,0x33,0xA2,0x33,}},
+ {0x44C7,4,{0x82,0x33,0xA2,0x34,}},
+ {0x44C8,4,{0x82,0x33,0xA2,0x35,}},
+ {0x44C9,4,{0x82,0x33,0xA2,0x36,}},
+ {0x44CA,4,{0x82,0x33,0xA2,0x37,}},
+ {0x44CB,4,{0x82,0x33,0xA2,0x38,}},
+ {0x44CC,4,{0x82,0x33,0xA2,0x39,}},
+ {0x44CD,4,{0x82,0x33,0xA3,0x30,}},
+ {0x44CE,4,{0x82,0x33,0xA3,0x31,}},
+ {0x44CF,4,{0x82,0x33,0xA3,0x32,}},
+ {0x44D0,4,{0x82,0x33,0xA3,0x33,}},
+ {0x44D1,4,{0x82,0x33,0xA3,0x34,}},
+ {0x44D2,4,{0x82,0x33,0xA3,0x35,}},
+ {0x44D3,4,{0x82,0x33,0xA3,0x36,}},
+ {0x44D4,4,{0x82,0x33,0xA3,0x37,}},
+ {0x44D5,4,{0x82,0x33,0xA3,0x38,}},
+ {0x44D6,2,{0xFE,0x7B,0x00,0x00,}},
+ {0x464C,2,{0xFE,0x7D,0x00,0x00,}},
+ {0x464D,4,{0x82,0x33,0xC9,0x32,}},
+ {0x464E,4,{0x82,0x33,0xC9,0x33,}},
+ {0x464F,4,{0x82,0x33,0xC9,0x34,}},
+ {0x4650,4,{0x82,0x33,0xC9,0x35,}},
+ {0x4651,4,{0x82,0x33,0xC9,0x36,}},
+ {0x4652,4,{0x82,0x33,0xC9,0x37,}},
+ {0x4653,4,{0x82,0x33,0xC9,0x38,}},
+ {0x4654,4,{0x82,0x33,0xC9,0x39,}},
+ {0x4655,4,{0x82,0x33,0xCA,0x30,}},
+ {0x4656,4,{0x82,0x33,0xCA,0x31,}},
+ {0x4657,4,{0x82,0x33,0xCA,0x32,}},
+ {0x4658,4,{0x82,0x33,0xCA,0x33,}},
+ {0x4659,4,{0x82,0x33,0xCA,0x34,}},
+ {0x465A,4,{0x82,0x33,0xCA,0x35,}},
+ {0x465B,4,{0x82,0x33,0xCA,0x36,}},
+ {0x465C,4,{0x82,0x33,0xCA,0x37,}},
+ {0x465D,4,{0x82,0x33,0xCA,0x38,}},
+ {0x465E,4,{0x82,0x33,0xCA,0x39,}},
+ {0x465F,4,{0x82,0x33,0xCB,0x30,}},
+ {0x4660,4,{0x82,0x33,0xCB,0x31,}},
+ {0x4661,2,{0xFE,0x7C,0x00,0x00,}},
+ {0x4662,4,{0x82,0x33,0xCB,0x32,}},
+ {0x4663,4,{0x82,0x33,0xCB,0x33,}},
+ {0x4664,4,{0x82,0x33,0xCB,0x34,}},
+ {0x4665,4,{0x82,0x33,0xCB,0x35,}},
+ {0x4666,4,{0x82,0x33,0xCB,0x36,}},
+ {0x4667,4,{0x82,0x33,0xCB,0x37,}},
+ {0x4668,4,{0x82,0x33,0xCB,0x38,}},
+ {0x4669,4,{0x82,0x33,0xCB,0x39,}},
+ {0x466A,4,{0x82,0x33,0xCC,0x30,}},
+ {0x466B,4,{0x82,0x33,0xCC,0x31,}},
+ {0x466C,4,{0x82,0x33,0xCC,0x32,}},
+ {0x466D,4,{0x82,0x33,0xCC,0x33,}},
+ {0x466E,4,{0x82,0x33,0xCC,0x34,}},
+ {0x466F,4,{0x82,0x33,0xCC,0x35,}},
+ {0x4670,4,{0x82,0x33,0xCC,0x36,}},
+ {0x4671,4,{0x82,0x33,0xCC,0x37,}},
+ {0x4672,4,{0x82,0x33,0xCC,0x38,}},
+ {0x4673,4,{0x82,0x33,0xCC,0x39,}},
+ {0x4674,4,{0x82,0x33,0xCD,0x30,}},
+ {0x4675,4,{0x82,0x33,0xCD,0x31,}},
+ {0x4676,4,{0x82,0x33,0xCD,0x32,}},
+ {0x4677,4,{0x82,0x33,0xCD,0x33,}},
+ {0x4678,4,{0x82,0x33,0xCD,0x34,}},
+ {0x4679,4,{0x82,0x33,0xCD,0x35,}},
+ {0x467A,4,{0x82,0x33,0xCD,0x36,}},
+ {0x467B,4,{0x82,0x33,0xCD,0x37,}},
+ {0x467C,4,{0x82,0x33,0xCD,0x38,}},
+ {0x467D,4,{0x82,0x33,0xCD,0x39,}},
+ {0x467E,4,{0x82,0x33,0xCE,0x30,}},
+ {0x467F,4,{0x82,0x33,0xCE,0x31,}},
+ {0x4680,4,{0x82,0x33,0xCE,0x32,}},
+ {0x4681,4,{0x82,0x33,0xCE,0x33,}},
+ {0x4682,4,{0x82,0x33,0xCE,0x34,}},
+ {0x4683,4,{0x82,0x33,0xCE,0x35,}},
+ {0x4684,4,{0x82,0x33,0xCE,0x36,}},
+ {0x4685,4,{0x82,0x33,0xCE,0x37,}},
+ {0x4686,4,{0x82,0x33,0xCE,0x38,}},
+ {0x4687,4,{0x82,0x33,0xCE,0x39,}},
+ {0x4688,4,{0x82,0x33,0xCF,0x30,}},
+ {0x4689,4,{0x82,0x33,0xCF,0x31,}},
+ {0x468A,4,{0x82,0x33,0xCF,0x32,}},
+ {0x468B,4,{0x82,0x33,0xCF,0x33,}},
+ {0x468C,4,{0x82,0x33,0xCF,0x34,}},
+ {0x468D,4,{0x82,0x33,0xCF,0x35,}},
+ {0x468E,4,{0x82,0x33,0xCF,0x36,}},
+ {0x468F,4,{0x82,0x33,0xCF,0x37,}},
+ {0x4690,4,{0x82,0x33,0xCF,0x38,}},
+ {0x4691,4,{0x82,0x33,0xCF,0x39,}},
+ {0x4692,4,{0x82,0x33,0xD0,0x30,}},
+ {0x4693,4,{0x82,0x33,0xD0,0x31,}},
+ {0x4694,4,{0x82,0x33,0xD0,0x32,}},
+ {0x4695,4,{0x82,0x33,0xD0,0x33,}},
+ {0x4696,4,{0x82,0x33,0xD0,0x34,}},
+ {0x4697,4,{0x82,0x33,0xD0,0x35,}},
+ {0x4698,4,{0x82,0x33,0xD0,0x36,}},
+ {0x4699,4,{0x82,0x33,0xD0,0x37,}},
+ {0x469A,4,{0x82,0x33,0xD0,0x38,}},
+ {0x469B,4,{0x82,0x33,0xD0,0x39,}},
+ {0x469C,4,{0x82,0x33,0xD1,0x30,}},
+ {0x469D,4,{0x82,0x33,0xD1,0x31,}},
+ {0x469E,4,{0x82,0x33,0xD1,0x32,}},
+ {0x469F,4,{0x82,0x33,0xD1,0x33,}},
+ {0x46A0,4,{0x82,0x33,0xD1,0x34,}},
+ {0x46A1,4,{0x82,0x33,0xD1,0x35,}},
+ {0x46A2,4,{0x82,0x33,0xD1,0x36,}},
+ {0x46A3,4,{0x82,0x33,0xD1,0x37,}},
+ {0x46A4,4,{0x82,0x33,0xD1,0x38,}},
+ {0x46A5,4,{0x82,0x33,0xD1,0x39,}},
+ {0x46A6,4,{0x82,0x33,0xD2,0x30,}},
+ {0x46A7,4,{0x82,0x33,0xD2,0x31,}},
+ {0x46A8,4,{0x82,0x33,0xD2,0x32,}},
+ {0x46A9,4,{0x82,0x33,0xD2,0x33,}},
+ {0x46AA,4,{0x82,0x33,0xD2,0x34,}},
+ {0x46AB,4,{0x82,0x33,0xD2,0x35,}},
+ {0x46AC,4,{0x82,0x33,0xD2,0x36,}},
+ {0x46AD,4,{0x82,0x33,0xD2,0x37,}},
+ {0x46AE,4,{0x82,0x33,0xD2,0x38,}},
+ {0x46AF,4,{0x82,0x33,0xD2,0x39,}},
+ {0x46B0,4,{0x82,0x33,0xD3,0x30,}},
+ {0x46B1,4,{0x82,0x33,0xD3,0x31,}},
+ {0x46B2,4,{0x82,0x33,0xD3,0x32,}},
+ {0x46B3,4,{0x82,0x33,0xD3,0x33,}},
+ {0x46B4,4,{0x82,0x33,0xD3,0x34,}},
+ {0x46B5,4,{0x82,0x33,0xD3,0x35,}},
+ {0x46B6,4,{0x82,0x33,0xD3,0x36,}},
+ {0x46B7,4,{0x82,0x33,0xD3,0x37,}},
+ {0x46B8,4,{0x82,0x33,0xD3,0x38,}},
+ {0x46B9,4,{0x82,0x33,0xD3,0x39,}},
+ {0x46BA,4,{0x82,0x33,0xD4,0x30,}},
+ {0x46BB,4,{0x82,0x33,0xD4,0x31,}},
+ {0x46BC,4,{0x82,0x33,0xD4,0x32,}},
+ {0x46BD,4,{0x82,0x33,0xD4,0x33,}},
+ {0x46BE,4,{0x82,0x33,0xD4,0x34,}},
+ {0x46BF,4,{0x82,0x33,0xD4,0x35,}},
+ {0x46C0,4,{0x82,0x33,0xD4,0x36,}},
+ {0x46C1,4,{0x82,0x33,0xD4,0x37,}},
+ {0x46C2,4,{0x82,0x33,0xD4,0x38,}},
+ {0x46C3,4,{0x82,0x33,0xD4,0x39,}},
+ {0x46C4,4,{0x82,0x33,0xD5,0x30,}},
+ {0x46C5,4,{0x82,0x33,0xD5,0x31,}},
+ {0x46C6,4,{0x82,0x33,0xD5,0x32,}},
+ {0x46C7,4,{0x82,0x33,0xD5,0x33,}},
+ {0x46C8,4,{0x82,0x33,0xD5,0x34,}},
+ {0x46C9,4,{0x82,0x33,0xD5,0x35,}},
+ {0x46CA,4,{0x82,0x33,0xD5,0x36,}},
+ {0x46CB,4,{0x82,0x33,0xD5,0x37,}},
+ {0x46CC,4,{0x82,0x33,0xD5,0x38,}},
+ {0x46CD,4,{0x82,0x33,0xD5,0x39,}},
+ {0x46CE,4,{0x82,0x33,0xD6,0x30,}},
+ {0x46CF,4,{0x82,0x33,0xD6,0x31,}},
+ {0x46D0,4,{0x82,0x33,0xD6,0x32,}},
+ {0x46D1,4,{0x82,0x33,0xD6,0x33,}},
+ {0x46D2,4,{0x82,0x33,0xD6,0x34,}},
+ {0x46D3,4,{0x82,0x33,0xD6,0x35,}},
+ {0x46D4,4,{0x82,0x33,0xD6,0x36,}},
+ {0x46D5,4,{0x82,0x33,0xD6,0x37,}},
+ {0x46D6,4,{0x82,0x33,0xD6,0x38,}},
+ {0x46D7,4,{0x82,0x33,0xD6,0x39,}},
+ {0x46D8,4,{0x82,0x33,0xD7,0x30,}},
+ {0x46D9,4,{0x82,0x33,0xD7,0x31,}},
+ {0x46DA,4,{0x82,0x33,0xD7,0x32,}},
+ {0x46DB,4,{0x82,0x33,0xD7,0x33,}},
+ {0x46DC,4,{0x82,0x33,0xD7,0x34,}},
+ {0x46DD,4,{0x82,0x33,0xD7,0x35,}},
+ {0x46DE,4,{0x82,0x33,0xD7,0x36,}},
+ {0x46DF,4,{0x82,0x33,0xD7,0x37,}},
+ {0x46E0,4,{0x82,0x33,0xD7,0x38,}},
+ {0x46E1,4,{0x82,0x33,0xD7,0x39,}},
+ {0x46E2,4,{0x82,0x33,0xD8,0x30,}},
+ {0x46E3,4,{0x82,0x33,0xD8,0x31,}},
+ {0x46E4,4,{0x82,0x33,0xD8,0x32,}},
+ {0x46E5,4,{0x82,0x33,0xD8,0x33,}},
+ {0x46E6,4,{0x82,0x33,0xD8,0x34,}},
+ {0x46E7,4,{0x82,0x33,0xD8,0x35,}},
+ {0x46E8,4,{0x82,0x33,0xD8,0x36,}},
+ {0x46E9,4,{0x82,0x33,0xD8,0x37,}},
+ {0x46EA,4,{0x82,0x33,0xD8,0x38,}},
+ {0x46EB,4,{0x82,0x33,0xD8,0x39,}},
+ {0x46EC,4,{0x82,0x33,0xD9,0x30,}},
+ {0x46ED,4,{0x82,0x33,0xD9,0x31,}},
+ {0x46EE,4,{0x82,0x33,0xD9,0x32,}},
+ {0x46EF,4,{0x82,0x33,0xD9,0x33,}},
+ {0x46F0,4,{0x82,0x33,0xD9,0x34,}},
+ {0x46F1,4,{0x82,0x33,0xD9,0x35,}},
+ {0x46F2,4,{0x82,0x33,0xD9,0x36,}},
+ {0x46F3,4,{0x82,0x33,0xD9,0x37,}},
+ {0x46F4,4,{0x82,0x33,0xD9,0x38,}},
+ {0x46F5,4,{0x82,0x33,0xD9,0x39,}},
+ {0x46F6,4,{0x82,0x33,0xDA,0x30,}},
+ {0x46F7,4,{0x82,0x33,0xDA,0x31,}},
+ {0x46F8,4,{0x82,0x33,0xDA,0x32,}},
+ {0x46F9,4,{0x82,0x33,0xDA,0x33,}},
+ {0x46FA,4,{0x82,0x33,0xDA,0x34,}},
+ {0x46FB,4,{0x82,0x33,0xDA,0x35,}},
+ {0x46FC,4,{0x82,0x33,0xDA,0x36,}},
+ {0x46FD,4,{0x82,0x33,0xDA,0x37,}},
+ {0x46FE,4,{0x82,0x33,0xDA,0x38,}},
+ {0x46FF,4,{0x82,0x33,0xDA,0x39,}},
+ {0x4700,4,{0x82,0x33,0xDB,0x30,}},
+ {0x4701,4,{0x82,0x33,0xDB,0x31,}},
+ {0x4702,4,{0x82,0x33,0xDB,0x32,}},
+ {0x4703,4,{0x82,0x33,0xDB,0x33,}},
+ {0x4704,4,{0x82,0x33,0xDB,0x34,}},
+ {0x4705,4,{0x82,0x33,0xDB,0x35,}},
+ {0x4706,4,{0x82,0x33,0xDB,0x36,}},
+ {0x4707,4,{0x82,0x33,0xDB,0x37,}},
+ {0x4708,4,{0x82,0x33,0xDB,0x38,}},
+ {0x4709,4,{0x82,0x33,0xDB,0x39,}},
+ {0x470A,4,{0x82,0x33,0xDC,0x30,}},
+ {0x470B,4,{0x82,0x33,0xDC,0x31,}},
+ {0x470C,4,{0x82,0x33,0xDC,0x32,}},
+ {0x470D,4,{0x82,0x33,0xDC,0x33,}},
+ {0x470E,4,{0x82,0x33,0xDC,0x34,}},
+ {0x470F,4,{0x82,0x33,0xDC,0x35,}},
+ {0x4710,4,{0x82,0x33,0xDC,0x36,}},
+ {0x4711,4,{0x82,0x33,0xDC,0x37,}},
+ {0x4712,4,{0x82,0x33,0xDC,0x38,}},
+ {0x4713,4,{0x82,0x33,0xDC,0x39,}},
+ {0x4714,4,{0x82,0x33,0xDD,0x30,}},
+ {0x4715,4,{0x82,0x33,0xDD,0x31,}},
+ {0x4716,4,{0x82,0x33,0xDD,0x32,}},
+ {0x4717,4,{0x82,0x33,0xDD,0x33,}},
+ {0x4718,4,{0x82,0x33,0xDD,0x34,}},
+ {0x4719,4,{0x82,0x33,0xDD,0x35,}},
+ {0x471A,4,{0x82,0x33,0xDD,0x36,}},
+ {0x471B,4,{0x82,0x33,0xDD,0x37,}},
+ {0x471C,4,{0x82,0x33,0xDD,0x38,}},
+ {0x471D,4,{0x82,0x33,0xDD,0x39,}},
+ {0x471E,4,{0x82,0x33,0xDE,0x30,}},
+ {0x471F,4,{0x82,0x33,0xDE,0x31,}},
+ {0x4720,4,{0x82,0x33,0xDE,0x32,}},
+ {0x4721,4,{0x82,0x33,0xDE,0x33,}},
+ {0x4722,4,{0x82,0x33,0xDE,0x34,}},
+ {0x4723,2,{0xFE,0x80,0x00,0x00,}},
+ {0x4724,4,{0x82,0x33,0xDE,0x35,}},
+ {0x4725,4,{0x82,0x33,0xDE,0x36,}},
+ {0x4726,4,{0x82,0x33,0xDE,0x37,}},
+ {0x4727,4,{0x82,0x33,0xDE,0x38,}},
+ {0x4728,4,{0x82,0x33,0xDE,0x39,}},
+ {0x4729,2,{0xFE,0x81,0x00,0x00,}},
+ {0x472A,4,{0x82,0x33,0xDF,0x30,}},
+ {0x472B,4,{0x82,0x33,0xDF,0x31,}},
+ {0x472C,4,{0x82,0x33,0xDF,0x32,}},
+ {0x472D,4,{0x82,0x33,0xDF,0x33,}},
+ {0x472E,4,{0x82,0x33,0xDF,0x34,}},
+ {0x472F,4,{0x82,0x33,0xDF,0x35,}},
+ {0x4730,4,{0x82,0x33,0xDF,0x36,}},
+ {0x4731,4,{0x82,0x33,0xDF,0x37,}},
+ {0x4732,4,{0x82,0x33,0xDF,0x38,}},
+ {0x4733,4,{0x82,0x33,0xDF,0x39,}},
+ {0x4734,4,{0x82,0x33,0xE0,0x30,}},
+ {0x4735,4,{0x82,0x33,0xE0,0x31,}},
+ {0x4736,4,{0x82,0x33,0xE0,0x32,}},
+ {0x4737,4,{0x82,0x33,0xE0,0x33,}},
+ {0x4738,4,{0x82,0x33,0xE0,0x34,}},
+ {0x4739,4,{0x82,0x33,0xE0,0x35,}},
+ {0x473A,4,{0x82,0x33,0xE0,0x36,}},
+ {0x473B,4,{0x82,0x33,0xE0,0x37,}},
+ {0x473C,4,{0x82,0x33,0xE0,0x38,}},
+ {0x473D,4,{0x82,0x33,0xE0,0x39,}},
+ {0x473E,4,{0x82,0x33,0xE1,0x30,}},
+ {0x473F,4,{0x82,0x33,0xE1,0x31,}},
+ {0x4740,4,{0x82,0x33,0xE1,0x32,}},
+ {0x4741,4,{0x82,0x33,0xE1,0x33,}},
+ {0x4742,4,{0x82,0x33,0xE1,0x34,}},
+ {0x4743,4,{0x82,0x33,0xE1,0x35,}},
+ {0x4744,4,{0x82,0x33,0xE1,0x36,}},
+ {0x4745,4,{0x82,0x33,0xE1,0x37,}},
+ {0x4746,4,{0x82,0x33,0xE1,0x38,}},
+ {0x4747,4,{0x82,0x33,0xE1,0x39,}},
+ {0x4748,4,{0x82,0x33,0xE2,0x30,}},
+ {0x4749,4,{0x82,0x33,0xE2,0x31,}},
+ {0x474A,4,{0x82,0x33,0xE2,0x32,}},
+ {0x474B,4,{0x82,0x33,0xE2,0x33,}},
+ {0x474C,4,{0x82,0x33,0xE2,0x34,}},
+ {0x474D,4,{0x82,0x33,0xE2,0x35,}},
+ {0x474E,4,{0x82,0x33,0xE2,0x36,}},
+ {0x474F,4,{0x82,0x33,0xE2,0x37,}},
+ {0x4750,4,{0x82,0x33,0xE2,0x38,}},
+ {0x4751,4,{0x82,0x33,0xE2,0x39,}},
+ {0x4752,4,{0x82,0x33,0xE3,0x30,}},
+ {0x4753,4,{0x82,0x33,0xE3,0x31,}},
+ {0x4754,4,{0x82,0x33,0xE3,0x32,}},
+ {0x4755,4,{0x82,0x33,0xE3,0x33,}},
+ {0x4756,4,{0x82,0x33,0xE3,0x34,}},
+ {0x4757,4,{0x82,0x33,0xE3,0x35,}},
+ {0x4758,4,{0x82,0x33,0xE3,0x36,}},
+ {0x4759,4,{0x82,0x33,0xE3,0x37,}},
+ {0x475A,4,{0x82,0x33,0xE3,0x38,}},
+ {0x475B,4,{0x82,0x33,0xE3,0x39,}},
+ {0x475C,4,{0x82,0x33,0xE4,0x30,}},
+ {0x475D,4,{0x82,0x33,0xE4,0x31,}},
+ {0x475E,4,{0x82,0x33,0xE4,0x32,}},
+ {0x475F,4,{0x82,0x33,0xE4,0x33,}},
+ {0x4760,4,{0x82,0x33,0xE4,0x34,}},
+ {0x4761,4,{0x82,0x33,0xE4,0x35,}},
+ {0x4762,4,{0x82,0x33,0xE4,0x36,}},
+ {0x4763,4,{0x82,0x33,0xE4,0x37,}},
+ {0x4764,4,{0x82,0x33,0xE4,0x38,}},
+ {0x4765,4,{0x82,0x33,0xE4,0x39,}},
+ {0x4766,4,{0x82,0x33,0xE5,0x30,}},
+ {0x4767,4,{0x82,0x33,0xE5,0x31,}},
+ {0x4768,4,{0x82,0x33,0xE5,0x32,}},
+ {0x4769,4,{0x82,0x33,0xE5,0x33,}},
+ {0x476A,4,{0x82,0x33,0xE5,0x34,}},
+ {0x476B,4,{0x82,0x33,0xE5,0x35,}},
+ {0x476C,4,{0x82,0x33,0xE5,0x36,}},
+ {0x476D,4,{0x82,0x33,0xE5,0x37,}},
+ {0x476E,4,{0x82,0x33,0xE5,0x38,}},
+ {0x476F,4,{0x82,0x33,0xE5,0x39,}},
+ {0x4770,4,{0x82,0x33,0xE6,0x30,}},
+ {0x4771,4,{0x82,0x33,0xE6,0x31,}},
+ {0x4772,4,{0x82,0x33,0xE6,0x32,}},
+ {0x4773,4,{0x82,0x33,0xE6,0x33,}},
+ {0x4774,4,{0x82,0x33,0xE6,0x34,}},
+ {0x4775,4,{0x82,0x33,0xE6,0x35,}},
+ {0x4776,4,{0x82,0x33,0xE6,0x36,}},
+ {0x4777,4,{0x82,0x33,0xE6,0x37,}},
+ {0x4778,4,{0x82,0x33,0xE6,0x38,}},
+ {0x4779,4,{0x82,0x33,0xE6,0x39,}},
+ {0x477A,4,{0x82,0x33,0xE7,0x30,}},
+ {0x477B,4,{0x82,0x33,0xE7,0x31,}},
+ {0x477C,2,{0xFE,0x82,0x00,0x00,}},
+ {0x477D,4,{0x82,0x33,0xE7,0x32,}},
+ {0x477E,4,{0x82,0x33,0xE7,0x33,}},
+ {0x477F,4,{0x82,0x33,0xE7,0x34,}},
+ {0x4780,4,{0x82,0x33,0xE7,0x35,}},
+ {0x4781,4,{0x82,0x33,0xE7,0x36,}},
+ {0x4782,4,{0x82,0x33,0xE7,0x37,}},
+ {0x4783,4,{0x82,0x33,0xE7,0x38,}},
+ {0x4784,4,{0x82,0x33,0xE7,0x39,}},
+ {0x4785,4,{0x82,0x33,0xE8,0x30,}},
+ {0x4786,4,{0x82,0x33,0xE8,0x31,}},
+ {0x4787,4,{0x82,0x33,0xE8,0x32,}},
+ {0x4788,4,{0x82,0x33,0xE8,0x33,}},
+ {0x4789,4,{0x82,0x33,0xE8,0x34,}},
+ {0x478A,4,{0x82,0x33,0xE8,0x35,}},
+ {0x478B,4,{0x82,0x33,0xE8,0x36,}},
+ {0x478C,4,{0x82,0x33,0xE8,0x37,}},
+ {0x478D,2,{0xFE,0x83,0x00,0x00,}},
+ {0x4947,2,{0xFE,0x85,0x00,0x00,}},
+ {0x4948,4,{0x82,0x34,0x96,0x39,}},
+ {0x4949,4,{0x82,0x34,0x97,0x30,}},
+ {0x494A,4,{0x82,0x34,0x97,0x31,}},
+ {0x494B,4,{0x82,0x34,0x97,0x32,}},
+ {0x494C,4,{0x82,0x34,0x97,0x33,}},
+ {0x494D,4,{0x82,0x34,0x97,0x34,}},
+ {0x494E,4,{0x82,0x34,0x97,0x35,}},
+ {0x494F,4,{0x82,0x34,0x97,0x36,}},
+ {0x4950,4,{0x82,0x34,0x97,0x37,}},
+ {0x4951,4,{0x82,0x34,0x97,0x38,}},
+ {0x4952,4,{0x82,0x34,0x97,0x39,}},
+ {0x4953,4,{0x82,0x34,0x98,0x30,}},
+ {0x4954,4,{0x82,0x34,0x98,0x31,}},
+ {0x4955,4,{0x82,0x34,0x98,0x32,}},
+ {0x4956,4,{0x82,0x34,0x98,0x33,}},
+ {0x4957,4,{0x82,0x34,0x98,0x34,}},
+ {0x4958,4,{0x82,0x34,0x98,0x35,}},
+ {0x4959,4,{0x82,0x34,0x98,0x36,}},
+ {0x495A,4,{0x82,0x34,0x98,0x37,}},
+ {0x495B,4,{0x82,0x34,0x98,0x38,}},
+ {0x495C,4,{0x82,0x34,0x98,0x39,}},
+ {0x495D,4,{0x82,0x34,0x99,0x30,}},
+ {0x495E,4,{0x82,0x34,0x99,0x31,}},
+ {0x495F,4,{0x82,0x34,0x99,0x32,}},
+ {0x4960,4,{0x82,0x34,0x99,0x33,}},
+ {0x4961,4,{0x82,0x34,0x99,0x34,}},
+ {0x4962,4,{0x82,0x34,0x99,0x35,}},
+ {0x4963,4,{0x82,0x34,0x99,0x36,}},
+ {0x4964,4,{0x82,0x34,0x99,0x37,}},
+ {0x4965,4,{0x82,0x34,0x99,0x38,}},
+ {0x4966,4,{0x82,0x34,0x99,0x39,}},
+ {0x4967,4,{0x82,0x34,0x9A,0x30,}},
+ {0x4968,4,{0x82,0x34,0x9A,0x31,}},
+ {0x4969,4,{0x82,0x34,0x9A,0x32,}},
+ {0x496A,4,{0x82,0x34,0x9A,0x33,}},
+ {0x496B,4,{0x82,0x34,0x9A,0x34,}},
+ {0x496C,4,{0x82,0x34,0x9A,0x35,}},
+ {0x496D,4,{0x82,0x34,0x9A,0x36,}},
+ {0x496E,4,{0x82,0x34,0x9A,0x37,}},
+ {0x496F,4,{0x82,0x34,0x9A,0x38,}},
+ {0x4970,4,{0x82,0x34,0x9A,0x39,}},
+ {0x4971,4,{0x82,0x34,0x9B,0x30,}},
+ {0x4972,4,{0x82,0x34,0x9B,0x31,}},
+ {0x4973,4,{0x82,0x34,0x9B,0x32,}},
+ {0x4974,4,{0x82,0x34,0x9B,0x33,}},
+ {0x4975,4,{0x82,0x34,0x9B,0x34,}},
+ {0x4976,4,{0x82,0x34,0x9B,0x35,}},
+ {0x4977,4,{0x82,0x34,0x9B,0x36,}},
+ {0x4978,4,{0x82,0x34,0x9B,0x37,}},
+ {0x4979,4,{0x82,0x34,0x9B,0x38,}},
+ {0x497A,2,{0xFE,0x86,0x00,0x00,}},
+ {0x497B,4,{0x82,0x34,0x9B,0x39,}},
+ {0x497C,4,{0x82,0x34,0x9C,0x30,}},
+ {0x497D,2,{0xFE,0x87,0x00,0x00,}},
+ {0x497E,4,{0x82,0x34,0x9C,0x31,}},
+ {0x497F,4,{0x82,0x34,0x9C,0x32,}},
+ {0x4980,4,{0x82,0x34,0x9C,0x33,}},
+ {0x4981,4,{0x82,0x34,0x9C,0x34,}},
+ {0x4982,2,{0xFE,0x88,0x00,0x00,}},
+ {0x4983,2,{0xFE,0x89,0x00,0x00,}},
+ {0x4984,4,{0x82,0x34,0x9C,0x35,}},
+ {0x4985,2,{0xFE,0x8A,0x00,0x00,}},
+ {0x4986,2,{0xFE,0x8B,0x00,0x00,}},
+ {0x4987,4,{0x82,0x34,0x9C,0x36,}},
+ {0x4988,4,{0x82,0x34,0x9C,0x37,}},
+ {0x4989,4,{0x82,0x34,0x9C,0x38,}},
+ {0x498A,4,{0x82,0x34,0x9C,0x39,}},
+ {0x498B,4,{0x82,0x34,0x9D,0x30,}},
+ {0x498C,4,{0x82,0x34,0x9D,0x31,}},
+ {0x498D,4,{0x82,0x34,0x9D,0x32,}},
+ {0x498E,4,{0x82,0x34,0x9D,0x33,}},
+ {0x498F,4,{0x82,0x34,0x9D,0x34,}},
+ {0x4990,4,{0x82,0x34,0x9D,0x35,}},
+ {0x4991,4,{0x82,0x34,0x9D,0x36,}},
+ {0x4992,4,{0x82,0x34,0x9D,0x37,}},
+ {0x4993,4,{0x82,0x34,0x9D,0x38,}},
+ {0x4994,4,{0x82,0x34,0x9D,0x39,}},
+ {0x4995,4,{0x82,0x34,0x9E,0x30,}},
+ {0x4996,4,{0x82,0x34,0x9E,0x31,}},
+ {0x4997,4,{0x82,0x34,0x9E,0x32,}},
+ {0x4998,4,{0x82,0x34,0x9E,0x33,}},
+ {0x4999,4,{0x82,0x34,0x9E,0x34,}},
+ {0x499A,4,{0x82,0x34,0x9E,0x35,}},
+ {0x499B,2,{0xFE,0x8D,0x00,0x00,}},
+ {0x499C,4,{0x82,0x34,0x9E,0x36,}},
+ {0x499D,4,{0x82,0x34,0x9E,0x37,}},
+ {0x499E,4,{0x82,0x34,0x9E,0x38,}},
+ {0x499F,2,{0xFE,0x8C,0x00,0x00,}},
+ {0x49A0,4,{0x82,0x34,0x9E,0x39,}},
+ {0x49A1,4,{0x82,0x34,0x9F,0x30,}},
+ {0x49A2,4,{0x82,0x34,0x9F,0x31,}},
+ {0x49A3,4,{0x82,0x34,0x9F,0x32,}},
+ {0x49A4,4,{0x82,0x34,0x9F,0x33,}},
+ {0x49A5,4,{0x82,0x34,0x9F,0x34,}},
+ {0x49A6,4,{0x82,0x34,0x9F,0x35,}},
+ {0x49A7,4,{0x82,0x34,0x9F,0x36,}},
+ {0x49A8,4,{0x82,0x34,0x9F,0x37,}},
+ {0x49A9,4,{0x82,0x34,0x9F,0x38,}},
+ {0x49AA,4,{0x82,0x34,0x9F,0x39,}},
+ {0x49AB,4,{0x82,0x34,0xA0,0x30,}},
+ {0x49AC,4,{0x82,0x34,0xA0,0x31,}},
+ {0x49AD,4,{0x82,0x34,0xA0,0x32,}},
+ {0x49AE,4,{0x82,0x34,0xA0,0x33,}},
+ {0x49AF,4,{0x82,0x34,0xA0,0x34,}},
+ {0x49B0,4,{0x82,0x34,0xA0,0x35,}},
+ {0x49B1,4,{0x82,0x34,0xA0,0x36,}},
+ {0x49B2,4,{0x82,0x34,0xA0,0x37,}},
+ {0x49B3,4,{0x82,0x34,0xA0,0x38,}},
+ {0x49B4,4,{0x82,0x34,0xA0,0x39,}},
+ {0x49B5,4,{0x82,0x34,0xA1,0x30,}},
+ {0x49B6,2,{0xFE,0x8F,0x00,0x00,}},
+ {0x49B7,2,{0xFE,0x8E,0x00,0x00,}},
+ {0x4C77,2,{0xFE,0x96,0x00,0x00,}},
+ {0x4C78,4,{0x82,0x34,0xE7,0x34,}},
+ {0x4C79,4,{0x82,0x34,0xE7,0x35,}},
+ {0x4C7A,4,{0x82,0x34,0xE7,0x36,}},
+ {0x4C7B,4,{0x82,0x34,0xE7,0x37,}},
+ {0x4C7C,4,{0x82,0x34,0xE7,0x38,}},
+ {0x4C7D,4,{0x82,0x34,0xE7,0x39,}},
+ {0x4C7E,4,{0x82,0x34,0xE8,0x30,}},
+ {0x4C7F,4,{0x82,0x34,0xE8,0x31,}},
+ {0x4C80,4,{0x82,0x34,0xE8,0x32,}},
+ {0x4C81,4,{0x82,0x34,0xE8,0x33,}},
+ {0x4C82,4,{0x82,0x34,0xE8,0x34,}},
+ {0x4C83,4,{0x82,0x34,0xE8,0x35,}},
+ {0x4C84,4,{0x82,0x34,0xE8,0x36,}},
+ {0x4C85,4,{0x82,0x34,0xE8,0x37,}},
+ {0x4C86,4,{0x82,0x34,0xE8,0x38,}},
+ {0x4C87,4,{0x82,0x34,0xE8,0x39,}},
+ {0x4C88,4,{0x82,0x34,0xE9,0x30,}},
+ {0x4C89,4,{0x82,0x34,0xE9,0x31,}},
+ {0x4C8A,4,{0x82,0x34,0xE9,0x32,}},
+ {0x4C8B,4,{0x82,0x34,0xE9,0x33,}},
+ {0x4C8C,4,{0x82,0x34,0xE9,0x34,}},
+ {0x4C8D,4,{0x82,0x34,0xE9,0x35,}},
+ {0x4C8E,4,{0x82,0x34,0xE9,0x36,}},
+ {0x4C8F,4,{0x82,0x34,0xE9,0x37,}},
+ {0x4C90,4,{0x82,0x34,0xE9,0x38,}},
+ {0x4C91,4,{0x82,0x34,0xE9,0x39,}},
+ {0x4C92,4,{0x82,0x34,0xEA,0x30,}},
+ {0x4C93,4,{0x82,0x34,0xEA,0x31,}},
+ {0x4C94,4,{0x82,0x34,0xEA,0x32,}},
+ {0x4C95,4,{0x82,0x34,0xEA,0x33,}},
+ {0x4C96,4,{0x82,0x34,0xEA,0x34,}},
+ {0x4C97,4,{0x82,0x34,0xEA,0x35,}},
+ {0x4C98,4,{0x82,0x34,0xEA,0x36,}},
+ {0x4C99,4,{0x82,0x34,0xEA,0x37,}},
+ {0x4C9A,4,{0x82,0x34,0xEA,0x38,}},
+ {0x4C9B,4,{0x82,0x34,0xEA,0x39,}},
+ {0x4C9C,4,{0x82,0x34,0xEB,0x30,}},
+ {0x4C9D,4,{0x82,0x34,0xEB,0x31,}},
+ {0x4C9E,4,{0x82,0x34,0xEB,0x32,}},
+ {0x4C9F,2,{0xFE,0x93,0x00,0x00,}},
+ {0x4CA0,2,{0xFE,0x94,0x00,0x00,}},
+ {0x4CA1,2,{0xFE,0x95,0x00,0x00,}},
+ {0x4CA2,2,{0xFE,0x97,0x00,0x00,}},
+ {0x4CA3,2,{0xFE,0x92,0x00,0x00,}},
+ {0x4CA4,4,{0x82,0x34,0xEB,0x33,}},
+ {0x4CA5,4,{0x82,0x34,0xEB,0x34,}},
+ {0x4CA6,4,{0x82,0x34,0xEB,0x35,}},
+ {0x4CA7,4,{0x82,0x34,0xEB,0x36,}},
+ {0x4CA8,4,{0x82,0x34,0xEB,0x37,}},
+ {0x4CA9,4,{0x82,0x34,0xEB,0x38,}},
+ {0x4CAA,4,{0x82,0x34,0xEB,0x39,}},
+ {0x4CAB,4,{0x82,0x34,0xEC,0x30,}},
+ {0x4CAC,4,{0x82,0x34,0xEC,0x31,}},
+ {0x4CAD,4,{0x82,0x34,0xEC,0x32,}},
+ {0x4CAE,4,{0x82,0x34,0xEC,0x33,}},
+ {0x4CAF,4,{0x82,0x34,0xEC,0x34,}},
+ {0x4CB0,4,{0x82,0x34,0xEC,0x35,}},
+ {0x4CB1,4,{0x82,0x34,0xEC,0x36,}},
+ {0x4CB2,4,{0x82,0x34,0xEC,0x37,}},
+ {0x4CB3,4,{0x82,0x34,0xEC,0x38,}},
+ {0x4CB4,4,{0x82,0x34,0xEC,0x39,}},
+ {0x4CB5,4,{0x82,0x34,0xED,0x30,}},
+ {0x4CB6,4,{0x82,0x34,0xED,0x31,}},
+ {0x4CB7,4,{0x82,0x34,0xED,0x32,}},
+ {0x4CB8,4,{0x82,0x34,0xED,0x33,}},
+ {0x4CB9,4,{0x82,0x34,0xED,0x34,}},
+ {0x4CBA,4,{0x82,0x34,0xED,0x35,}},
+ {0x4CBB,4,{0x82,0x34,0xED,0x36,}},
+ {0x4CBC,4,{0x82,0x34,0xED,0x37,}},
+ {0x4CBD,4,{0x82,0x34,0xED,0x38,}},
+ {0x4CBE,4,{0x82,0x34,0xED,0x39,}},
+ {0x4CBF,4,{0x82,0x34,0xEE,0x30,}},
+ {0x4CC0,4,{0x82,0x34,0xEE,0x31,}},
+ {0x4CC1,4,{0x82,0x34,0xEE,0x32,}},
+ {0x4CC2,4,{0x82,0x34,0xEE,0x33,}},
+ {0x4CC3,4,{0x82,0x34,0xEE,0x34,}},
+ {0x4CC4,4,{0x82,0x34,0xEE,0x35,}},
+ {0x4CC5,4,{0x82,0x34,0xEE,0x36,}},
+ {0x4CC6,4,{0x82,0x34,0xEE,0x37,}},
+ {0x4CC7,4,{0x82,0x34,0xEE,0x38,}},
+ {0x4CC8,4,{0x82,0x34,0xEE,0x39,}},
+ {0x4CC9,4,{0x82,0x34,0xEF,0x30,}},
+ {0x4CCA,4,{0x82,0x34,0xEF,0x31,}},
+ {0x4CCB,4,{0x82,0x34,0xEF,0x32,}},
+ {0x4CCC,4,{0x82,0x34,0xEF,0x33,}},
+ {0x4CCD,4,{0x82,0x34,0xEF,0x34,}},
+ {0x4CCE,4,{0x82,0x34,0xEF,0x35,}},
+ {0x4CCF,4,{0x82,0x34,0xEF,0x36,}},
+ {0x4CD0,4,{0x82,0x34,0xEF,0x37,}},
+ {0x4CD1,4,{0x82,0x34,0xEF,0x38,}},
+ {0x4CD2,4,{0x82,0x34,0xEF,0x39,}},
+ {0x4CD3,4,{0x82,0x34,0xF0,0x30,}},
+ {0x4CD4,4,{0x82,0x34,0xF0,0x31,}},
+ {0x4CD5,4,{0x82,0x34,0xF0,0x32,}},
+ {0x4CD6,4,{0x82,0x34,0xF0,0x33,}},
+ {0x4CD7,4,{0x82,0x34,0xF0,0x34,}},
+ {0x4CD8,4,{0x82,0x34,0xF0,0x35,}},
+ {0x4CD9,4,{0x82,0x34,0xF0,0x36,}},
+ {0x4CDA,4,{0x82,0x34,0xF0,0x37,}},
+ {0x4CDB,4,{0x82,0x34,0xF0,0x38,}},
+ {0x4CDC,4,{0x82,0x34,0xF0,0x39,}},
+ {0x4CDD,4,{0x82,0x34,0xF1,0x30,}},
+ {0x4CDE,4,{0x82,0x34,0xF1,0x31,}},
+ {0x4CDF,4,{0x82,0x34,0xF1,0x32,}},
+ {0x4CE0,4,{0x82,0x34,0xF1,0x33,}},
+ {0x4CE1,4,{0x82,0x34,0xF1,0x34,}},
+ {0x4CE2,4,{0x82,0x34,0xF1,0x35,}},
+ {0x4CE3,4,{0x82,0x34,0xF1,0x36,}},
+ {0x4CE4,4,{0x82,0x34,0xF1,0x37,}},
+ {0x4CE5,4,{0x82,0x34,0xF1,0x38,}},
+ {0x4CE6,4,{0x82,0x34,0xF1,0x39,}},
+ {0x4CE7,4,{0x82,0x34,0xF2,0x30,}},
+ {0x4CE8,4,{0x82,0x34,0xF2,0x31,}},
+ {0x4CE9,4,{0x82,0x34,0xF2,0x32,}},
+ {0x4CEA,4,{0x82,0x34,0xF2,0x33,}},
+ {0x4CEB,4,{0x82,0x34,0xF2,0x34,}},
+ {0x4CEC,4,{0x82,0x34,0xF2,0x35,}},
+ {0x4CED,4,{0x82,0x34,0xF2,0x36,}},
+ {0x4CEE,4,{0x82,0x34,0xF2,0x37,}},
+ {0x4CEF,4,{0x82,0x34,0xF2,0x38,}},
+ {0x4CF0,4,{0x82,0x34,0xF2,0x39,}},
+ {0x4CF1,4,{0x82,0x34,0xF3,0x30,}},
+ {0x4CF2,4,{0x82,0x34,0xF3,0x31,}},
+ {0x4CF3,4,{0x82,0x34,0xF3,0x32,}},
+ {0x4CF4,4,{0x82,0x34,0xF3,0x33,}},
+ {0x4CF5,4,{0x82,0x34,0xF3,0x34,}},
+ {0x4CF6,4,{0x82,0x34,0xF3,0x35,}},
+ {0x4CF7,4,{0x82,0x34,0xF3,0x36,}},
+ {0x4CF8,4,{0x82,0x34,0xF3,0x37,}},
+ {0x4CF9,4,{0x82,0x34,0xF3,0x38,}},
+ {0x4CFA,4,{0x82,0x34,0xF3,0x39,}},
+ {0x4CFB,4,{0x82,0x34,0xF4,0x30,}},
+ {0x4CFC,4,{0x82,0x34,0xF4,0x31,}},
+ {0x4CFD,4,{0x82,0x34,0xF4,0x32,}},
+ {0x4CFE,4,{0x82,0x34,0xF4,0x33,}},
+ {0x4CFF,4,{0x82,0x34,0xF4,0x34,}},
+ {0x4D00,4,{0x82,0x34,0xF4,0x35,}},
+ {0x4D01,4,{0x82,0x34,0xF4,0x36,}},
+ {0x4D02,4,{0x82,0x34,0xF4,0x37,}},
+ {0x4D03,4,{0x82,0x34,0xF4,0x38,}},
+ {0x4D04,4,{0x82,0x34,0xF4,0x39,}},
+ {0x4D05,4,{0x82,0x34,0xF5,0x30,}},
+ {0x4D06,4,{0x82,0x34,0xF5,0x31,}},
+ {0x4D07,4,{0x82,0x34,0xF5,0x32,}},
+ {0x4D08,4,{0x82,0x34,0xF5,0x33,}},
+ {0x4D09,4,{0x82,0x34,0xF5,0x34,}},
+ {0x4D0A,4,{0x82,0x34,0xF5,0x35,}},
+ {0x4D0B,4,{0x82,0x34,0xF5,0x36,}},
+ {0x4D0C,4,{0x82,0x34,0xF5,0x37,}},
+ {0x4D0D,4,{0x82,0x34,0xF5,0x38,}},
+ {0x4D0E,4,{0x82,0x34,0xF5,0x39,}},
+ {0x4D0F,4,{0x82,0x34,0xF6,0x30,}},
+ {0x4D10,4,{0x82,0x34,0xF6,0x31,}},
+ {0x4D11,4,{0x82,0x34,0xF6,0x32,}},
+ {0x4D12,4,{0x82,0x34,0xF6,0x33,}},
+ {0x4D13,2,{0xFE,0x98,0x00,0x00,}},
+ {0x4D14,2,{0xFE,0x99,0x00,0x00,}},
+ {0x4D15,2,{0xFE,0x9A,0x00,0x00,}},
+ {0x4D16,2,{0xFE,0x9B,0x00,0x00,}},
+ {0x4D17,2,{0xFE,0x9C,0x00,0x00,}},
+ {0x4D18,2,{0xFE,0x9D,0x00,0x00,}},
+ {0x4D19,2,{0xFE,0x9E,0x00,0x00,}},
+ {0x4D1A,4,{0x82,0x34,0xF6,0x34,}},
+ {0x4D1B,4,{0x82,0x34,0xF6,0x35,}},
+ {0x4D1C,4,{0x82,0x34,0xF6,0x36,}},
+ {0x4D1D,4,{0x82,0x34,0xF6,0x37,}},
+ {0x4D1E,4,{0x82,0x34,0xF6,0x38,}},
+ {0x4D1F,4,{0x82,0x34,0xF6,0x39,}},
+ {0x4D20,4,{0x82,0x34,0xF7,0x30,}},
+ {0x4D21,4,{0x82,0x34,0xF7,0x31,}},
+ {0x4D22,4,{0x82,0x34,0xF7,0x32,}},
+ {0x4D23,4,{0x82,0x34,0xF7,0x33,}},
+ {0x4D24,4,{0x82,0x34,0xF7,0x34,}},
+ {0x4D25,4,{0x82,0x34,0xF7,0x35,}},
+ {0x4D26,4,{0x82,0x34,0xF7,0x36,}},
+ {0x4D27,4,{0x82,0x34,0xF7,0x37,}},
+ {0x4D28,4,{0x82,0x34,0xF7,0x38,}},
+ {0x4D29,4,{0x82,0x34,0xF7,0x39,}},
+ {0x4D2A,4,{0x82,0x34,0xF8,0x30,}},
+ {0x4D2B,4,{0x82,0x34,0xF8,0x31,}},
+ {0x4D2C,4,{0x82,0x34,0xF8,0x32,}},
+ {0x4D2D,4,{0x82,0x34,0xF8,0x33,}},
+ {0x4D2E,4,{0x82,0x34,0xF8,0x34,}},
+ {0x4D2F,4,{0x82,0x34,0xF8,0x35,}},
+ {0x4D30,4,{0x82,0x34,0xF8,0x36,}},
+ {0x4D31,4,{0x82,0x34,0xF8,0x37,}},
+ {0x4D32,4,{0x82,0x34,0xF8,0x38,}},
+ {0x4D33,4,{0x82,0x34,0xF8,0x39,}},
+ {0x4D34,4,{0x82,0x34,0xF9,0x30,}},
+ {0x4D35,4,{0x82,0x34,0xF9,0x31,}},
+ {0x4D36,4,{0x82,0x34,0xF9,0x32,}},
+ {0x4D37,4,{0x82,0x34,0xF9,0x33,}},
+ {0x4D38,4,{0x82,0x34,0xF9,0x34,}},
+ {0x4D39,4,{0x82,0x34,0xF9,0x35,}},
+ {0x4D3A,4,{0x82,0x34,0xF9,0x36,}},
+ {0x4D3B,4,{0x82,0x34,0xF9,0x37,}},
+ {0x4D3C,4,{0x82,0x34,0xF9,0x38,}},
+ {0x4D3D,4,{0x82,0x34,0xF9,0x39,}},
+ {0x4D3E,4,{0x82,0x34,0xFA,0x30,}},
+ {0x4D3F,4,{0x82,0x34,0xFA,0x31,}},
+ {0x4D40,4,{0x82,0x34,0xFA,0x32,}},
+ {0x4D41,4,{0x82,0x34,0xFA,0x33,}},
+ {0x4D42,4,{0x82,0x34,0xFA,0x34,}},
+ {0x4D43,4,{0x82,0x34,0xFA,0x35,}},
+ {0x4D44,4,{0x82,0x34,0xFA,0x36,}},
+ {0x4D45,4,{0x82,0x34,0xFA,0x37,}},
+ {0x4D46,4,{0x82,0x34,0xFA,0x38,}},
+ {0x4D47,4,{0x82,0x34,0xFA,0x39,}},
+ {0x4D48,4,{0x82,0x34,0xFB,0x30,}},
+ {0x4D49,4,{0x82,0x34,0xFB,0x31,}},
+ {0x4D4A,4,{0x82,0x34,0xFB,0x32,}},
+ {0x4D4B,4,{0x82,0x34,0xFB,0x33,}},
+ {0x4D4C,4,{0x82,0x34,0xFB,0x34,}},
+ {0x4D4D,4,{0x82,0x34,0xFB,0x35,}},
+ {0x4D4E,4,{0x82,0x34,0xFB,0x36,}},
+ {0x4D4F,4,{0x82,0x34,0xFB,0x37,}},
+ {0x4D50,4,{0x82,0x34,0xFB,0x38,}},
+ {0x4D51,4,{0x82,0x34,0xFB,0x39,}},
+ {0x4D52,4,{0x82,0x34,0xFC,0x30,}},
+ {0x4D53,4,{0x82,0x34,0xFC,0x31,}},
+ {0x4D54,4,{0x82,0x34,0xFC,0x32,}},
+ {0x4D55,4,{0x82,0x34,0xFC,0x33,}},
+ {0x4D56,4,{0x82,0x34,0xFC,0x34,}},
+ {0x4D57,4,{0x82,0x34,0xFC,0x35,}},
+ {0x4D58,4,{0x82,0x34,0xFC,0x36,}},
+ {0x4D59,4,{0x82,0x34,0xFC,0x37,}},
+ {0x4D5A,4,{0x82,0x34,0xFC,0x38,}},
+ {0x4D5B,4,{0x82,0x34,0xFC,0x39,}},
+ {0x4D5C,4,{0x82,0x34,0xFD,0x30,}},
+ {0x4D5D,4,{0x82,0x34,0xFD,0x31,}},
+ {0x4D5E,4,{0x82,0x34,0xFD,0x32,}},
+ {0x4D5F,4,{0x82,0x34,0xFD,0x33,}},
+ {0x4D60,4,{0x82,0x34,0xFD,0x34,}},
+ {0x4D61,4,{0x82,0x34,0xFD,0x35,}},
+ {0x4D62,4,{0x82,0x34,0xFD,0x36,}},
+ {0x4D63,4,{0x82,0x34,0xFD,0x37,}},
+ {0x4D64,4,{0x82,0x34,0xFD,0x38,}},
+ {0x4D65,4,{0x82,0x34,0xFD,0x39,}},
+ {0x4D66,4,{0x82,0x34,0xFE,0x30,}},
+ {0x4D67,4,{0x82,0x34,0xFE,0x31,}},
+ {0x4D68,4,{0x82,0x34,0xFE,0x32,}},
+ {0x4D69,4,{0x82,0x34,0xFE,0x33,}},
+ {0x4D6A,4,{0x82,0x34,0xFE,0x34,}},
+ {0x4D6B,4,{0x82,0x34,0xFE,0x35,}},
+ {0x4D6C,4,{0x82,0x34,0xFE,0x36,}},
+ {0x4D6D,4,{0x82,0x34,0xFE,0x37,}},
+ {0x4D6E,4,{0x82,0x34,0xFE,0x38,}},
+ {0x4D6F,4,{0x82,0x34,0xFE,0x39,}},
+ {0x4D70,4,{0x82,0x35,0x81,0x30,}},
+ {0x4D71,4,{0x82,0x35,0x81,0x31,}},
+ {0x4D72,4,{0x82,0x35,0x81,0x32,}},
+ {0x4D73,4,{0x82,0x35,0x81,0x33,}},
+ {0x4D74,4,{0x82,0x35,0x81,0x34,}},
+ {0x4D75,4,{0x82,0x35,0x81,0x35,}},
+ {0x4D76,4,{0x82,0x35,0x81,0x36,}},
+ {0x4D77,4,{0x82,0x35,0x81,0x37,}},
+ {0x4D78,4,{0x82,0x35,0x81,0x38,}},
+ {0x4D79,4,{0x82,0x35,0x81,0x39,}},
+ {0x4D7A,4,{0x82,0x35,0x82,0x30,}},
+ {0x4D7B,4,{0x82,0x35,0x82,0x31,}},
+ {0x4D7C,4,{0x82,0x35,0x82,0x32,}},
+ {0x4D7D,4,{0x82,0x35,0x82,0x33,}},
+ {0x4D7E,4,{0x82,0x35,0x82,0x34,}},
+ {0x4D7F,4,{0x82,0x35,0x82,0x35,}},
+ {0x4D80,4,{0x82,0x35,0x82,0x36,}},
+ {0x4D81,4,{0x82,0x35,0x82,0x37,}},
+ {0x4D82,4,{0x82,0x35,0x82,0x38,}},
+ {0x4D83,4,{0x82,0x35,0x82,0x39,}},
+ {0x4D84,4,{0x82,0x35,0x83,0x30,}},
+ {0x4D85,4,{0x82,0x35,0x83,0x31,}},
+ {0x4D86,4,{0x82,0x35,0x83,0x32,}},
+ {0x4D87,4,{0x82,0x35,0x83,0x33,}},
+ {0x4D88,4,{0x82,0x35,0x83,0x34,}},
+ {0x4D89,4,{0x82,0x35,0x83,0x35,}},
+ {0x4D8A,4,{0x82,0x35,0x83,0x36,}},
+ {0x4D8B,4,{0x82,0x35,0x83,0x37,}},
+ {0x4D8C,4,{0x82,0x35,0x83,0x38,}},
+ {0x4D8D,4,{0x82,0x35,0x83,0x39,}},
+ {0x4D8E,4,{0x82,0x35,0x84,0x30,}},
+ {0x4D8F,4,{0x82,0x35,0x84,0x31,}},
+ {0x4D90,4,{0x82,0x35,0x84,0x32,}},
+ {0x4D91,4,{0x82,0x35,0x84,0x33,}},
+ {0x4D92,4,{0x82,0x35,0x84,0x34,}},
+ {0x4D93,4,{0x82,0x35,0x84,0x35,}},
+ {0x4D94,4,{0x82,0x35,0x84,0x36,}},
+ {0x4D95,4,{0x82,0x35,0x84,0x37,}},
+ {0x4D96,4,{0x82,0x35,0x84,0x38,}},
+ {0x4D97,4,{0x82,0x35,0x84,0x39,}},
+ {0x4D98,4,{0x82,0x35,0x85,0x30,}},
+ {0x4D99,4,{0x82,0x35,0x85,0x31,}},
+ {0x4D9A,4,{0x82,0x35,0x85,0x32,}},
+ {0x4D9B,4,{0x82,0x35,0x85,0x33,}},
+ {0x4D9C,4,{0x82,0x35,0x85,0x34,}},
+ {0x4D9D,4,{0x82,0x35,0x85,0x35,}},
+ {0x4D9E,4,{0x82,0x35,0x85,0x36,}},
+ {0x4D9F,4,{0x82,0x35,0x85,0x37,}},
+ {0x4DA0,4,{0x82,0x35,0x85,0x38,}},
+ {0x4DA1,4,{0x82,0x35,0x85,0x39,}},
+ {0x4DA2,4,{0x82,0x35,0x86,0x30,}},
+ {0x4DA3,4,{0x82,0x35,0x86,0x31,}},
+ {0x4DA4,4,{0x82,0x35,0x86,0x32,}},
+ {0x4DA5,4,{0x82,0x35,0x86,0x33,}},
+ {0x4DA6,4,{0x82,0x35,0x86,0x34,}},
+ {0x4DA7,4,{0x82,0x35,0x86,0x35,}},
+ {0x4DA8,4,{0x82,0x35,0x86,0x36,}},
+ {0x4DA9,4,{0x82,0x35,0x86,0x37,}},
+ {0x4DAA,4,{0x82,0x35,0x86,0x38,}},
+ {0x4DAB,4,{0x82,0x35,0x86,0x39,}},
+ {0x4DAC,4,{0x82,0x35,0x87,0x30,}},
+ {0x4DAD,4,{0x82,0x35,0x87,0x31,}},
+ {0x4DAE,2,{0xFE,0x9F,0x00,0x00,}},
+ {0x4DAF,4,{0x82,0x35,0x87,0x32,}},
+ {0x4DB0,4,{0x82,0x35,0x87,0x33,}},
+ {0x4DB1,4,{0x82,0x35,0x87,0x34,}},
+ {0x4DB2,4,{0x82,0x35,0x87,0x35,}},
+ {0x4DB3,4,{0x82,0x35,0x87,0x36,}},
+ {0x4DB4,4,{0x82,0x35,0x87,0x37,}},
+ {0x4DB5,4,{0x82,0x35,0x87,0x38,}},
+ {0x4DB6,4,{0x82,0x35,0x87,0x39,}},
+ {0x4DB7,4,{0x82,0x35,0x88,0x30,}},
+ {0x4DB8,4,{0x82,0x35,0x88,0x31,}},
+ {0x4DB9,4,{0x82,0x35,0x88,0x32,}},
+ {0x4DBA,4,{0x82,0x35,0x88,0x33,}},
+ {0x4DBB,4,{0x82,0x35,0x88,0x34,}},
+ {0x4DBC,4,{0x82,0x35,0x88,0x35,}},
+ {0x4DBD,4,{0x82,0x35,0x88,0x36,}},
+ {0x4DBE,4,{0x82,0x35,0x88,0x37,}},
+ {0x4DBF,4,{0x82,0x35,0x88,0x38,}},
+ {0x4DC0,4,{0x82,0x35,0x88,0x39,}},
+ {0x4DC1,4,{0x82,0x35,0x89,0x30,}},
+ {0x4DC2,4,{0x82,0x35,0x89,0x31,}},
+ {0x4DC3,4,{0x82,0x35,0x89,0x32,}},
+ {0x4DC4,4,{0x82,0x35,0x89,0x33,}},
+ {0x4DC5,4,{0x82,0x35,0x89,0x34,}},
+ {0x4DC6,4,{0x82,0x35,0x89,0x35,}},
+ {0x4DC7,4,{0x82,0x35,0x89,0x36,}},
+ {0x4DC8,4,{0x82,0x35,0x89,0x37,}},
+ {0x4DC9,4,{0x82,0x35,0x89,0x38,}},
+ {0x4DCA,4,{0x82,0x35,0x89,0x39,}},
+ {0x4DCB,4,{0x82,0x35,0x8A,0x30,}},
+ {0x4DCC,4,{0x82,0x35,0x8A,0x31,}},
+ {0x4DCD,4,{0x82,0x35,0x8A,0x32,}},
+ {0x4DCE,4,{0x82,0x35,0x8A,0x33,}},
+ {0x4DCF,4,{0x82,0x35,0x8A,0x34,}},
+ {0x4DD0,4,{0x82,0x35,0x8A,0x35,}},
+ {0x4DD1,4,{0x82,0x35,0x8A,0x36,}},
+ {0x4DD2,4,{0x82,0x35,0x8A,0x37,}},
+ {0x4DD3,4,{0x82,0x35,0x8A,0x38,}},
+ {0x4DD4,4,{0x82,0x35,0x8A,0x39,}},
+ {0x4DD5,4,{0x82,0x35,0x8B,0x30,}},
+ {0x4DD6,4,{0x82,0x35,0x8B,0x31,}},
+ {0x4DD7,4,{0x82,0x35,0x8B,0x32,}},
+ {0x4DD8,4,{0x82,0x35,0x8B,0x33,}},
+ {0x4DD9,4,{0x82,0x35,0x8B,0x34,}},
+ {0x4DDA,4,{0x82,0x35,0x8B,0x35,}},
+ {0x4DDB,4,{0x82,0x35,0x8B,0x36,}},
+ {0x4DDC,4,{0x82,0x35,0x8B,0x37,}},
+ {0x4DDD,4,{0x82,0x35,0x8B,0x38,}},
+ {0x4DDE,4,{0x82,0x35,0x8B,0x39,}},
+ {0x4DDF,4,{0x82,0x35,0x8C,0x30,}},
+ {0x4DE0,4,{0x82,0x35,0x8C,0x31,}},
+ {0x4DE1,4,{0x82,0x35,0x8C,0x32,}},
+ {0x4DE2,4,{0x82,0x35,0x8C,0x33,}},
+ {0x4DE3,4,{0x82,0x35,0x8C,0x34,}},
+ {0x4DE4,4,{0x82,0x35,0x8C,0x35,}},
+ {0x4DE5,4,{0x82,0x35,0x8C,0x36,}},
+ {0x4DE6,4,{0x82,0x35,0x8C,0x37,}},
+ {0x4DE7,4,{0x82,0x35,0x8C,0x38,}},
+ {0x4DE8,4,{0x82,0x35,0x8C,0x39,}},
+ {0x4DE9,4,{0x82,0x35,0x8D,0x30,}},
+ {0x4DEA,4,{0x82,0x35,0x8D,0x31,}},
+ {0x4DEB,4,{0x82,0x35,0x8D,0x32,}},
+ {0x4DEC,4,{0x82,0x35,0x8D,0x33,}},
+ {0x4DED,4,{0x82,0x35,0x8D,0x34,}},
+ {0x4DEE,4,{0x82,0x35,0x8D,0x35,}},
+ {0x4DEF,4,{0x82,0x35,0x8D,0x36,}},
+ {0x4DF0,4,{0x82,0x35,0x8D,0x37,}},
+ {0x4DF1,4,{0x82,0x35,0x8D,0x38,}},
+ {0x4DF2,4,{0x82,0x35,0x8D,0x39,}},
+ {0x4DF3,4,{0x82,0x35,0x8E,0x30,}},
+ {0x4DF4,4,{0x82,0x35,0x8E,0x31,}},
+ {0x4DF5,4,{0x82,0x35,0x8E,0x32,}},
+ {0x4DF6,4,{0x82,0x35,0x8E,0x33,}},
+ {0x4DF7,4,{0x82,0x35,0x8E,0x34,}},
+ {0x4DF8,4,{0x82,0x35,0x8E,0x35,}},
+ {0x4DF9,4,{0x82,0x35,0x8E,0x36,}},
+ {0x4DFA,4,{0x82,0x35,0x8E,0x37,}},
+ {0x4DFB,4,{0x82,0x35,0x8E,0x38,}},
+ {0x4DFC,4,{0x82,0x35,0x8E,0x39,}},
+ {0x4DFD,4,{0x82,0x35,0x8F,0x30,}},
+ {0x4DFE,4,{0x82,0x35,0x8F,0x31,}},
+ {0x4DFF,4,{0x82,0x35,0x8F,0x32,}},
+ {0x4E00,2,{0xD2,0xBB,0x00,0x00,}},
+ {0x4E01,2,{0xB6,0xA1,0x00,0x00,}},
+ {0x4E02,2,{0x81,0x40,0x00,0x00,}},
+ {0x4E03,2,{0xC6,0xDF,0x00,0x00,}},
+ {0x4E04,2,{0x81,0x41,0x00,0x00,}},
+ {0x4E05,2,{0x81,0x42,0x00,0x00,}},
+ {0x4E06,2,{0x81,0x43,0x00,0x00,}},
+ {0x4E07,2,{0xCD,0xF2,0x00,0x00,}},
+ {0x4E08,2,{0xD5,0xC9,0x00,0x00,}},
+ {0x4E09,2,{0xC8,0xFD,0x00,0x00,}},
+ {0x4E0A,2,{0xC9,0xCF,0x00,0x00,}},
+ {0x4E0B,2,{0xCF,0xC2,0x00,0x00,}},
+ {0x4E0C,2,{0xD8,0xA2,0x00,0x00,}},
+ {0x4E0D,2,{0xB2,0xBB,0x00,0x00,}},
+ {0x4E0E,2,{0xD3,0xEB,0x00,0x00,}},
+ {0x4E0F,2,{0x81,0x44,0x00,0x00,}},
+ {0x4E10,2,{0xD8,0xA4,0x00,0x00,}},
+ {0x4E11,2,{0xB3,0xF3,0x00,0x00,}},
+ {0x4E12,2,{0x81,0x45,0x00,0x00,}},
+ {0x4E13,2,{0xD7,0xA8,0x00,0x00,}},
+ {0x4E14,2,{0xC7,0xD2,0x00,0x00,}},
+ {0x4E15,2,{0xD8,0xA7,0x00,0x00,}},
+ {0x4E16,2,{0xCA,0xC0,0x00,0x00,}},
+ {0x4E17,2,{0x81,0x46,0x00,0x00,}},
+ {0x4E18,2,{0xC7,0xF0,0x00,0x00,}},
+ {0x4E19,2,{0xB1,0xFB,0x00,0x00,}},
+ {0x4E1A,2,{0xD2,0xB5,0x00,0x00,}},
+ {0x4E1B,2,{0xB4,0xD4,0x00,0x00,}},
+ {0x4E1C,2,{0xB6,0xAB,0x00,0x00,}},
+ {0x4E1D,2,{0xCB,0xBF,0x00,0x00,}},
+ {0x4E1E,2,{0xD8,0xA9,0x00,0x00,}},
+ {0x4E1F,2,{0x81,0x47,0x00,0x00,}},
+ {0x4E20,2,{0x81,0x48,0x00,0x00,}},
+ {0x4E21,2,{0x81,0x49,0x00,0x00,}},
+ {0x4E22,2,{0xB6,0xAA,0x00,0x00,}},
+ {0x4E23,2,{0x81,0x4A,0x00,0x00,}},
+ {0x4E24,2,{0xC1,0xBD,0x00,0x00,}},
+ {0x4E25,2,{0xD1,0xCF,0x00,0x00,}},
+ {0x4E26,2,{0x81,0x4B,0x00,0x00,}},
+ {0x4E27,2,{0xC9,0xA5,0x00,0x00,}},
+ {0x4E28,2,{0xD8,0xAD,0x00,0x00,}},
+ {0x4E29,2,{0x81,0x4C,0x00,0x00,}},
+ {0x4E2A,2,{0xB8,0xF6,0x00,0x00,}},
+ {0x4E2B,2,{0xD1,0xBE,0x00,0x00,}},
+ {0x4E2C,2,{0xE3,0xDC,0x00,0x00,}},
+ {0x4E2D,2,{0xD6,0xD0,0x00,0x00,}},
+ {0x4E2E,2,{0x81,0x4D,0x00,0x00,}},
+ {0x4E2F,2,{0x81,0x4E,0x00,0x00,}},
+ {0x4E30,2,{0xB7,0xE1,0x00,0x00,}},
+ {0x4E31,2,{0x81,0x4F,0x00,0x00,}},
+ {0x4E32,2,{0xB4,0xAE,0x00,0x00,}},
+ {0x4E33,2,{0x81,0x50,0x00,0x00,}},
+ {0x4E34,2,{0xC1,0xD9,0x00,0x00,}},
+ {0x4E35,2,{0x81,0x51,0x00,0x00,}},
+ {0x4E36,2,{0xD8,0xBC,0x00,0x00,}},
+ {0x4E37,2,{0x81,0x52,0x00,0x00,}},
+ {0x4E38,2,{0xCD,0xE8,0x00,0x00,}},
+ {0x4E39,2,{0xB5,0xA4,0x00,0x00,}},
+ {0x4E3A,2,{0xCE,0xAA,0x00,0x00,}},
+ {0x4E3B,2,{0xD6,0xF7,0x00,0x00,}},
+ {0x4E3C,2,{0x81,0x53,0x00,0x00,}},
+ {0x4E3D,2,{0xC0,0xF6,0x00,0x00,}},
+ {0x4E3E,2,{0xBE,0xD9,0x00,0x00,}},
+ {0x4E3F,2,{0xD8,0xAF,0x00,0x00,}},
+ {0x4E40,2,{0x81,0x54,0x00,0x00,}},
+ {0x4E41,2,{0x81,0x55,0x00,0x00,}},
+ {0x4E42,2,{0x81,0x56,0x00,0x00,}},
+ {0x4E43,2,{0xC4,0xCB,0x00,0x00,}},
+ {0x4E44,2,{0x81,0x57,0x00,0x00,}},
+ {0x4E45,2,{0xBE,0xC3,0x00,0x00,}},
+ {0x4E46,2,{0x81,0x58,0x00,0x00,}},
+ {0x4E47,2,{0xD8,0xB1,0x00,0x00,}},
+ {0x4E48,2,{0xC3,0xB4,0x00,0x00,}},
+ {0x4E49,2,{0xD2,0xE5,0x00,0x00,}},
+ {0x4E4A,2,{0x81,0x59,0x00,0x00,}},
+ {0x4E4B,2,{0xD6,0xAE,0x00,0x00,}},
+ {0x4E4C,2,{0xCE,0xDA,0x00,0x00,}},
+ {0x4E4D,2,{0xD5,0xA7,0x00,0x00,}},
+ {0x4E4E,2,{0xBA,0xF5,0x00,0x00,}},
+ {0x4E4F,2,{0xB7,0xA6,0x00,0x00,}},
+ {0x4E50,2,{0xC0,0xD6,0x00,0x00,}},
+ {0x4E51,2,{0x81,0x5A,0x00,0x00,}},
+ {0x4E52,2,{0xC6,0xB9,0x00,0x00,}},
+ {0x4E53,2,{0xC5,0xD2,0x00,0x00,}},
+ {0x4E54,2,{0xC7,0xC7,0x00,0x00,}},
+ {0x4E55,2,{0x81,0x5B,0x00,0x00,}},
+ {0x4E56,2,{0xB9,0xD4,0x00,0x00,}},
+ {0x4E57,2,{0x81,0x5C,0x00,0x00,}},
+ {0x4E58,2,{0xB3,0xCB,0x00,0x00,}},
+ {0x4E59,2,{0xD2,0xD2,0x00,0x00,}},
+ {0x4E5A,2,{0x81,0x5D,0x00,0x00,}},
+ {0x4E5B,2,{0x81,0x5E,0x00,0x00,}},
+ {0x4E5C,2,{0xD8,0xBF,0x00,0x00,}},
+ {0x4E5D,2,{0xBE,0xC5,0x00,0x00,}},
+ {0x4E5E,2,{0xC6,0xF2,0x00,0x00,}},
+ {0x4E5F,2,{0xD2,0xB2,0x00,0x00,}},
+ {0x4E60,2,{0xCF,0xB0,0x00,0x00,}},
+ {0x4E61,2,{0xCF,0xE7,0x00,0x00,}},
+ {0x4E62,2,{0x81,0x5F,0x00,0x00,}},
+ {0x4E63,2,{0x81,0x60,0x00,0x00,}},
+ {0x4E64,2,{0x81,0x61,0x00,0x00,}},
+ {0x4E65,2,{0x81,0x62,0x00,0x00,}},
+ {0x4E66,2,{0xCA,0xE9,0x00,0x00,}},
+ {0x4E67,2,{0x81,0x63,0x00,0x00,}},
+ {0x4E68,2,{0x81,0x64,0x00,0x00,}},
+ {0x4E69,2,{0xD8,0xC0,0x00,0x00,}},
+ {0x4E6A,2,{0x81,0x65,0x00,0x00,}},
+ {0x4E6B,2,{0x81,0x66,0x00,0x00,}},
+ {0x4E6C,2,{0x81,0x67,0x00,0x00,}},
+ {0x4E6D,2,{0x81,0x68,0x00,0x00,}},
+ {0x4E6E,2,{0x81,0x69,0x00,0x00,}},
+ {0x4E6F,2,{0x81,0x6A,0x00,0x00,}},
+ {0x4E70,2,{0xC2,0xF2,0x00,0x00,}},
+ {0x4E71,2,{0xC2,0xD2,0x00,0x00,}},
+ {0x4E72,2,{0x81,0x6B,0x00,0x00,}},
+ {0x4E73,2,{0xC8,0xE9,0x00,0x00,}},
+ {0x4E74,2,{0x81,0x6C,0x00,0x00,}},
+ {0x4E75,2,{0x81,0x6D,0x00,0x00,}},
+ {0x4E76,2,{0x81,0x6E,0x00,0x00,}},
+ {0x4E77,2,{0x81,0x6F,0x00,0x00,}},
+ {0x4E78,2,{0x81,0x70,0x00,0x00,}},
+ {0x4E79,2,{0x81,0x71,0x00,0x00,}},
+ {0x4E7A,2,{0x81,0x72,0x00,0x00,}},
+ {0x4E7B,2,{0x81,0x73,0x00,0x00,}},
+ {0x4E7C,2,{0x81,0x74,0x00,0x00,}},
+ {0x4E7D,2,{0x81,0x75,0x00,0x00,}},
+ {0x4E7E,2,{0xC7,0xAC,0x00,0x00,}},
+ {0x4E7F,2,{0x81,0x76,0x00,0x00,}},
+ {0x4E80,2,{0x81,0x77,0x00,0x00,}},
+ {0x4E81,2,{0x81,0x78,0x00,0x00,}},
+ {0x4E82,2,{0x81,0x79,0x00,0x00,}},
+ {0x4E83,2,{0x81,0x7A,0x00,0x00,}},
+ {0x4E84,2,{0x81,0x7B,0x00,0x00,}},
+ {0x4E85,2,{0x81,0x7C,0x00,0x00,}},
+ {0x4E86,2,{0xC1,0xCB,0x00,0x00,}},
+ {0x4E87,2,{0x81,0x7D,0x00,0x00,}},
+ {0x4E88,2,{0xD3,0xE8,0x00,0x00,}},
+ {0x4E89,2,{0xD5,0xF9,0x00,0x00,}},
+ {0x4E8A,2,{0x81,0x7E,0x00,0x00,}},
+ {0x4E8B,2,{0xCA,0xC2,0x00,0x00,}},
+ {0x4E8C,2,{0xB6,0xFE,0x00,0x00,}},
+ {0x4E8D,2,{0xD8,0xA1,0x00,0x00,}},
+ {0x4E8E,2,{0xD3,0xDA,0x00,0x00,}},
+ {0x4E8F,2,{0xBF,0xF7,0x00,0x00,}},
+ {0x4E90,2,{0x81,0x80,0x00,0x00,}},
+ {0x4E91,2,{0xD4,0xC6,0x00,0x00,}},
+ {0x4E92,2,{0xBB,0xA5,0x00,0x00,}},
+ {0x4E93,2,{0xD8,0xC1,0x00,0x00,}},
+ {0x4E94,2,{0xCE,0xE5,0x00,0x00,}},
+ {0x4E95,2,{0xBE,0xAE,0x00,0x00,}},
+ {0x4E96,2,{0x81,0x81,0x00,0x00,}},
+ {0x4E97,2,{0x81,0x82,0x00,0x00,}},
+ {0x4E98,2,{0xD8,0xA8,0x00,0x00,}},
+ {0x4E99,2,{0x81,0x83,0x00,0x00,}},
+ {0x4E9A,2,{0xD1,0xC7,0x00,0x00,}},
+ {0x4E9B,2,{0xD0,0xA9,0x00,0x00,}},
+ {0x4E9C,2,{0x81,0x84,0x00,0x00,}},
+ {0x4E9D,2,{0x81,0x85,0x00,0x00,}},
+ {0x4E9E,2,{0x81,0x86,0x00,0x00,}},
+ {0x4E9F,2,{0xD8,0xBD,0x00,0x00,}},
+ {0x4EA0,2,{0xD9,0xEF,0x00,0x00,}},
+ {0x4EA1,2,{0xCD,0xF6,0x00,0x00,}},
+ {0x4EA2,2,{0xBF,0xBA,0x00,0x00,}},
+ {0x4EA3,2,{0x81,0x87,0x00,0x00,}},
+ {0x4EA4,2,{0xBD,0xBB,0x00,0x00,}},
+ {0x4EA5,2,{0xBA,0xA5,0x00,0x00,}},
+ {0x4EA6,2,{0xD2,0xE0,0x00,0x00,}},
+ {0x4EA7,2,{0xB2,0xFA,0x00,0x00,}},
+ {0x4EA8,2,{0xBA,0xE0,0x00,0x00,}},
+ {0x4EA9,2,{0xC4,0xB6,0x00,0x00,}},
+ {0x4EAA,2,{0x81,0x88,0x00,0x00,}},
+ {0x4EAB,2,{0xCF,0xED,0x00,0x00,}},
+ {0x4EAC,2,{0xBE,0xA9,0x00,0x00,}},
+ {0x4EAD,2,{0xCD,0xA4,0x00,0x00,}},
+ {0x4EAE,2,{0xC1,0xC1,0x00,0x00,}},
+ {0x4EAF,2,{0x81,0x89,0x00,0x00,}},
+ {0x4EB0,2,{0x81,0x8A,0x00,0x00,}},
+ {0x4EB1,2,{0x81,0x8B,0x00,0x00,}},
+ {0x4EB2,2,{0xC7,0xD7,0x00,0x00,}},
+ {0x4EB3,2,{0xD9,0xF1,0x00,0x00,}},
+ {0x4EB4,2,{0x81,0x8C,0x00,0x00,}},
+ {0x4EB5,2,{0xD9,0xF4,0x00,0x00,}},
+ {0x4EB6,2,{0x81,0x8D,0x00,0x00,}},
+ {0x4EB7,2,{0x81,0x8E,0x00,0x00,}},
+ {0x4EB8,2,{0x81,0x8F,0x00,0x00,}},
+ {0x4EB9,2,{0x81,0x90,0x00,0x00,}},
+ {0x4EBA,2,{0xC8,0xCB,0x00,0x00,}},
+ {0x4EBB,2,{0xD8,0xE9,0x00,0x00,}},
+ {0x4EBC,2,{0x81,0x91,0x00,0x00,}},
+ {0x4EBD,2,{0x81,0x92,0x00,0x00,}},
+ {0x4EBE,2,{0x81,0x93,0x00,0x00,}},
+ {0x4EBF,2,{0xD2,0xDA,0x00,0x00,}},
+ {0x4EC0,2,{0xCA,0xB2,0x00,0x00,}},
+ {0x4EC1,2,{0xC8,0xCA,0x00,0x00,}},
+ {0x4EC2,2,{0xD8,0xEC,0x00,0x00,}},
+ {0x4EC3,2,{0xD8,0xEA,0x00,0x00,}},
+ {0x4EC4,2,{0xD8,0xC6,0x00,0x00,}},
+ {0x4EC5,2,{0xBD,0xF6,0x00,0x00,}},
+ {0x4EC6,2,{0xC6,0xCD,0x00,0x00,}},
+ {0x4EC7,2,{0xB3,0xF0,0x00,0x00,}},
+ {0x4EC8,2,{0x81,0x94,0x00,0x00,}},
+ {0x4EC9,2,{0xD8,0xEB,0x00,0x00,}},
+ {0x4ECA,2,{0xBD,0xF1,0x00,0x00,}},
+ {0x4ECB,2,{0xBD,0xE9,0x00,0x00,}},
+ {0x4ECC,2,{0x81,0x95,0x00,0x00,}},
+ {0x4ECD,2,{0xC8,0xD4,0x00,0x00,}},
+ {0x4ECE,2,{0xB4,0xD3,0x00,0x00,}},
+ {0x4ECF,2,{0x81,0x96,0x00,0x00,}},
+ {0x4ED0,2,{0x81,0x97,0x00,0x00,}},
+ {0x4ED1,2,{0xC2,0xD8,0x00,0x00,}},
+ {0x4ED2,2,{0x81,0x98,0x00,0x00,}},
+ {0x4ED3,2,{0xB2,0xD6,0x00,0x00,}},
+ {0x4ED4,2,{0xD7,0xD0,0x00,0x00,}},
+ {0x4ED5,2,{0xCA,0xCB,0x00,0x00,}},
+ {0x4ED6,2,{0xCB,0xFB,0x00,0x00,}},
+ {0x4ED7,2,{0xD5,0xCC,0x00,0x00,}},
+ {0x4ED8,2,{0xB8,0xB6,0x00,0x00,}},
+ {0x4ED9,2,{0xCF,0xC9,0x00,0x00,}},
+ {0x4EDA,2,{0x81,0x99,0x00,0x00,}},
+ {0x4EDB,2,{0x81,0x9A,0x00,0x00,}},
+ {0x4EDC,2,{0x81,0x9B,0x00,0x00,}},
+ {0x4EDD,2,{0xD9,0xDA,0x00,0x00,}},
+ {0x4EDE,2,{0xD8,0xF0,0x00,0x00,}},
+ {0x4EDF,2,{0xC7,0xAA,0x00,0x00,}},
+ {0x4EE0,2,{0x81,0x9C,0x00,0x00,}},
+ {0x4EE1,2,{0xD8,0xEE,0x00,0x00,}},
+ {0x4EE2,2,{0x81,0x9D,0x00,0x00,}},
+ {0x4EE3,2,{0xB4,0xFA,0x00,0x00,}},
+ {0x4EE4,2,{0xC1,0xEE,0x00,0x00,}},
+ {0x4EE5,2,{0xD2,0xD4,0x00,0x00,}},
+ {0x4EE6,2,{0x81,0x9E,0x00,0x00,}},
+ {0x4EE7,2,{0x81,0x9F,0x00,0x00,}},
+ {0x4EE8,2,{0xD8,0xED,0x00,0x00,}},
+ {0x4EE9,2,{0x81,0xA0,0x00,0x00,}},
+ {0x4EEA,2,{0xD2,0xC7,0x00,0x00,}},
+ {0x4EEB,2,{0xD8,0xEF,0x00,0x00,}},
+ {0x4EEC,2,{0xC3,0xC7,0x00,0x00,}},
+ {0x4EED,2,{0x81,0xA1,0x00,0x00,}},
+ {0x4EEE,2,{0x81,0xA2,0x00,0x00,}},
+ {0x4EEF,2,{0x81,0xA3,0x00,0x00,}},
+ {0x4EF0,2,{0xD1,0xF6,0x00,0x00,}},
+ {0x4EF1,2,{0x81,0xA4,0x00,0x00,}},
+ {0x4EF2,2,{0xD6,0xD9,0x00,0x00,}},
+ {0x4EF3,2,{0xD8,0xF2,0x00,0x00,}},
+ {0x4EF4,2,{0x81,0xA5,0x00,0x00,}},
+ {0x4EF5,2,{0xD8,0xF5,0x00,0x00,}},
+ {0x4EF6,2,{0xBC,0xFE,0x00,0x00,}},
+ {0x4EF7,2,{0xBC,0xDB,0x00,0x00,}},
+ {0x4EF8,2,{0x81,0xA6,0x00,0x00,}},
+ {0x4EF9,2,{0x81,0xA7,0x00,0x00,}},
+ {0x4EFA,2,{0x81,0xA8,0x00,0x00,}},
+ {0x4EFB,2,{0xC8,0xCE,0x00,0x00,}},
+ {0x4EFC,2,{0x81,0xA9,0x00,0x00,}},
+ {0x4EFD,2,{0xB7,0xDD,0x00,0x00,}},
+ {0x4EFE,2,{0x81,0xAA,0x00,0x00,}},
+ {0x4EFF,2,{0xB7,0xC2,0x00,0x00,}},
+ {0x4F00,2,{0x81,0xAB,0x00,0x00,}},
+ {0x4F01,2,{0xC6,0xF3,0x00,0x00,}},
+ {0x4F02,2,{0x81,0xAC,0x00,0x00,}},
+ {0x4F03,2,{0x81,0xAD,0x00,0x00,}},
+ {0x4F04,2,{0x81,0xAE,0x00,0x00,}},
+ {0x4F05,2,{0x81,0xAF,0x00,0x00,}},
+ {0x4F06,2,{0x81,0xB0,0x00,0x00,}},
+ {0x4F07,2,{0x81,0xB1,0x00,0x00,}},
+ {0x4F08,2,{0x81,0xB2,0x00,0x00,}},
+ {0x4F09,2,{0xD8,0xF8,0x00,0x00,}},
+ {0x4F0A,2,{0xD2,0xC1,0x00,0x00,}},
+ {0x4F0B,2,{0x81,0xB3,0x00,0x00,}},
+ {0x4F0C,2,{0x81,0xB4,0x00,0x00,}},
+ {0x4F0D,2,{0xCE,0xE9,0x00,0x00,}},
+ {0x4F0E,2,{0xBC,0xBF,0x00,0x00,}},
+ {0x4F0F,2,{0xB7,0xFC,0x00,0x00,}},
+ {0x4F10,2,{0xB7,0xA5,0x00,0x00,}},
+ {0x4F11,2,{0xD0,0xDD,0x00,0x00,}},
+ {0x4F12,2,{0x81,0xB5,0x00,0x00,}},
+ {0x4F13,2,{0x81,0xB6,0x00,0x00,}},
+ {0x4F14,2,{0x81,0xB7,0x00,0x00,}},
+ {0x4F15,2,{0x81,0xB8,0x00,0x00,}},
+ {0x4F16,2,{0x81,0xB9,0x00,0x00,}},
+ {0x4F17,2,{0xD6,0xDA,0x00,0x00,}},
+ {0x4F18,2,{0xD3,0xC5,0x00,0x00,}},
+ {0x4F19,2,{0xBB,0xEF,0x00,0x00,}},
+ {0x4F1A,2,{0xBB,0xE1,0x00,0x00,}},
+ {0x4F1B,2,{0xD8,0xF1,0x00,0x00,}},
+ {0x4F1C,2,{0x81,0xBA,0x00,0x00,}},
+ {0x4F1D,2,{0x81,0xBB,0x00,0x00,}},
+ {0x4F1E,2,{0xC9,0xA1,0x00,0x00,}},
+ {0x4F1F,2,{0xCE,0xB0,0x00,0x00,}},
+ {0x4F20,2,{0xB4,0xAB,0x00,0x00,}},
+ {0x4F21,2,{0x81,0xBC,0x00,0x00,}},
+ {0x4F22,2,{0xD8,0xF3,0x00,0x00,}},
+ {0x4F23,2,{0x81,0xBD,0x00,0x00,}},
+ {0x4F24,2,{0xC9,0xCB,0x00,0x00,}},
+ {0x4F25,2,{0xD8,0xF6,0x00,0x00,}},
+ {0x4F26,2,{0xC2,0xD7,0x00,0x00,}},
+ {0x4F27,2,{0xD8,0xF7,0x00,0x00,}},
+ {0x4F28,2,{0x81,0xBE,0x00,0x00,}},
+ {0x4F29,2,{0x81,0xBF,0x00,0x00,}},
+ {0x4F2A,2,{0xCE,0xB1,0x00,0x00,}},
+ {0x4F2B,2,{0xD8,0xF9,0x00,0x00,}},
+ {0x4F2C,2,{0x81,0xC0,0x00,0x00,}},
+ {0x4F2D,2,{0x81,0xC1,0x00,0x00,}},
+ {0x4F2E,2,{0x81,0xC2,0x00,0x00,}},
+ {0x4F2F,2,{0xB2,0xAE,0x00,0x00,}},
+ {0x4F30,2,{0xB9,0xC0,0x00,0x00,}},
+ {0x4F31,2,{0x81,0xC3,0x00,0x00,}},
+ {0x4F32,2,{0xD9,0xA3,0x00,0x00,}},
+ {0x4F33,2,{0x81,0xC4,0x00,0x00,}},
+ {0x4F34,2,{0xB0,0xE9,0x00,0x00,}},
+ {0x4F35,2,{0x81,0xC5,0x00,0x00,}},
+ {0x4F36,2,{0xC1,0xE6,0x00,0x00,}},
+ {0x4F37,2,{0x81,0xC6,0x00,0x00,}},
+ {0x4F38,2,{0xC9,0xEC,0x00,0x00,}},
+ {0x4F39,2,{0x81,0xC7,0x00,0x00,}},
+ {0x4F3A,2,{0xCB,0xC5,0x00,0x00,}},
+ {0x4F3B,2,{0x81,0xC8,0x00,0x00,}},
+ {0x4F3C,2,{0xCB,0xC6,0x00,0x00,}},
+ {0x4F3D,2,{0xD9,0xA4,0x00,0x00,}},
+ {0x4F3E,2,{0x81,0xC9,0x00,0x00,}},
+ {0x4F3F,2,{0x81,0xCA,0x00,0x00,}},
+ {0x4F40,2,{0x81,0xCB,0x00,0x00,}},
+ {0x4F41,2,{0x81,0xCC,0x00,0x00,}},
+ {0x4F42,2,{0x81,0xCD,0x00,0x00,}},
+ {0x4F43,2,{0xB5,0xE8,0x00,0x00,}},
+ {0x4F44,2,{0x81,0xCE,0x00,0x00,}},
+ {0x4F45,2,{0x81,0xCF,0x00,0x00,}},
+ {0x4F46,2,{0xB5,0xAB,0x00,0x00,}},
+ {0x4F47,2,{0x81,0xD0,0x00,0x00,}},
+ {0x4F48,2,{0x81,0xD1,0x00,0x00,}},
+ {0x4F49,2,{0x81,0xD2,0x00,0x00,}},
+ {0x4F4A,2,{0x81,0xD3,0x00,0x00,}},
+ {0x4F4B,2,{0x81,0xD4,0x00,0x00,}},
+ {0x4F4C,2,{0x81,0xD5,0x00,0x00,}},
+ {0x4F4D,2,{0xCE,0xBB,0x00,0x00,}},
+ {0x4F4E,2,{0xB5,0xCD,0x00,0x00,}},
+ {0x4F4F,2,{0xD7,0xA1,0x00,0x00,}},
+ {0x4F50,2,{0xD7,0xF4,0x00,0x00,}},
+ {0x4F51,2,{0xD3,0xD3,0x00,0x00,}},
+ {0x4F52,2,{0x81,0xD6,0x00,0x00,}},
+ {0x4F53,2,{0xCC,0xE5,0x00,0x00,}},
+ {0x4F54,2,{0x81,0xD7,0x00,0x00,}},
+ {0x4F55,2,{0xBA,0xCE,0x00,0x00,}},
+ {0x4F56,2,{0x81,0xD8,0x00,0x00,}},
+ {0x4F57,2,{0xD9,0xA2,0x00,0x00,}},
+ {0x4F58,2,{0xD9,0xDC,0x00,0x00,}},
+ {0x4F59,2,{0xD3,0xE0,0x00,0x00,}},
+ {0x4F5A,2,{0xD8,0xFD,0x00,0x00,}},
+ {0x4F5B,2,{0xB7,0xF0,0x00,0x00,}},
+ {0x4F5C,2,{0xD7,0xF7,0x00,0x00,}},
+ {0x4F5D,2,{0xD8,0xFE,0x00,0x00,}},
+ {0x4F5E,2,{0xD8,0xFA,0x00,0x00,}},
+ {0x4F5F,2,{0xD9,0xA1,0x00,0x00,}},
+ {0x4F60,2,{0xC4,0xE3,0x00,0x00,}},
+ {0x4F61,2,{0x81,0xD9,0x00,0x00,}},
+ {0x4F62,2,{0x81,0xDA,0x00,0x00,}},
+ {0x4F63,2,{0xD3,0xB6,0x00,0x00,}},
+ {0x4F64,2,{0xD8,0xF4,0x00,0x00,}},
+ {0x4F65,2,{0xD9,0xDD,0x00,0x00,}},
+ {0x4F66,2,{0x81,0xDB,0x00,0x00,}},
+ {0x4F67,2,{0xD8,0xFB,0x00,0x00,}},
+ {0x4F68,2,{0x81,0xDC,0x00,0x00,}},
+ {0x4F69,2,{0xC5,0xE5,0x00,0x00,}},
+ {0x4F6A,2,{0x81,0xDD,0x00,0x00,}},
+ {0x4F6B,2,{0x81,0xDE,0x00,0x00,}},
+ {0x4F6C,2,{0xC0,0xD0,0x00,0x00,}},
+ {0x4F6D,2,{0x81,0xDF,0x00,0x00,}},
+ {0x4F6E,2,{0x81,0xE0,0x00,0x00,}},
+ {0x4F6F,2,{0xD1,0xF0,0x00,0x00,}},
+ {0x4F70,2,{0xB0,0xDB,0x00,0x00,}},
+ {0x4F71,2,{0x81,0xE1,0x00,0x00,}},
+ {0x4F72,2,{0x81,0xE2,0x00,0x00,}},
+ {0x4F73,2,{0xBC,0xD1,0x00,0x00,}},
+ {0x4F74,2,{0xD9,0xA6,0x00,0x00,}},
+ {0x4F75,2,{0x81,0xE3,0x00,0x00,}},
+ {0x4F76,2,{0xD9,0xA5,0x00,0x00,}},
+ {0x4F77,2,{0x81,0xE4,0x00,0x00,}},
+ {0x4F78,2,{0x81,0xE5,0x00,0x00,}},
+ {0x4F79,2,{0x81,0xE6,0x00,0x00,}},
+ {0x4F7A,2,{0x81,0xE7,0x00,0x00,}},
+ {0x4F7B,2,{0xD9,0xAC,0x00,0x00,}},
+ {0x4F7C,2,{0xD9,0xAE,0x00,0x00,}},
+ {0x4F7D,2,{0x81,0xE8,0x00,0x00,}},
+ {0x4F7E,2,{0xD9,0xAB,0x00,0x00,}},
+ {0x4F7F,2,{0xCA,0xB9,0x00,0x00,}},
+ {0x4F80,2,{0x81,0xE9,0x00,0x00,}},
+ {0x4F81,2,{0x81,0xEA,0x00,0x00,}},
+ {0x4F82,2,{0x81,0xEB,0x00,0x00,}},
+ {0x4F83,2,{0xD9,0xA9,0x00,0x00,}},
+ {0x4F84,2,{0xD6,0xB6,0x00,0x00,}},
+ {0x4F85,2,{0x81,0xEC,0x00,0x00,}},
+ {0x4F86,2,{0x81,0xED,0x00,0x00,}},
+ {0x4F87,2,{0x81,0xEE,0x00,0x00,}},
+ {0x4F88,2,{0xB3,0xDE,0x00,0x00,}},
+ {0x4F89,2,{0xD9,0xA8,0x00,0x00,}},
+ {0x4F8A,2,{0x81,0xEF,0x00,0x00,}},
+ {0x4F8B,2,{0xC0,0xFD,0x00,0x00,}},
+ {0x4F8C,2,{0x81,0xF0,0x00,0x00,}},
+ {0x4F8D,2,{0xCA,0xCC,0x00,0x00,}},
+ {0x4F8E,2,{0x81,0xF1,0x00,0x00,}},
+ {0x4F8F,2,{0xD9,0xAA,0x00,0x00,}},
+ {0x4F90,2,{0x81,0xF2,0x00,0x00,}},
+ {0x4F91,2,{0xD9,0xA7,0x00,0x00,}},
+ {0x4F92,2,{0x81,0xF3,0x00,0x00,}},
+ {0x4F93,2,{0x81,0xF4,0x00,0x00,}},
+ {0x4F94,2,{0xD9,0xB0,0x00,0x00,}},
+ {0x4F95,2,{0x81,0xF5,0x00,0x00,}},
+ {0x4F96,2,{0x81,0xF6,0x00,0x00,}},
+ {0x4F97,2,{0xB6,0xB1,0x00,0x00,}},
+ {0x4F98,2,{0x81,0xF7,0x00,0x00,}},
+ {0x4F99,2,{0x81,0xF8,0x00,0x00,}},
+ {0x4F9A,2,{0x81,0xF9,0x00,0x00,}},
+ {0x4F9B,2,{0xB9,0xA9,0x00,0x00,}},
+ {0x4F9C,2,{0x81,0xFA,0x00,0x00,}},
+ {0x4F9D,2,{0xD2,0xC0,0x00,0x00,}},
+ {0x4F9E,2,{0x81,0xFB,0x00,0x00,}},
+ {0x4F9F,2,{0x81,0xFC,0x00,0x00,}},
+ {0x4FA0,2,{0xCF,0xC0,0x00,0x00,}},
+ {0x4FA1,2,{0x81,0xFD,0x00,0x00,}},
+ {0x4FA2,2,{0x81,0xFE,0x00,0x00,}},
+ {0x4FA3,2,{0xC2,0xC2,0x00,0x00,}},
+ {0x4FA4,2,{0x82,0x40,0x00,0x00,}},
+ {0x4FA5,2,{0xBD,0xC4,0x00,0x00,}},
+ {0x4FA6,2,{0xD5,0xEC,0x00,0x00,}},
+ {0x4FA7,2,{0xB2,0xE0,0x00,0x00,}},
+ {0x4FA8,2,{0xC7,0xC8,0x00,0x00,}},
+ {0x4FA9,2,{0xBF,0xEB,0x00,0x00,}},
+ {0x4FAA,2,{0xD9,0xAD,0x00,0x00,}},
+ {0x4FAB,2,{0x82,0x41,0x00,0x00,}},
+ {0x4FAC,2,{0xD9,0xAF,0x00,0x00,}},
+ {0x4FAD,2,{0x82,0x42,0x00,0x00,}},
+ {0x4FAE,2,{0xCE,0xEA,0x00,0x00,}},
+ {0x4FAF,2,{0xBA,0xEE,0x00,0x00,}},
+ {0x4FB0,2,{0x82,0x43,0x00,0x00,}},
+ {0x4FB1,2,{0x82,0x44,0x00,0x00,}},
+ {0x4FB2,2,{0x82,0x45,0x00,0x00,}},
+ {0x4FB3,2,{0x82,0x46,0x00,0x00,}},
+ {0x4FB4,2,{0x82,0x47,0x00,0x00,}},
+ {0x4FB5,2,{0xC7,0xD6,0x00,0x00,}},
+ {0x4FB6,2,{0x82,0x48,0x00,0x00,}},
+ {0x4FB7,2,{0x82,0x49,0x00,0x00,}},
+ {0x4FB8,2,{0x82,0x4A,0x00,0x00,}},
+ {0x4FB9,2,{0x82,0x4B,0x00,0x00,}},
+ {0x4FBA,2,{0x82,0x4C,0x00,0x00,}},
+ {0x4FBB,2,{0x82,0x4D,0x00,0x00,}},
+ {0x4FBC,2,{0x82,0x4E,0x00,0x00,}},
+ {0x4FBD,2,{0x82,0x4F,0x00,0x00,}},
+ {0x4FBE,2,{0x82,0x50,0x00,0x00,}},
+ {0x4FBF,2,{0xB1,0xE3,0x00,0x00,}},
+ {0x4FC0,2,{0x82,0x51,0x00,0x00,}},
+ {0x4FC1,2,{0x82,0x52,0x00,0x00,}},
+ {0x4FC2,2,{0x82,0x53,0x00,0x00,}},
+ {0x4FC3,2,{0xB4,0xD9,0x00,0x00,}},
+ {0x4FC4,2,{0xB6,0xED,0x00,0x00,}},
+ {0x4FC5,2,{0xD9,0xB4,0x00,0x00,}},
+ {0x4FC6,2,{0x82,0x54,0x00,0x00,}},
+ {0x4FC7,2,{0x82,0x55,0x00,0x00,}},
+ {0x4FC8,2,{0x82,0x56,0x00,0x00,}},
+ {0x4FC9,2,{0x82,0x57,0x00,0x00,}},
+ {0x4FCA,2,{0xBF,0xA1,0x00,0x00,}},
+ {0x4FCB,2,{0x82,0x58,0x00,0x00,}},
+ {0x4FCC,2,{0x82,0x59,0x00,0x00,}},
+ {0x4FCD,2,{0x82,0x5A,0x00,0x00,}},
+ {0x4FCE,2,{0xD9,0xDE,0x00,0x00,}},
+ {0x4FCF,2,{0xC7,0xCE,0x00,0x00,}},
+ {0x4FD0,2,{0xC0,0xFE,0x00,0x00,}},
+ {0x4FD1,2,{0xD9,0xB8,0x00,0x00,}},
+ {0x4FD2,2,{0x82,0x5B,0x00,0x00,}},
+ {0x4FD3,2,{0x82,0x5C,0x00,0x00,}},
+ {0x4FD4,2,{0x82,0x5D,0x00,0x00,}},
+ {0x4FD5,2,{0x82,0x5E,0x00,0x00,}},
+ {0x4FD6,2,{0x82,0x5F,0x00,0x00,}},
+ {0x4FD7,2,{0xCB,0xD7,0x00,0x00,}},
+ {0x4FD8,2,{0xB7,0xFD,0x00,0x00,}},
+ {0x4FD9,2,{0x82,0x60,0x00,0x00,}},
+ {0x4FDA,2,{0xD9,0xB5,0x00,0x00,}},
+ {0x4FDB,2,{0x82,0x61,0x00,0x00,}},
+ {0x4FDC,2,{0xD9,0xB7,0x00,0x00,}},
+ {0x4FDD,2,{0xB1,0xA3,0x00,0x00,}},
+ {0x4FDE,2,{0xD3,0xE1,0x00,0x00,}},
+ {0x4FDF,2,{0xD9,0xB9,0x00,0x00,}},
+ {0x4FE0,2,{0x82,0x62,0x00,0x00,}},
+ {0x4FE1,2,{0xD0,0xC5,0x00,0x00,}},
+ {0x4FE2,2,{0x82,0x63,0x00,0x00,}},
+ {0x4FE3,2,{0xD9,0xB6,0x00,0x00,}},
+ {0x4FE4,2,{0x82,0x64,0x00,0x00,}},
+ {0x4FE5,2,{0x82,0x65,0x00,0x00,}},
+ {0x4FE6,2,{0xD9,0xB1,0x00,0x00,}},
+ {0x4FE7,2,{0x82,0x66,0x00,0x00,}},
+ {0x4FE8,2,{0xD9,0xB2,0x00,0x00,}},
+ {0x4FE9,2,{0xC1,0xA9,0x00,0x00,}},
+ {0x4FEA,2,{0xD9,0xB3,0x00,0x00,}},
+ {0x4FEB,2,{0x82,0x67,0x00,0x00,}},
+ {0x4FEC,2,{0x82,0x68,0x00,0x00,}},
+ {0x4FED,2,{0xBC,0xF3,0x00,0x00,}},
+ {0x4FEE,2,{0xD0,0xDE,0x00,0x00,}},
+ {0x4FEF,2,{0xB8,0xA9,0x00,0x00,}},
+ {0x4FF0,2,{0x82,0x69,0x00,0x00,}},
+ {0x4FF1,2,{0xBE,0xE3,0x00,0x00,}},
+ {0x4FF2,2,{0x82,0x6A,0x00,0x00,}},
+ {0x4FF3,2,{0xD9,0xBD,0x00,0x00,}},
+ {0x4FF4,2,{0x82,0x6B,0x00,0x00,}},
+ {0x4FF5,2,{0x82,0x6C,0x00,0x00,}},
+ {0x4FF6,2,{0x82,0x6D,0x00,0x00,}},
+ {0x4FF7,2,{0x82,0x6E,0x00,0x00,}},
+ {0x4FF8,2,{0xD9,0xBA,0x00,0x00,}},
+ {0x4FF9,2,{0x82,0x6F,0x00,0x00,}},
+ {0x4FFA,2,{0xB0,0xB3,0x00,0x00,}},
+ {0x4FFB,2,{0x82,0x70,0x00,0x00,}},
+ {0x4FFC,2,{0x82,0x71,0x00,0x00,}},
+ {0x4FFD,2,{0x82,0x72,0x00,0x00,}},
+ {0x4FFE,2,{0xD9,0xC2,0x00,0x00,}},
+ {0x4FFF,2,{0x82,0x73,0x00,0x00,}},
+ {0x5000,2,{0x82,0x74,0x00,0x00,}},
+ {0x5001,2,{0x82,0x75,0x00,0x00,}},
+ {0x5002,2,{0x82,0x76,0x00,0x00,}},
+ {0x5003,2,{0x82,0x77,0x00,0x00,}},
+ {0x5004,2,{0x82,0x78,0x00,0x00,}},
+ {0x5005,2,{0x82,0x79,0x00,0x00,}},
+ {0x5006,2,{0x82,0x7A,0x00,0x00,}},
+ {0x5007,2,{0x82,0x7B,0x00,0x00,}},
+ {0x5008,2,{0x82,0x7C,0x00,0x00,}},
+ {0x5009,2,{0x82,0x7D,0x00,0x00,}},
+ {0x500A,2,{0x82,0x7E,0x00,0x00,}},
+ {0x500B,2,{0x82,0x80,0x00,0x00,}},
+ {0x500C,2,{0xD9,0xC4,0x00,0x00,}},
+ {0x500D,2,{0xB1,0xB6,0x00,0x00,}},
+ {0x500E,2,{0x82,0x81,0x00,0x00,}},
+ {0x500F,2,{0xD9,0xBF,0x00,0x00,}},
+ {0x5010,2,{0x82,0x82,0x00,0x00,}},
+ {0x5011,2,{0x82,0x83,0x00,0x00,}},
+ {0x5012,2,{0xB5,0xB9,0x00,0x00,}},
+ {0x5013,2,{0x82,0x84,0x00,0x00,}},
+ {0x5014,2,{0xBE,0xF3,0x00,0x00,}},
+ {0x5015,2,{0x82,0x85,0x00,0x00,}},
+ {0x5016,2,{0x82,0x86,0x00,0x00,}},
+ {0x5017,2,{0x82,0x87,0x00,0x00,}},
+ {0x5018,2,{0xCC,0xC8,0x00,0x00,}},
+ {0x5019,2,{0xBA,0xF2,0x00,0x00,}},
+ {0x501A,2,{0xD2,0xD0,0x00,0x00,}},
+ {0x501B,2,{0x82,0x88,0x00,0x00,}},
+ {0x501C,2,{0xD9,0xC3,0x00,0x00,}},
+ {0x501D,2,{0x82,0x89,0x00,0x00,}},
+ {0x501E,2,{0x82,0x8A,0x00,0x00,}},
+ {0x501F,2,{0xBD,0xE8,0x00,0x00,}},
+ {0x5020,2,{0x82,0x8B,0x00,0x00,}},
+ {0x5021,2,{0xB3,0xAB,0x00,0x00,}},
+ {0x5022,2,{0x82,0x8C,0x00,0x00,}},
+ {0x5023,2,{0x82,0x8D,0x00,0x00,}},
+ {0x5024,2,{0x82,0x8E,0x00,0x00,}},
+ {0x5025,2,{0xD9,0xC5,0x00,0x00,}},
+ {0x5026,2,{0xBE,0xEB,0x00,0x00,}},
+ {0x5027,2,{0x82,0x8F,0x00,0x00,}},
+ {0x5028,2,{0xD9,0xC6,0x00,0x00,}},
+ {0x5029,2,{0xD9,0xBB,0x00,0x00,}},
+ {0x502A,2,{0xC4,0xDF,0x00,0x00,}},
+ {0x502B,2,{0x82,0x90,0x00,0x00,}},
+ {0x502C,2,{0xD9,0xBE,0x00,0x00,}},
+ {0x502D,2,{0xD9,0xC1,0x00,0x00,}},
+ {0x502E,2,{0xD9,0xC0,0x00,0x00,}},
+ {0x502F,2,{0x82,0x91,0x00,0x00,}},
+ {0x5030,2,{0x82,0x92,0x00,0x00,}},
+ {0x5031,2,{0x82,0x93,0x00,0x00,}},
+ {0x5032,2,{0x82,0x94,0x00,0x00,}},
+ {0x5033,2,{0x82,0x95,0x00,0x00,}},
+ {0x5034,2,{0x82,0x96,0x00,0x00,}},
+ {0x5035,2,{0x82,0x97,0x00,0x00,}},
+ {0x5036,2,{0x82,0x98,0x00,0x00,}},
+ {0x5037,2,{0x82,0x99,0x00,0x00,}},
+ {0x5038,2,{0x82,0x9A,0x00,0x00,}},
+ {0x5039,2,{0x82,0x9B,0x00,0x00,}},
+ {0x503A,2,{0xD5,0xAE,0x00,0x00,}},
+ {0x503B,2,{0x82,0x9C,0x00,0x00,}},
+ {0x503C,2,{0xD6,0xB5,0x00,0x00,}},
+ {0x503D,2,{0x82,0x9D,0x00,0x00,}},
+ {0x503E,2,{0xC7,0xE3,0x00,0x00,}},
+ {0x503F,2,{0x82,0x9E,0x00,0x00,}},
+ {0x5040,2,{0x82,0x9F,0x00,0x00,}},
+ {0x5041,2,{0x82,0xA0,0x00,0x00,}},
+ {0x5042,2,{0x82,0xA1,0x00,0x00,}},
+ {0x5043,2,{0xD9,0xC8,0x00,0x00,}},
+ {0x5044,2,{0x82,0xA2,0x00,0x00,}},
+ {0x5045,2,{0x82,0xA3,0x00,0x00,}},
+ {0x5046,2,{0x82,0xA4,0x00,0x00,}},
+ {0x5047,2,{0xBC,0xD9,0x00,0x00,}},
+ {0x5048,2,{0xD9,0xCA,0x00,0x00,}},
+ {0x5049,2,{0x82,0xA5,0x00,0x00,}},
+ {0x504A,2,{0x82,0xA6,0x00,0x00,}},
+ {0x504B,2,{0x82,0xA7,0x00,0x00,}},
+ {0x504C,2,{0xD9,0xBC,0x00,0x00,}},
+ {0x504D,2,{0x82,0xA8,0x00,0x00,}},
+ {0x504E,2,{0xD9,0xCB,0x00,0x00,}},
+ {0x504F,2,{0xC6,0xAB,0x00,0x00,}},
+ {0x5050,2,{0x82,0xA9,0x00,0x00,}},
+ {0x5051,2,{0x82,0xAA,0x00,0x00,}},
+ {0x5052,2,{0x82,0xAB,0x00,0x00,}},
+ {0x5053,2,{0x82,0xAC,0x00,0x00,}},
+ {0x5054,2,{0x82,0xAD,0x00,0x00,}},
+ {0x5055,2,{0xD9,0xC9,0x00,0x00,}},
+ {0x5056,2,{0x82,0xAE,0x00,0x00,}},
+ {0x5057,2,{0x82,0xAF,0x00,0x00,}},
+ {0x5058,2,{0x82,0xB0,0x00,0x00,}},
+ {0x5059,2,{0x82,0xB1,0x00,0x00,}},
+ {0x505A,2,{0xD7,0xF6,0x00,0x00,}},
+ {0x505B,2,{0x82,0xB2,0x00,0x00,}},
+ {0x505C,2,{0xCD,0xA3,0x00,0x00,}},
+ {0x505D,2,{0x82,0xB3,0x00,0x00,}},
+ {0x505E,2,{0x82,0xB4,0x00,0x00,}},
+ {0x505F,2,{0x82,0xB5,0x00,0x00,}},
+ {0x5060,2,{0x82,0xB6,0x00,0x00,}},
+ {0x5061,2,{0x82,0xB7,0x00,0x00,}},
+ {0x5062,2,{0x82,0xB8,0x00,0x00,}},
+ {0x5063,2,{0x82,0xB9,0x00,0x00,}},
+ {0x5064,2,{0x82,0xBA,0x00,0x00,}},
+ {0x5065,2,{0xBD,0xA1,0x00,0x00,}},
+ {0x5066,2,{0x82,0xBB,0x00,0x00,}},
+ {0x5067,2,{0x82,0xBC,0x00,0x00,}},
+ {0x5068,2,{0x82,0xBD,0x00,0x00,}},
+ {0x5069,2,{0x82,0xBE,0x00,0x00,}},
+ {0x506A,2,{0x82,0xBF,0x00,0x00,}},
+ {0x506B,2,{0x82,0xC0,0x00,0x00,}},
+ {0x506C,2,{0xD9,0xCC,0x00,0x00,}},
+ {0x506D,2,{0x82,0xC1,0x00,0x00,}},
+ {0x506E,2,{0x82,0xC2,0x00,0x00,}},
+ {0x506F,2,{0x82,0xC3,0x00,0x00,}},
+ {0x5070,2,{0x82,0xC4,0x00,0x00,}},
+ {0x5071,2,{0x82,0xC5,0x00,0x00,}},
+ {0x5072,2,{0x82,0xC6,0x00,0x00,}},
+ {0x5073,2,{0x82,0xC7,0x00,0x00,}},
+ {0x5074,2,{0x82,0xC8,0x00,0x00,}},
+ {0x5075,2,{0x82,0xC9,0x00,0x00,}},
+ {0x5076,2,{0xC5,0xBC,0x00,0x00,}},
+ {0x5077,2,{0xCD,0xB5,0x00,0x00,}},
+ {0x5078,2,{0x82,0xCA,0x00,0x00,}},
+ {0x5079,2,{0x82,0xCB,0x00,0x00,}},
+ {0x507A,2,{0x82,0xCC,0x00,0x00,}},
+ {0x507B,2,{0xD9,0xCD,0x00,0x00,}},
+ {0x507C,2,{0x82,0xCD,0x00,0x00,}},
+ {0x507D,2,{0x82,0xCE,0x00,0x00,}},
+ {0x507E,2,{0xD9,0xC7,0x00,0x00,}},
+ {0x507F,2,{0xB3,0xA5,0x00,0x00,}},
+ {0x5080,2,{0xBF,0xFE,0x00,0x00,}},
+ {0x5081,2,{0x82,0xCF,0x00,0x00,}},
+ {0x5082,2,{0x82,0xD0,0x00,0x00,}},
+ {0x5083,2,{0x82,0xD1,0x00,0x00,}},
+ {0x5084,2,{0x82,0xD2,0x00,0x00,}},
+ {0x5085,2,{0xB8,0xB5,0x00,0x00,}},
+ {0x5086,2,{0x82,0xD3,0x00,0x00,}},
+ {0x5087,2,{0x82,0xD4,0x00,0x00,}},
+ {0x5088,2,{0xC0,0xFC,0x00,0x00,}},
+ {0x5089,2,{0x82,0xD5,0x00,0x00,}},
+ {0x508A,2,{0x82,0xD6,0x00,0x00,}},
+ {0x508B,2,{0x82,0xD7,0x00,0x00,}},
+ {0x508C,2,{0x82,0xD8,0x00,0x00,}},
+ {0x508D,2,{0xB0,0xF8,0x00,0x00,}},
+ {0x508E,2,{0x82,0xD9,0x00,0x00,}},
+ {0x508F,2,{0x82,0xDA,0x00,0x00,}},
+ {0x5090,2,{0x82,0xDB,0x00,0x00,}},
+ {0x5091,2,{0x82,0xDC,0x00,0x00,}},
+ {0x5092,2,{0x82,0xDD,0x00,0x00,}},
+ {0x5093,2,{0x82,0xDE,0x00,0x00,}},
+ {0x5094,2,{0x82,0xDF,0x00,0x00,}},
+ {0x5095,2,{0x82,0xE0,0x00,0x00,}},
+ {0x5096,2,{0x82,0xE1,0x00,0x00,}},
+ {0x5097,2,{0x82,0xE2,0x00,0x00,}},
+ {0x5098,2,{0x82,0xE3,0x00,0x00,}},
+ {0x5099,2,{0x82,0xE4,0x00,0x00,}},
+ {0x509A,2,{0x82,0xE5,0x00,0x00,}},
+ {0x509B,2,{0x82,0xE6,0x00,0x00,}},
+ {0x509C,2,{0x82,0xE7,0x00,0x00,}},
+ {0x509D,2,{0x82,0xE8,0x00,0x00,}},
+ {0x509E,2,{0x82,0xE9,0x00,0x00,}},
+ {0x509F,2,{0x82,0xEA,0x00,0x00,}},
+ {0x50A0,2,{0x82,0xEB,0x00,0x00,}},
+ {0x50A1,2,{0x82,0xEC,0x00,0x00,}},
+ {0x50A2,2,{0x82,0xED,0x00,0x00,}},
+ {0x50A3,2,{0xB4,0xF6,0x00,0x00,}},
+ {0x50A4,2,{0x82,0xEE,0x00,0x00,}},
+ {0x50A5,2,{0xD9,0xCE,0x00,0x00,}},
+ {0x50A6,2,{0x82,0xEF,0x00,0x00,}},
+ {0x50A7,2,{0xD9,0xCF,0x00,0x00,}},
+ {0x50A8,2,{0xB4,0xA2,0x00,0x00,}},
+ {0x50A9,2,{0xD9,0xD0,0x00,0x00,}},
+ {0x50AA,2,{0x82,0xF0,0x00,0x00,}},
+ {0x50AB,2,{0x82,0xF1,0x00,0x00,}},
+ {0x50AC,2,{0xB4,0xDF,0x00,0x00,}},
+ {0x50AD,2,{0x82,0xF2,0x00,0x00,}},
+ {0x50AE,2,{0x82,0xF3,0x00,0x00,}},
+ {0x50AF,2,{0x82,0xF4,0x00,0x00,}},
+ {0x50B0,2,{0x82,0xF5,0x00,0x00,}},
+ {0x50B1,2,{0x82,0xF6,0x00,0x00,}},
+ {0x50B2,2,{0xB0,0xC1,0x00,0x00,}},
+ {0x50B3,2,{0x82,0xF7,0x00,0x00,}},
+ {0x50B4,2,{0x82,0xF8,0x00,0x00,}},
+ {0x50B5,2,{0x82,0xF9,0x00,0x00,}},
+ {0x50B6,2,{0x82,0xFA,0x00,0x00,}},
+ {0x50B7,2,{0x82,0xFB,0x00,0x00,}},
+ {0x50B8,2,{0x82,0xFC,0x00,0x00,}},
+ {0x50B9,2,{0x82,0xFD,0x00,0x00,}},
+ {0x50BA,2,{0xD9,0xD1,0x00,0x00,}},
+ {0x50BB,2,{0xC9,0xB5,0x00,0x00,}},
+ {0x50BC,2,{0x82,0xFE,0x00,0x00,}},
+ {0x50BD,2,{0x83,0x40,0x00,0x00,}},
+ {0x50BE,2,{0x83,0x41,0x00,0x00,}},
+ {0x50BF,2,{0x83,0x42,0x00,0x00,}},
+ {0x50C0,2,{0x83,0x43,0x00,0x00,}},
+ {0x50C1,2,{0x83,0x44,0x00,0x00,}},
+ {0x50C2,2,{0x83,0x45,0x00,0x00,}},
+ {0x50C3,2,{0x83,0x46,0x00,0x00,}},
+ {0x50C4,2,{0x83,0x47,0x00,0x00,}},
+ {0x50C5,2,{0x83,0x48,0x00,0x00,}},
+ {0x50C6,2,{0x83,0x49,0x00,0x00,}},
+ {0x50C7,2,{0x83,0x4A,0x00,0x00,}},
+ {0x50C8,2,{0x83,0x4B,0x00,0x00,}},
+ {0x50C9,2,{0x83,0x4C,0x00,0x00,}},
+ {0x50CA,2,{0x83,0x4D,0x00,0x00,}},
+ {0x50CB,2,{0x83,0x4E,0x00,0x00,}},
+ {0x50CC,2,{0x83,0x4F,0x00,0x00,}},
+ {0x50CD,2,{0x83,0x50,0x00,0x00,}},
+ {0x50CE,2,{0x83,0x51,0x00,0x00,}},
+ {0x50CF,2,{0xCF,0xF1,0x00,0x00,}},
+ {0x50D0,2,{0x83,0x52,0x00,0x00,}},
+ {0x50D1,2,{0x83,0x53,0x00,0x00,}},
+ {0x50D2,2,{0x83,0x54,0x00,0x00,}},
+ {0x50D3,2,{0x83,0x55,0x00,0x00,}},
+ {0x50D4,2,{0x83,0x56,0x00,0x00,}},
+ {0x50D5,2,{0x83,0x57,0x00,0x00,}},
+ {0x50D6,2,{0xD9,0xD2,0x00,0x00,}},
+ {0x50D7,2,{0x83,0x58,0x00,0x00,}},
+ {0x50D8,2,{0x83,0x59,0x00,0x00,}},
+ {0x50D9,2,{0x83,0x5A,0x00,0x00,}},
+ {0x50DA,2,{0xC1,0xC5,0x00,0x00,}},
+ {0x50DB,2,{0x83,0x5B,0x00,0x00,}},
+ {0x50DC,2,{0x83,0x5C,0x00,0x00,}},
+ {0x50DD,2,{0x83,0x5D,0x00,0x00,}},
+ {0x50DE,2,{0x83,0x5E,0x00,0x00,}},
+ {0x50DF,2,{0x83,0x5F,0x00,0x00,}},
+ {0x50E0,2,{0x83,0x60,0x00,0x00,}},
+ {0x50E1,2,{0x83,0x61,0x00,0x00,}},
+ {0x50E2,2,{0x83,0x62,0x00,0x00,}},
+ {0x50E3,2,{0x83,0x63,0x00,0x00,}},
+ {0x50E4,2,{0x83,0x64,0x00,0x00,}},
+ {0x50E5,2,{0x83,0x65,0x00,0x00,}},
+ {0x50E6,2,{0xD9,0xD6,0x00,0x00,}},
+ {0x50E7,2,{0xC9,0xAE,0x00,0x00,}},
+ {0x50E8,2,{0x83,0x66,0x00,0x00,}},
+ {0x50E9,2,{0x83,0x67,0x00,0x00,}},
+ {0x50EA,2,{0x83,0x68,0x00,0x00,}},
+ {0x50EB,2,{0x83,0x69,0x00,0x00,}},
+ {0x50EC,2,{0xD9,0xD5,0x00,0x00,}},
+ {0x50ED,2,{0xD9,0xD4,0x00,0x00,}},
+ {0x50EE,2,{0xD9,0xD7,0x00,0x00,}},
+ {0x50EF,2,{0x83,0x6A,0x00,0x00,}},
+ {0x50F0,2,{0x83,0x6B,0x00,0x00,}},
+ {0x50F1,2,{0x83,0x6C,0x00,0x00,}},
+ {0x50F2,2,{0x83,0x6D,0x00,0x00,}},
+ {0x50F3,2,{0xCB,0xDB,0x00,0x00,}},
+ {0x50F4,2,{0x83,0x6E,0x00,0x00,}},
+ {0x50F5,2,{0xBD,0xA9,0x00,0x00,}},
+ {0x50F6,2,{0x83,0x6F,0x00,0x00,}},
+ {0x50F7,2,{0x83,0x70,0x00,0x00,}},
+ {0x50F8,2,{0x83,0x71,0x00,0x00,}},
+ {0x50F9,2,{0x83,0x72,0x00,0x00,}},
+ {0x50FA,2,{0x83,0x73,0x00,0x00,}},
+ {0x50FB,2,{0xC6,0xA7,0x00,0x00,}},
+ {0x50FC,2,{0x83,0x74,0x00,0x00,}},
+ {0x50FD,2,{0x83,0x75,0x00,0x00,}},
+ {0x50FE,2,{0x83,0x76,0x00,0x00,}},
+ {0x50FF,2,{0x83,0x77,0x00,0x00,}},
+ {0x5100,2,{0x83,0x78,0x00,0x00,}},
+ {0x5101,2,{0x83,0x79,0x00,0x00,}},
+ {0x5102,2,{0x83,0x7A,0x00,0x00,}},
+ {0x5103,2,{0x83,0x7B,0x00,0x00,}},
+ {0x5104,2,{0x83,0x7C,0x00,0x00,}},
+ {0x5105,2,{0x83,0x7D,0x00,0x00,}},
+ {0x5106,2,{0xD9,0xD3,0x00,0x00,}},
+ {0x5107,2,{0xD9,0xD8,0x00,0x00,}},
+ {0x5108,2,{0x83,0x7E,0x00,0x00,}},
+ {0x5109,2,{0x83,0x80,0x00,0x00,}},
+ {0x510A,2,{0x83,0x81,0x00,0x00,}},
+ {0x510B,2,{0xD9,0xD9,0x00,0x00,}},
+ {0x510C,2,{0x83,0x82,0x00,0x00,}},
+ {0x510D,2,{0x83,0x83,0x00,0x00,}},
+ {0x510E,2,{0x83,0x84,0x00,0x00,}},
+ {0x510F,2,{0x83,0x85,0x00,0x00,}},
+ {0x5110,2,{0x83,0x86,0x00,0x00,}},
+ {0x5111,2,{0x83,0x87,0x00,0x00,}},
+ {0x5112,2,{0xC8,0xE5,0x00,0x00,}},
+ {0x5113,2,{0x83,0x88,0x00,0x00,}},
+ {0x5114,2,{0x83,0x89,0x00,0x00,}},
+ {0x5115,2,{0x83,0x8A,0x00,0x00,}},
+ {0x5116,2,{0x83,0x8B,0x00,0x00,}},
+ {0x5117,2,{0x83,0x8C,0x00,0x00,}},
+ {0x5118,2,{0x83,0x8D,0x00,0x00,}},
+ {0x5119,2,{0x83,0x8E,0x00,0x00,}},
+ {0x511A,2,{0x83,0x8F,0x00,0x00,}},
+ {0x511B,2,{0x83,0x90,0x00,0x00,}},
+ {0x511C,2,{0x83,0x91,0x00,0x00,}},
+ {0x511D,2,{0x83,0x92,0x00,0x00,}},
+ {0x511E,2,{0x83,0x93,0x00,0x00,}},
+ {0x511F,2,{0x83,0x94,0x00,0x00,}},
+ {0x5120,2,{0x83,0x95,0x00,0x00,}},
+ {0x5121,2,{0xC0,0xDC,0x00,0x00,}},
+ {0x5122,2,{0x83,0x96,0x00,0x00,}},
+ {0x5123,2,{0x83,0x97,0x00,0x00,}},
+ {0x5124,2,{0x83,0x98,0x00,0x00,}},
+ {0x5125,2,{0x83,0x99,0x00,0x00,}},
+ {0x5126,2,{0x83,0x9A,0x00,0x00,}},
+ {0x5127,2,{0x83,0x9B,0x00,0x00,}},
+ {0x5128,2,{0x83,0x9C,0x00,0x00,}},
+ {0x5129,2,{0x83,0x9D,0x00,0x00,}},
+ {0x512A,2,{0x83,0x9E,0x00,0x00,}},
+ {0x512B,2,{0x83,0x9F,0x00,0x00,}},
+ {0x512C,2,{0x83,0xA0,0x00,0x00,}},
+ {0x512D,2,{0x83,0xA1,0x00,0x00,}},
+ {0x512E,2,{0x83,0xA2,0x00,0x00,}},
+ {0x512F,2,{0x83,0xA3,0x00,0x00,}},
+ {0x5130,2,{0x83,0xA4,0x00,0x00,}},
+ {0x5131,2,{0x83,0xA5,0x00,0x00,}},
+ {0x5132,2,{0x83,0xA6,0x00,0x00,}},
+ {0x5133,2,{0x83,0xA7,0x00,0x00,}},
+ {0x5134,2,{0x83,0xA8,0x00,0x00,}},
+ {0x5135,2,{0x83,0xA9,0x00,0x00,}},
+ {0x5136,2,{0x83,0xAA,0x00,0x00,}},
+ {0x5137,2,{0x83,0xAB,0x00,0x00,}},
+ {0x5138,2,{0x83,0xAC,0x00,0x00,}},
+ {0x5139,2,{0x83,0xAD,0x00,0x00,}},
+ {0x513A,2,{0x83,0xAE,0x00,0x00,}},
+ {0x513B,2,{0x83,0xAF,0x00,0x00,}},
+ {0x513C,2,{0x83,0xB0,0x00,0x00,}},
+ {0x513D,2,{0x83,0xB1,0x00,0x00,}},
+ {0x513E,2,{0x83,0xB2,0x00,0x00,}},
+ {0x513F,2,{0xB6,0xF9,0x00,0x00,}},
+ {0x5140,2,{0xD8,0xA3,0x00,0x00,}},
+ {0x5141,2,{0xD4,0xCA,0x00,0x00,}},
+ {0x5142,2,{0x83,0xB3,0x00,0x00,}},
+ {0x5143,2,{0xD4,0xAA,0x00,0x00,}},
+ {0x5144,2,{0xD0,0xD6,0x00,0x00,}},
+ {0x5145,2,{0xB3,0xE4,0x00,0x00,}},
+ {0x5146,2,{0xD5,0xD7,0x00,0x00,}},
+ {0x5147,2,{0x83,0xB4,0x00,0x00,}},
+ {0x5148,2,{0xCF,0xC8,0x00,0x00,}},
+ {0x5149,2,{0xB9,0xE2,0x00,0x00,}},
+ {0x514A,2,{0x83,0xB5,0x00,0x00,}},
+ {0x514B,2,{0xBF,0xCB,0x00,0x00,}},
+ {0x514C,2,{0x83,0xB6,0x00,0x00,}},
+ {0x514D,2,{0xC3,0xE2,0x00,0x00,}},
+ {0x514E,2,{0x83,0xB7,0x00,0x00,}},
+ {0x514F,2,{0x83,0xB8,0x00,0x00,}},
+ {0x5150,2,{0x83,0xB9,0x00,0x00,}},
+ {0x5151,2,{0xB6,0xD2,0x00,0x00,}},
+ {0x5152,2,{0x83,0xBA,0x00,0x00,}},
+ {0x5153,2,{0x83,0xBB,0x00,0x00,}},
+ {0x5154,2,{0xCD,0xC3,0x00,0x00,}},
+ {0x5155,2,{0xD9,0xEE,0x00,0x00,}},
+ {0x5156,2,{0xD9,0xF0,0x00,0x00,}},
+ {0x5157,2,{0x83,0xBC,0x00,0x00,}},
+ {0x5158,2,{0x83,0xBD,0x00,0x00,}},
+ {0x5159,2,{0x83,0xBE,0x00,0x00,}},
+ {0x515A,2,{0xB5,0xB3,0x00,0x00,}},
+ {0x515B,2,{0x83,0xBF,0x00,0x00,}},
+ {0x515C,2,{0xB6,0xB5,0x00,0x00,}},
+ {0x515D,2,{0x83,0xC0,0x00,0x00,}},
+ {0x515E,2,{0x83,0xC1,0x00,0x00,}},
+ {0x515F,2,{0x83,0xC2,0x00,0x00,}},
+ {0x5160,2,{0x83,0xC3,0x00,0x00,}},
+ {0x5161,2,{0x83,0xC4,0x00,0x00,}},
+ {0x5162,2,{0xBE,0xA4,0x00,0x00,}},
+ {0x5163,2,{0x83,0xC5,0x00,0x00,}},
+ {0x5164,2,{0x83,0xC6,0x00,0x00,}},
+ {0x5165,2,{0xC8,0xEB,0x00,0x00,}},
+ {0x5166,2,{0x83,0xC7,0x00,0x00,}},
+ {0x5167,2,{0x83,0xC8,0x00,0x00,}},
+ {0x5168,2,{0xC8,0xAB,0x00,0x00,}},
+ {0x5169,2,{0x83,0xC9,0x00,0x00,}},
+ {0x516A,2,{0x83,0xCA,0x00,0x00,}},
+ {0x516B,2,{0xB0,0xCB,0x00,0x00,}},
+ {0x516C,2,{0xB9,0xAB,0x00,0x00,}},
+ {0x516D,2,{0xC1,0xF9,0x00,0x00,}},
+ {0x516E,2,{0xD9,0xE2,0x00,0x00,}},
+ {0x516F,2,{0x83,0xCB,0x00,0x00,}},
+ {0x5170,2,{0xC0,0xBC,0x00,0x00,}},
+ {0x5171,2,{0xB9,0xB2,0x00,0x00,}},
+ {0x5172,2,{0x83,0xCC,0x00,0x00,}},
+ {0x5173,2,{0xB9,0xD8,0x00,0x00,}},
+ {0x5174,2,{0xD0,0xCB,0x00,0x00,}},
+ {0x5175,2,{0xB1,0xF8,0x00,0x00,}},
+ {0x5176,2,{0xC6,0xE4,0x00,0x00,}},
+ {0x5177,2,{0xBE,0xDF,0x00,0x00,}},
+ {0x5178,2,{0xB5,0xE4,0x00,0x00,}},
+ {0x5179,2,{0xD7,0xC8,0x00,0x00,}},
+ {0x517A,2,{0x83,0xCD,0x00,0x00,}},
+ {0x517B,2,{0xD1,0xF8,0x00,0x00,}},
+ {0x517C,2,{0xBC,0xE6,0x00,0x00,}},
+ {0x517D,2,{0xCA,0xDE,0x00,0x00,}},
+ {0x517E,2,{0x83,0xCE,0x00,0x00,}},
+ {0x517F,2,{0x83,0xCF,0x00,0x00,}},
+ {0x5180,2,{0xBC,0xBD,0x00,0x00,}},
+ {0x5181,2,{0xD9,0xE6,0x00,0x00,}},
+ {0x5182,2,{0xD8,0xE7,0x00,0x00,}},
+ {0x5183,2,{0x83,0xD0,0x00,0x00,}},
+ {0x5184,2,{0x83,0xD1,0x00,0x00,}},
+ {0x5185,2,{0xC4,0xDA,0x00,0x00,}},
+ {0x5186,2,{0x83,0xD2,0x00,0x00,}},
+ {0x5187,2,{0x83,0xD3,0x00,0x00,}},
+ {0x5188,2,{0xB8,0xD4,0x00,0x00,}},
+ {0x5189,2,{0xC8,0xBD,0x00,0x00,}},
+ {0x518A,2,{0x83,0xD4,0x00,0x00,}},
+ {0x518B,2,{0x83,0xD5,0x00,0x00,}},
+ {0x518C,2,{0xB2,0xE1,0x00,0x00,}},
+ {0x518D,2,{0xD4,0xD9,0x00,0x00,}},
+ {0x518E,2,{0x83,0xD6,0x00,0x00,}},
+ {0x518F,2,{0x83,0xD7,0x00,0x00,}},
+ {0x5190,2,{0x83,0xD8,0x00,0x00,}},
+ {0x5191,2,{0x83,0xD9,0x00,0x00,}},
+ {0x5192,2,{0xC3,0xB0,0x00,0x00,}},
+ {0x5193,2,{0x83,0xDA,0x00,0x00,}},
+ {0x5194,2,{0x83,0xDB,0x00,0x00,}},
+ {0x5195,2,{0xC3,0xE1,0x00,0x00,}},
+ {0x5196,2,{0xDA,0xA2,0x00,0x00,}},
+ {0x5197,2,{0xC8,0xDF,0x00,0x00,}},
+ {0x5198,2,{0x83,0xDC,0x00,0x00,}},
+ {0x5199,2,{0xD0,0xB4,0x00,0x00,}},
+ {0x519A,2,{0x83,0xDD,0x00,0x00,}},
+ {0x519B,2,{0xBE,0xFC,0x00,0x00,}},
+ {0x519C,2,{0xC5,0xA9,0x00,0x00,}},
+ {0x519D,2,{0x83,0xDE,0x00,0x00,}},
+ {0x519E,2,{0x83,0xDF,0x00,0x00,}},
+ {0x519F,2,{0x83,0xE0,0x00,0x00,}},
+ {0x51A0,2,{0xB9,0xDA,0x00,0x00,}},
+ {0x51A1,2,{0x83,0xE1,0x00,0x00,}},
+ {0x51A2,2,{0xDA,0xA3,0x00,0x00,}},
+ {0x51A3,2,{0x83,0xE2,0x00,0x00,}},
+ {0x51A4,2,{0xD4,0xA9,0x00,0x00,}},
+ {0x51A5,2,{0xDA,0xA4,0x00,0x00,}},
+ {0x51A6,2,{0x83,0xE3,0x00,0x00,}},
+ {0x51A7,2,{0x83,0xE4,0x00,0x00,}},
+ {0x51A8,2,{0x83,0xE5,0x00,0x00,}},
+ {0x51A9,2,{0x83,0xE6,0x00,0x00,}},
+ {0x51AA,2,{0x83,0xE7,0x00,0x00,}},
+ {0x51AB,2,{0xD9,0xFB,0x00,0x00,}},
+ {0x51AC,2,{0xB6,0xAC,0x00,0x00,}},
+ {0x51AD,2,{0x83,0xE8,0x00,0x00,}},
+ {0x51AE,2,{0x83,0xE9,0x00,0x00,}},
+ {0x51AF,2,{0xB7,0xEB,0x00,0x00,}},
+ {0x51B0,2,{0xB1,0xF9,0x00,0x00,}},
+ {0x51B1,2,{0xD9,0xFC,0x00,0x00,}},
+ {0x51B2,2,{0xB3,0xE5,0x00,0x00,}},
+ {0x51B3,2,{0xBE,0xF6,0x00,0x00,}},
+ {0x51B4,2,{0x83,0xEA,0x00,0x00,}},
+ {0x51B5,2,{0xBF,0xF6,0x00,0x00,}},
+ {0x51B6,2,{0xD2,0xB1,0x00,0x00,}},
+ {0x51B7,2,{0xC0,0xE4,0x00,0x00,}},
+ {0x51B8,2,{0x83,0xEB,0x00,0x00,}},
+ {0x51B9,2,{0x83,0xEC,0x00,0x00,}},
+ {0x51BA,2,{0x83,0xED,0x00,0x00,}},
+ {0x51BB,2,{0xB6,0xB3,0x00,0x00,}},
+ {0x51BC,2,{0xD9,0xFE,0x00,0x00,}},
+ {0x51BD,2,{0xD9,0xFD,0x00,0x00,}},
+ {0x51BE,2,{0x83,0xEE,0x00,0x00,}},
+ {0x51BF,2,{0x83,0xEF,0x00,0x00,}},
+ {0x51C0,2,{0xBE,0xBB,0x00,0x00,}},
+ {0x51C1,2,{0x83,0xF0,0x00,0x00,}},
+ {0x51C2,2,{0x83,0xF1,0x00,0x00,}},
+ {0x51C3,2,{0x83,0xF2,0x00,0x00,}},
+ {0x51C4,2,{0xC6,0xE0,0x00,0x00,}},
+ {0x51C5,2,{0x83,0xF3,0x00,0x00,}},
+ {0x51C6,2,{0xD7,0xBC,0x00,0x00,}},
+ {0x51C7,2,{0xDA,0xA1,0x00,0x00,}},
+ {0x51C8,2,{0x83,0xF4,0x00,0x00,}},
+ {0x51C9,2,{0xC1,0xB9,0x00,0x00,}},
+ {0x51CA,2,{0x83,0xF5,0x00,0x00,}},
+ {0x51CB,2,{0xB5,0xF2,0x00,0x00,}},
+ {0x51CC,2,{0xC1,0xE8,0x00,0x00,}},
+ {0x51CD,2,{0x83,0xF6,0x00,0x00,}},
+ {0x51CE,2,{0x83,0xF7,0x00,0x00,}},
+ {0x51CF,2,{0xBC,0xF5,0x00,0x00,}},
+ {0x51D0,2,{0x83,0xF8,0x00,0x00,}},
+ {0x51D1,2,{0xB4,0xD5,0x00,0x00,}},
+ {0x51D2,2,{0x83,0xF9,0x00,0x00,}},
+ {0x51D3,2,{0x83,0xFA,0x00,0x00,}},
+ {0x51D4,2,{0x83,0xFB,0x00,0x00,}},
+ {0x51D5,2,{0x83,0xFC,0x00,0x00,}},
+ {0x51D6,2,{0x83,0xFD,0x00,0x00,}},
+ {0x51D7,2,{0x83,0xFE,0x00,0x00,}},
+ {0x51D8,2,{0x84,0x40,0x00,0x00,}},
+ {0x51D9,2,{0x84,0x41,0x00,0x00,}},
+ {0x51DA,2,{0x84,0x42,0x00,0x00,}},
+ {0x51DB,2,{0xC1,0xDD,0x00,0x00,}},
+ {0x51DC,2,{0x84,0x43,0x00,0x00,}},
+ {0x51DD,2,{0xC4,0xFD,0x00,0x00,}},
+ {0x51DE,2,{0x84,0x44,0x00,0x00,}},
+ {0x51DF,2,{0x84,0x45,0x00,0x00,}},
+ {0x51E0,2,{0xBC,0xB8,0x00,0x00,}},
+ {0x51E1,2,{0xB7,0xB2,0x00,0x00,}},
+ {0x51E2,2,{0x84,0x46,0x00,0x00,}},
+ {0x51E3,2,{0x84,0x47,0x00,0x00,}},
+ {0x51E4,2,{0xB7,0xEF,0x00,0x00,}},
+ {0x51E5,2,{0x84,0x48,0x00,0x00,}},
+ {0x51E6,2,{0x84,0x49,0x00,0x00,}},
+ {0x51E7,2,{0x84,0x4A,0x00,0x00,}},
+ {0x51E8,2,{0x84,0x4B,0x00,0x00,}},
+ {0x51E9,2,{0x84,0x4C,0x00,0x00,}},
+ {0x51EA,2,{0x84,0x4D,0x00,0x00,}},
+ {0x51EB,2,{0xD9,0xEC,0x00,0x00,}},
+ {0x51EC,2,{0x84,0x4E,0x00,0x00,}},
+ {0x51ED,2,{0xC6,0xBE,0x00,0x00,}},
+ {0x51EE,2,{0x84,0x4F,0x00,0x00,}},
+ {0x51EF,2,{0xBF,0xAD,0x00,0x00,}},
+ {0x51F0,2,{0xBB,0xCB,0x00,0x00,}},
+ {0x51F1,2,{0x84,0x50,0x00,0x00,}},
+ {0x51F2,2,{0x84,0x51,0x00,0x00,}},
+ {0x51F3,2,{0xB5,0xCA,0x00,0x00,}},
+ {0x51F4,2,{0x84,0x52,0x00,0x00,}},
+ {0x51F5,2,{0xDB,0xC9,0x00,0x00,}},
+ {0x51F6,2,{0xD0,0xD7,0x00,0x00,}},
+ {0x51F7,2,{0x84,0x53,0x00,0x00,}},
+ {0x51F8,2,{0xCD,0xB9,0x00,0x00,}},
+ {0x51F9,2,{0xB0,0xBC,0x00,0x00,}},
+ {0x51FA,2,{0xB3,0xF6,0x00,0x00,}},
+ {0x51FB,2,{0xBB,0xF7,0x00,0x00,}},
+ {0x51FC,2,{0xDB,0xCA,0x00,0x00,}},
+ {0x51FD,2,{0xBA,0xAF,0x00,0x00,}},
+ {0x51FE,2,{0x84,0x54,0x00,0x00,}},
+ {0x51FF,2,{0xD4,0xE4,0x00,0x00,}},
+ {0x5200,2,{0xB5,0xB6,0x00,0x00,}},
+ {0x5201,2,{0xB5,0xF3,0x00,0x00,}},
+ {0x5202,2,{0xD8,0xD6,0x00,0x00,}},
+ {0x5203,2,{0xC8,0xD0,0x00,0x00,}},
+ {0x5204,2,{0x84,0x55,0x00,0x00,}},
+ {0x5205,2,{0x84,0x56,0x00,0x00,}},
+ {0x5206,2,{0xB7,0xD6,0x00,0x00,}},
+ {0x5207,2,{0xC7,0xD0,0x00,0x00,}},
+ {0x5208,2,{0xD8,0xD7,0x00,0x00,}},
+ {0x5209,2,{0x84,0x57,0x00,0x00,}},
+ {0x520A,2,{0xBF,0xAF,0x00,0x00,}},
+ {0x520B,2,{0x84,0x58,0x00,0x00,}},
+ {0x520C,2,{0x84,0x59,0x00,0x00,}},
+ {0x520D,2,{0xDB,0xBB,0x00,0x00,}},
+ {0x520E,2,{0xD8,0xD8,0x00,0x00,}},
+ {0x520F,2,{0x84,0x5A,0x00,0x00,}},
+ {0x5210,2,{0x84,0x5B,0x00,0x00,}},
+ {0x5211,2,{0xD0,0xCC,0x00,0x00,}},
+ {0x5212,2,{0xBB,0xAE,0x00,0x00,}},
+ {0x5213,2,{0x84,0x5C,0x00,0x00,}},
+ {0x5214,2,{0x84,0x5D,0x00,0x00,}},
+ {0x5215,2,{0x84,0x5E,0x00,0x00,}},
+ {0x5216,2,{0xEB,0xBE,0x00,0x00,}},
+ {0x5217,2,{0xC1,0xD0,0x00,0x00,}},
+ {0x5218,2,{0xC1,0xF5,0x00,0x00,}},
+ {0x5219,2,{0xD4,0xF2,0x00,0x00,}},
+ {0x521A,2,{0xB8,0xD5,0x00,0x00,}},
+ {0x521B,2,{0xB4,0xB4,0x00,0x00,}},
+ {0x521C,2,{0x84,0x5F,0x00,0x00,}},
+ {0x521D,2,{0xB3,0xF5,0x00,0x00,}},
+ {0x521E,2,{0x84,0x60,0x00,0x00,}},
+ {0x521F,2,{0x84,0x61,0x00,0x00,}},
+ {0x5220,2,{0xC9,0xBE,0x00,0x00,}},
+ {0x5221,2,{0x84,0x62,0x00,0x00,}},
+ {0x5222,2,{0x84,0x63,0x00,0x00,}},
+ {0x5223,2,{0x84,0x64,0x00,0x00,}},
+ {0x5224,2,{0xC5,0xD0,0x00,0x00,}},
+ {0x5225,2,{0x84,0x65,0x00,0x00,}},
+ {0x5226,2,{0x84,0x66,0x00,0x00,}},
+ {0x5227,2,{0x84,0x67,0x00,0x00,}},
+ {0x5228,2,{0xC5,0xD9,0x00,0x00,}},
+ {0x5229,2,{0xC0,0xFB,0x00,0x00,}},
+ {0x522A,2,{0x84,0x68,0x00,0x00,}},
+ {0x522B,2,{0xB1,0xF0,0x00,0x00,}},
+ {0x522C,2,{0x84,0x69,0x00,0x00,}},
+ {0x522D,2,{0xD8,0xD9,0x00,0x00,}},
+ {0x522E,2,{0xB9,0xCE,0x00,0x00,}},
+ {0x522F,2,{0x84,0x6A,0x00,0x00,}},
+ {0x5230,2,{0xB5,0xBD,0x00,0x00,}},
+ {0x5231,2,{0x84,0x6B,0x00,0x00,}},
+ {0x5232,2,{0x84,0x6C,0x00,0x00,}},
+ {0x5233,2,{0xD8,0xDA,0x00,0x00,}},
+ {0x5234,2,{0x84,0x6D,0x00,0x00,}},
+ {0x5235,2,{0x84,0x6E,0x00,0x00,}},
+ {0x5236,2,{0xD6,0xC6,0x00,0x00,}},
+ {0x5237,2,{0xCB,0xA2,0x00,0x00,}},
+ {0x5238,2,{0xC8,0xAF,0x00,0x00,}},
+ {0x5239,2,{0xC9,0xB2,0x00,0x00,}},
+ {0x523A,2,{0xB4,0xCC,0x00,0x00,}},
+ {0x523B,2,{0xBF,0xCC,0x00,0x00,}},
+ {0x523C,2,{0x84,0x6F,0x00,0x00,}},
+ {0x523D,2,{0xB9,0xF4,0x00,0x00,}},
+ {0x523E,2,{0x84,0x70,0x00,0x00,}},
+ {0x523F,2,{0xD8,0xDB,0x00,0x00,}},
+ {0x5240,2,{0xD8,0xDC,0x00,0x00,}},
+ {0x5241,2,{0xB6,0xE7,0x00,0x00,}},
+ {0x5242,2,{0xBC,0xC1,0x00,0x00,}},
+ {0x5243,2,{0xCC,0xEA,0x00,0x00,}},
+ {0x5244,2,{0x84,0x71,0x00,0x00,}},
+ {0x5245,2,{0x84,0x72,0x00,0x00,}},
+ {0x5246,2,{0x84,0x73,0x00,0x00,}},
+ {0x5247,2,{0x84,0x74,0x00,0x00,}},
+ {0x5248,2,{0x84,0x75,0x00,0x00,}},
+ {0x5249,2,{0x84,0x76,0x00,0x00,}},
+ {0x524A,2,{0xCF,0xF7,0x00,0x00,}},
+ {0x524B,2,{0x84,0x77,0x00,0x00,}},
+ {0x524C,2,{0xD8,0xDD,0x00,0x00,}},
+ {0x524D,2,{0xC7,0xB0,0x00,0x00,}},
+ {0x524E,2,{0x84,0x78,0x00,0x00,}},
+ {0x524F,2,{0x84,0x79,0x00,0x00,}},
+ {0x5250,2,{0xB9,0xD0,0x00,0x00,}},
+ {0x5251,2,{0xBD,0xA3,0x00,0x00,}},
+ {0x5252,2,{0x84,0x7A,0x00,0x00,}},
+ {0x5253,2,{0x84,0x7B,0x00,0x00,}},
+ {0x5254,2,{0xCC,0xDE,0x00,0x00,}},
+ {0x5255,2,{0x84,0x7C,0x00,0x00,}},
+ {0x5256,2,{0xC6,0xCA,0x00,0x00,}},
+ {0x5257,2,{0x84,0x7D,0x00,0x00,}},
+ {0x5258,2,{0x84,0x7E,0x00,0x00,}},
+ {0x5259,2,{0x84,0x80,0x00,0x00,}},
+ {0x525A,2,{0x84,0x81,0x00,0x00,}},
+ {0x525B,2,{0x84,0x82,0x00,0x00,}},
+ {0x525C,2,{0xD8,0xE0,0x00,0x00,}},
+ {0x525D,2,{0x84,0x83,0x00,0x00,}},
+ {0x525E,2,{0xD8,0xDE,0x00,0x00,}},
+ {0x525F,2,{0x84,0x84,0x00,0x00,}},
+ {0x5260,2,{0x84,0x85,0x00,0x00,}},
+ {0x5261,2,{0xD8,0xDF,0x00,0x00,}},
+ {0x5262,2,{0x84,0x86,0x00,0x00,}},
+ {0x5263,2,{0x84,0x87,0x00,0x00,}},
+ {0x5264,2,{0x84,0x88,0x00,0x00,}},
+ {0x5265,2,{0xB0,0xFE,0x00,0x00,}},
+ {0x5266,2,{0x84,0x89,0x00,0x00,}},
+ {0x5267,2,{0xBE,0xE7,0x00,0x00,}},
+ {0x5268,2,{0x84,0x8A,0x00,0x00,}},
+ {0x5269,2,{0xCA,0xA3,0x00,0x00,}},
+ {0x526A,2,{0xBC,0xF4,0x00,0x00,}},
+ {0x526B,2,{0x84,0x8B,0x00,0x00,}},
+ {0x526C,2,{0x84,0x8C,0x00,0x00,}},
+ {0x526D,2,{0x84,0x8D,0x00,0x00,}},
+ {0x526E,2,{0x84,0x8E,0x00,0x00,}},
+ {0x526F,2,{0xB8,0xB1,0x00,0x00,}},
+ {0x5270,2,{0x84,0x8F,0x00,0x00,}},
+ {0x5271,2,{0x84,0x90,0x00,0x00,}},
+ {0x5272,2,{0xB8,0xEE,0x00,0x00,}},
+ {0x5273,2,{0x84,0x91,0x00,0x00,}},
+ {0x5274,2,{0x84,0x92,0x00,0x00,}},
+ {0x5275,2,{0x84,0x93,0x00,0x00,}},
+ {0x5276,2,{0x84,0x94,0x00,0x00,}},
+ {0x5277,2,{0x84,0x95,0x00,0x00,}},
+ {0x5278,2,{0x84,0x96,0x00,0x00,}},
+ {0x5279,2,{0x84,0x97,0x00,0x00,}},
+ {0x527A,2,{0x84,0x98,0x00,0x00,}},
+ {0x527B,2,{0x84,0x99,0x00,0x00,}},
+ {0x527C,2,{0x84,0x9A,0x00,0x00,}},
+ {0x527D,2,{0xD8,0xE2,0x00,0x00,}},
+ {0x527E,2,{0x84,0x9B,0x00,0x00,}},
+ {0x527F,2,{0xBD,0xCB,0x00,0x00,}},
+ {0x5280,2,{0x84,0x9C,0x00,0x00,}},
+ {0x5281,2,{0xD8,0xE4,0x00,0x00,}},
+ {0x5282,2,{0xD8,0xE3,0x00,0x00,}},
+ {0x5283,2,{0x84,0x9D,0x00,0x00,}},
+ {0x5284,2,{0x84,0x9E,0x00,0x00,}},
+ {0x5285,2,{0x84,0x9F,0x00,0x00,}},
+ {0x5286,2,{0x84,0xA0,0x00,0x00,}},
+ {0x5287,2,{0x84,0xA1,0x00,0x00,}},
+ {0x5288,2,{0xC5,0xFC,0x00,0x00,}},
+ {0x5289,2,{0x84,0xA2,0x00,0x00,}},
+ {0x528A,2,{0x84,0xA3,0x00,0x00,}},
+ {0x528B,2,{0x84,0xA4,0x00,0x00,}},
+ {0x528C,2,{0x84,0xA5,0x00,0x00,}},
+ {0x528D,2,{0x84,0xA6,0x00,0x00,}},
+ {0x528E,2,{0x84,0xA7,0x00,0x00,}},
+ {0x528F,2,{0x84,0xA8,0x00,0x00,}},
+ {0x5290,2,{0xD8,0xE5,0x00,0x00,}},
+ {0x5291,2,{0x84,0xA9,0x00,0x00,}},
+ {0x5292,2,{0x84,0xAA,0x00,0x00,}},
+ {0x5293,2,{0xD8,0xE6,0x00,0x00,}},
+ {0x5294,2,{0x84,0xAB,0x00,0x00,}},
+ {0x5295,2,{0x84,0xAC,0x00,0x00,}},
+ {0x5296,2,{0x84,0xAD,0x00,0x00,}},
+ {0x5297,2,{0x84,0xAE,0x00,0x00,}},
+ {0x5298,2,{0x84,0xAF,0x00,0x00,}},
+ {0x5299,2,{0x84,0xB0,0x00,0x00,}},
+ {0x529A,2,{0x84,0xB1,0x00,0x00,}},
+ {0x529B,2,{0xC1,0xA6,0x00,0x00,}},
+ {0x529C,2,{0x84,0xB2,0x00,0x00,}},
+ {0x529D,2,{0xC8,0xB0,0x00,0x00,}},
+ {0x529E,2,{0xB0,0xEC,0x00,0x00,}},
+ {0x529F,2,{0xB9,0xA6,0x00,0x00,}},
+ {0x52A0,2,{0xBC,0xD3,0x00,0x00,}},
+ {0x52A1,2,{0xCE,0xF1,0x00,0x00,}},
+ {0x52A2,2,{0xDB,0xBD,0x00,0x00,}},
+ {0x52A3,2,{0xC1,0xD3,0x00,0x00,}},
+ {0x52A4,2,{0x84,0xB3,0x00,0x00,}},
+ {0x52A5,2,{0x84,0xB4,0x00,0x00,}},
+ {0x52A6,2,{0x84,0xB5,0x00,0x00,}},
+ {0x52A7,2,{0x84,0xB6,0x00,0x00,}},
+ {0x52A8,2,{0xB6,0xAF,0x00,0x00,}},
+ {0x52A9,2,{0xD6,0xFA,0x00,0x00,}},
+ {0x52AA,2,{0xC5,0xAC,0x00,0x00,}},
+ {0x52AB,2,{0xBD,0xD9,0x00,0x00,}},
+ {0x52AC,2,{0xDB,0xBE,0x00,0x00,}},
+ {0x52AD,2,{0xDB,0xBF,0x00,0x00,}},
+ {0x52AE,2,{0x84,0xB7,0x00,0x00,}},
+ {0x52AF,2,{0x84,0xB8,0x00,0x00,}},
+ {0x52B0,2,{0x84,0xB9,0x00,0x00,}},
+ {0x52B1,2,{0xC0,0xF8,0x00,0x00,}},
+ {0x52B2,2,{0xBE,0xA2,0x00,0x00,}},
+ {0x52B3,2,{0xC0,0xCD,0x00,0x00,}},
+ {0x52B4,2,{0x84,0xBA,0x00,0x00,}},
+ {0x52B5,2,{0x84,0xBB,0x00,0x00,}},
+ {0x52B6,2,{0x84,0xBC,0x00,0x00,}},
+ {0x52B7,2,{0x84,0xBD,0x00,0x00,}},
+ {0x52B8,2,{0x84,0xBE,0x00,0x00,}},
+ {0x52B9,2,{0x84,0xBF,0x00,0x00,}},
+ {0x52BA,2,{0x84,0xC0,0x00,0x00,}},
+ {0x52BB,2,{0x84,0xC1,0x00,0x00,}},
+ {0x52BC,2,{0x84,0xC2,0x00,0x00,}},
+ {0x52BD,2,{0x84,0xC3,0x00,0x00,}},
+ {0x52BE,2,{0xDB,0xC0,0x00,0x00,}},
+ {0x52BF,2,{0xCA,0xC6,0x00,0x00,}},
+ {0x52C0,2,{0x84,0xC4,0x00,0x00,}},
+ {0x52C1,2,{0x84,0xC5,0x00,0x00,}},
+ {0x52C2,2,{0x84,0xC6,0x00,0x00,}},
+ {0x52C3,2,{0xB2,0xAA,0x00,0x00,}},
+ {0x52C4,2,{0x84,0xC7,0x00,0x00,}},
+ {0x52C5,2,{0x84,0xC8,0x00,0x00,}},
+ {0x52C6,2,{0x84,0xC9,0x00,0x00,}},
+ {0x52C7,2,{0xD3,0xC2,0x00,0x00,}},
+ {0x52C8,2,{0x84,0xCA,0x00,0x00,}},
+ {0x52C9,2,{0xC3,0xE3,0x00,0x00,}},
+ {0x52CA,2,{0x84,0xCB,0x00,0x00,}},
+ {0x52CB,2,{0xD1,0xAB,0x00,0x00,}},
+ {0x52CC,2,{0x84,0xCC,0x00,0x00,}},
+ {0x52CD,2,{0x84,0xCD,0x00,0x00,}},
+ {0x52CE,2,{0x84,0xCE,0x00,0x00,}},
+ {0x52CF,2,{0x84,0xCF,0x00,0x00,}},
+ {0x52D0,2,{0xDB,0xC2,0x00,0x00,}},
+ {0x52D1,2,{0x84,0xD0,0x00,0x00,}},
+ {0x52D2,2,{0xC0,0xD5,0x00,0x00,}},
+ {0x52D3,2,{0x84,0xD1,0x00,0x00,}},
+ {0x52D4,2,{0x84,0xD2,0x00,0x00,}},
+ {0x52D5,2,{0x84,0xD3,0x00,0x00,}},
+ {0x52D6,2,{0xDB,0xC3,0x00,0x00,}},
+ {0x52D7,2,{0x84,0xD4,0x00,0x00,}},
+ {0x52D8,2,{0xBF,0xB1,0x00,0x00,}},
+ {0x52D9,2,{0x84,0xD5,0x00,0x00,}},
+ {0x52DA,2,{0x84,0xD6,0x00,0x00,}},
+ {0x52DB,2,{0x84,0xD7,0x00,0x00,}},
+ {0x52DC,2,{0x84,0xD8,0x00,0x00,}},
+ {0x52DD,2,{0x84,0xD9,0x00,0x00,}},
+ {0x52DE,2,{0x84,0xDA,0x00,0x00,}},
+ {0x52DF,2,{0xC4,0xBC,0x00,0x00,}},
+ {0x52E0,2,{0x84,0xDB,0x00,0x00,}},
+ {0x52E1,2,{0x84,0xDC,0x00,0x00,}},
+ {0x52E2,2,{0x84,0xDD,0x00,0x00,}},
+ {0x52E3,2,{0x84,0xDE,0x00,0x00,}},
+ {0x52E4,2,{0xC7,0xDA,0x00,0x00,}},
+ {0x52E5,2,{0x84,0xDF,0x00,0x00,}},
+ {0x52E6,2,{0x84,0xE0,0x00,0x00,}},
+ {0x52E7,2,{0x84,0xE1,0x00,0x00,}},
+ {0x52E8,2,{0x84,0xE2,0x00,0x00,}},
+ {0x52E9,2,{0x84,0xE3,0x00,0x00,}},
+ {0x52EA,2,{0x84,0xE4,0x00,0x00,}},
+ {0x52EB,2,{0x84,0xE5,0x00,0x00,}},
+ {0x52EC,2,{0x84,0xE6,0x00,0x00,}},
+ {0x52ED,2,{0x84,0xE7,0x00,0x00,}},
+ {0x52EE,2,{0x84,0xE8,0x00,0x00,}},
+ {0x52EF,2,{0x84,0xE9,0x00,0x00,}},
+ {0x52F0,2,{0xDB,0xC4,0x00,0x00,}},
+ {0x52F1,2,{0x84,0xEA,0x00,0x00,}},
+ {0x52F2,2,{0x84,0xEB,0x00,0x00,}},
+ {0x52F3,2,{0x84,0xEC,0x00,0x00,}},
+ {0x52F4,2,{0x84,0xED,0x00,0x00,}},
+ {0x52F5,2,{0x84,0xEE,0x00,0x00,}},
+ {0x52F6,2,{0x84,0xEF,0x00,0x00,}},
+ {0x52F7,2,{0x84,0xF0,0x00,0x00,}},
+ {0x52F8,2,{0x84,0xF1,0x00,0x00,}},
+ {0x52F9,2,{0xD9,0xE8,0x00,0x00,}},
+ {0x52FA,2,{0xC9,0xD7,0x00,0x00,}},
+ {0x52FB,2,{0x84,0xF2,0x00,0x00,}},
+ {0x52FC,2,{0x84,0xF3,0x00,0x00,}},
+ {0x52FD,2,{0x84,0xF4,0x00,0x00,}},
+ {0x52FE,2,{0xB9,0xB4,0x00,0x00,}},
+ {0x52FF,2,{0xCE,0xF0,0x00,0x00,}},
+ {0x5300,2,{0xD4,0xC8,0x00,0x00,}},
+ {0x5301,2,{0x84,0xF5,0x00,0x00,}},
+ {0x5302,2,{0x84,0xF6,0x00,0x00,}},
+ {0x5303,2,{0x84,0xF7,0x00,0x00,}},
+ {0x5304,2,{0x84,0xF8,0x00,0x00,}},
+ {0x5305,2,{0xB0,0xFC,0x00,0x00,}},
+ {0x5306,2,{0xB4,0xD2,0x00,0x00,}},
+ {0x5307,2,{0x84,0xF9,0x00,0x00,}},
+ {0x5308,2,{0xD0,0xD9,0x00,0x00,}},
+ {0x5309,2,{0x84,0xFA,0x00,0x00,}},
+ {0x530A,2,{0x84,0xFB,0x00,0x00,}},
+ {0x530B,2,{0x84,0xFC,0x00,0x00,}},
+ {0x530C,2,{0x84,0xFD,0x00,0x00,}},
+ {0x530D,2,{0xD9,0xE9,0x00,0x00,}},
+ {0x530E,2,{0x84,0xFE,0x00,0x00,}},
+ {0x530F,2,{0xDE,0xCB,0x00,0x00,}},
+ {0x5310,2,{0xD9,0xEB,0x00,0x00,}},
+ {0x5311,2,{0x85,0x40,0x00,0x00,}},
+ {0x5312,2,{0x85,0x41,0x00,0x00,}},
+ {0x5313,2,{0x85,0x42,0x00,0x00,}},
+ {0x5314,2,{0x85,0x43,0x00,0x00,}},
+ {0x5315,2,{0xD8,0xB0,0x00,0x00,}},
+ {0x5316,2,{0xBB,0xAF,0x00,0x00,}},
+ {0x5317,2,{0xB1,0xB1,0x00,0x00,}},
+ {0x5318,2,{0x85,0x44,0x00,0x00,}},
+ {0x5319,2,{0xB3,0xD7,0x00,0x00,}},
+ {0x531A,2,{0xD8,0xCE,0x00,0x00,}},
+ {0x531B,2,{0x85,0x45,0x00,0x00,}},
+ {0x531C,2,{0x85,0x46,0x00,0x00,}},
+ {0x531D,2,{0xD4,0xD1,0x00,0x00,}},
+ {0x531E,2,{0x85,0x47,0x00,0x00,}},
+ {0x531F,2,{0x85,0x48,0x00,0x00,}},
+ {0x5320,2,{0xBD,0xB3,0x00,0x00,}},
+ {0x5321,2,{0xBF,0xEF,0x00,0x00,}},
+ {0x5322,2,{0x85,0x49,0x00,0x00,}},
+ {0x5323,2,{0xCF,0xBB,0x00,0x00,}},
+ {0x5324,2,{0x85,0x4A,0x00,0x00,}},
+ {0x5325,2,{0x85,0x4B,0x00,0x00,}},
+ {0x5326,2,{0xD8,0xD0,0x00,0x00,}},
+ {0x5327,2,{0x85,0x4C,0x00,0x00,}},
+ {0x5328,2,{0x85,0x4D,0x00,0x00,}},
+ {0x5329,2,{0x85,0x4E,0x00,0x00,}},
+ {0x532A,2,{0xB7,0xCB,0x00,0x00,}},
+ {0x532B,2,{0x85,0x4F,0x00,0x00,}},
+ {0x532C,2,{0x85,0x50,0x00,0x00,}},
+ {0x532D,2,{0x85,0x51,0x00,0x00,}},
+ {0x532E,2,{0xD8,0xD1,0x00,0x00,}},
+ {0x532F,2,{0x85,0x52,0x00,0x00,}},
+ {0x5330,2,{0x85,0x53,0x00,0x00,}},
+ {0x5331,2,{0x85,0x54,0x00,0x00,}},
+ {0x5332,2,{0x85,0x55,0x00,0x00,}},
+ {0x5333,2,{0x85,0x56,0x00,0x00,}},
+ {0x5334,2,{0x85,0x57,0x00,0x00,}},
+ {0x5335,2,{0x85,0x58,0x00,0x00,}},
+ {0x5336,2,{0x85,0x59,0x00,0x00,}},
+ {0x5337,2,{0x85,0x5A,0x00,0x00,}},
+ {0x5338,2,{0x85,0x5B,0x00,0x00,}},
+ {0x5339,2,{0xC6,0xA5,0x00,0x00,}},
+ {0x533A,2,{0xC7,0xF8,0x00,0x00,}},
+ {0x533B,2,{0xD2,0xBD,0x00,0x00,}},
+ {0x533C,2,{0x85,0x5C,0x00,0x00,}},
+ {0x533D,2,{0x85,0x5D,0x00,0x00,}},
+ {0x533E,2,{0xD8,0xD2,0x00,0x00,}},
+ {0x533F,2,{0xC4,0xE4,0x00,0x00,}},
+ {0x5340,2,{0x85,0x5E,0x00,0x00,}},
+ {0x5341,2,{0xCA,0xAE,0x00,0x00,}},
+ {0x5342,2,{0x85,0x5F,0x00,0x00,}},
+ {0x5343,2,{0xC7,0xA7,0x00,0x00,}},
+ {0x5344,2,{0x85,0x60,0x00,0x00,}},
+ {0x5345,2,{0xD8,0xA6,0x00,0x00,}},
+ {0x5346,2,{0x85,0x61,0x00,0x00,}},
+ {0x5347,2,{0xC9,0xFD,0x00,0x00,}},
+ {0x5348,2,{0xCE,0xE7,0x00,0x00,}},
+ {0x5349,2,{0xBB,0xDC,0x00,0x00,}},
+ {0x534A,2,{0xB0,0xEB,0x00,0x00,}},
+ {0x534B,2,{0x85,0x62,0x00,0x00,}},
+ {0x534C,2,{0x85,0x63,0x00,0x00,}},
+ {0x534D,2,{0x85,0x64,0x00,0x00,}},
+ {0x534E,2,{0xBB,0xAA,0x00,0x00,}},
+ {0x534F,2,{0xD0,0xAD,0x00,0x00,}},
+ {0x5350,2,{0x85,0x65,0x00,0x00,}},
+ {0x5351,2,{0xB1,0xB0,0x00,0x00,}},
+ {0x5352,2,{0xD7,0xE4,0x00,0x00,}},
+ {0x5353,2,{0xD7,0xBF,0x00,0x00,}},
+ {0x5354,2,{0x85,0x66,0x00,0x00,}},
+ {0x5355,2,{0xB5,0xA5,0x00,0x00,}},
+ {0x5356,2,{0xC2,0xF4,0x00,0x00,}},
+ {0x5357,2,{0xC4,0xCF,0x00,0x00,}},
+ {0x5358,2,{0x85,0x67,0x00,0x00,}},
+ {0x5359,2,{0x85,0x68,0x00,0x00,}},
+ {0x535A,2,{0xB2,0xA9,0x00,0x00,}},
+ {0x535B,2,{0x85,0x69,0x00,0x00,}},
+ {0x535C,2,{0xB2,0xB7,0x00,0x00,}},
+ {0x535D,2,{0x85,0x6A,0x00,0x00,}},
+ {0x535E,2,{0xB1,0xE5,0x00,0x00,}},
+ {0x535F,2,{0xDF,0xB2,0x00,0x00,}},
+ {0x5360,2,{0xD5,0xBC,0x00,0x00,}},
+ {0x5361,2,{0xBF,0xA8,0x00,0x00,}},
+ {0x5362,2,{0xC2,0xAC,0x00,0x00,}},
+ {0x5363,2,{0xD8,0xD5,0x00,0x00,}},
+ {0x5364,2,{0xC2,0xB1,0x00,0x00,}},
+ {0x5365,2,{0x85,0x6B,0x00,0x00,}},
+ {0x5366,2,{0xD8,0xD4,0x00,0x00,}},
+ {0x5367,2,{0xCE,0xD4,0x00,0x00,}},
+ {0x5368,2,{0x85,0x6C,0x00,0x00,}},
+ {0x5369,2,{0xDA,0xE0,0x00,0x00,}},
+ {0x536A,2,{0x85,0x6D,0x00,0x00,}},
+ {0x536B,2,{0xCE,0xC0,0x00,0x00,}},
+ {0x536C,2,{0x85,0x6E,0x00,0x00,}},
+ {0x536D,2,{0x85,0x6F,0x00,0x00,}},
+ {0x536E,2,{0xD8,0xB4,0x00,0x00,}},
+ {0x536F,2,{0xC3,0xAE,0x00,0x00,}},
+ {0x5370,2,{0xD3,0xA1,0x00,0x00,}},
+ {0x5371,2,{0xCE,0xA3,0x00,0x00,}},
+ {0x5372,2,{0x85,0x70,0x00,0x00,}},
+ {0x5373,2,{0xBC,0xB4,0x00,0x00,}},
+ {0x5374,2,{0xC8,0xB4,0x00,0x00,}},
+ {0x5375,2,{0xC2,0xD1,0x00,0x00,}},
+ {0x5376,2,{0x85,0x71,0x00,0x00,}},
+ {0x5377,2,{0xBE,0xED,0x00,0x00,}},
+ {0x5378,2,{0xD0,0xB6,0x00,0x00,}},
+ {0x5379,2,{0x85,0x72,0x00,0x00,}},
+ {0x537A,2,{0xDA,0xE1,0x00,0x00,}},
+ {0x537B,2,{0x85,0x73,0x00,0x00,}},
+ {0x537C,2,{0x85,0x74,0x00,0x00,}},
+ {0x537D,2,{0x85,0x75,0x00,0x00,}},
+ {0x537E,2,{0x85,0x76,0x00,0x00,}},
+ {0x537F,2,{0xC7,0xE4,0x00,0x00,}},
+ {0x5380,2,{0x85,0x77,0x00,0x00,}},
+ {0x5381,2,{0x85,0x78,0x00,0x00,}},
+ {0x5382,2,{0xB3,0xA7,0x00,0x00,}},
+ {0x5383,2,{0x85,0x79,0x00,0x00,}},
+ {0x5384,2,{0xB6,0xF2,0x00,0x00,}},
+ {0x5385,2,{0xCC,0xFC,0x00,0x00,}},
+ {0x5386,2,{0xC0,0xFA,0x00,0x00,}},
+ {0x5387,2,{0x85,0x7A,0x00,0x00,}},
+ {0x5388,2,{0x85,0x7B,0x00,0x00,}},
+ {0x5389,2,{0xC0,0xF7,0x00,0x00,}},
+ {0x538A,2,{0x85,0x7C,0x00,0x00,}},
+ {0x538B,2,{0xD1,0xB9,0x00,0x00,}},
+ {0x538C,2,{0xD1,0xE1,0x00,0x00,}},
+ {0x538D,2,{0xD8,0xC7,0x00,0x00,}},
+ {0x538E,2,{0x85,0x7D,0x00,0x00,}},
+ {0x538F,2,{0x85,0x7E,0x00,0x00,}},
+ {0x5390,2,{0x85,0x80,0x00,0x00,}},
+ {0x5391,2,{0x85,0x81,0x00,0x00,}},
+ {0x5392,2,{0x85,0x82,0x00,0x00,}},
+ {0x5393,2,{0x85,0x83,0x00,0x00,}},
+ {0x5394,2,{0x85,0x84,0x00,0x00,}},
+ {0x5395,2,{0xB2,0xDE,0x00,0x00,}},
+ {0x5396,2,{0x85,0x85,0x00,0x00,}},
+ {0x5397,2,{0x85,0x86,0x00,0x00,}},
+ {0x5398,2,{0xC0,0xE5,0x00,0x00,}},
+ {0x5399,2,{0x85,0x87,0x00,0x00,}},
+ {0x539A,2,{0xBA,0xF1,0x00,0x00,}},
+ {0x539B,2,{0x85,0x88,0x00,0x00,}},
+ {0x539C,2,{0x85,0x89,0x00,0x00,}},
+ {0x539D,2,{0xD8,0xC8,0x00,0x00,}},
+ {0x539E,2,{0x85,0x8A,0x00,0x00,}},
+ {0x539F,2,{0xD4,0xAD,0x00,0x00,}},
+ {0x53A0,2,{0x85,0x8B,0x00,0x00,}},
+ {0x53A1,2,{0x85,0x8C,0x00,0x00,}},
+ {0x53A2,2,{0xCF,0xE1,0x00,0x00,}},
+ {0x53A3,2,{0xD8,0xC9,0x00,0x00,}},
+ {0x53A4,2,{0x85,0x8D,0x00,0x00,}},
+ {0x53A5,2,{0xD8,0xCA,0x00,0x00,}},
+ {0x53A6,2,{0xCF,0xC3,0x00,0x00,}},
+ {0x53A7,2,{0x85,0x8E,0x00,0x00,}},
+ {0x53A8,2,{0xB3,0xF8,0x00,0x00,}},
+ {0x53A9,2,{0xBE,0xC7,0x00,0x00,}},
+ {0x53AA,2,{0x85,0x8F,0x00,0x00,}},
+ {0x53AB,2,{0x85,0x90,0x00,0x00,}},
+ {0x53AC,2,{0x85,0x91,0x00,0x00,}},
+ {0x53AD,2,{0x85,0x92,0x00,0x00,}},
+ {0x53AE,2,{0xD8,0xCB,0x00,0x00,}},
+ {0x53AF,2,{0x85,0x93,0x00,0x00,}},
+ {0x53B0,2,{0x85,0x94,0x00,0x00,}},
+ {0x53B1,2,{0x85,0x95,0x00,0x00,}},
+ {0x53B2,2,{0x85,0x96,0x00,0x00,}},
+ {0x53B3,2,{0x85,0x97,0x00,0x00,}},
+ {0x53B4,2,{0x85,0x98,0x00,0x00,}},
+ {0x53B5,2,{0x85,0x99,0x00,0x00,}},
+ {0x53B6,2,{0xDB,0xCC,0x00,0x00,}},
+ {0x53B7,2,{0x85,0x9A,0x00,0x00,}},
+ {0x53B8,2,{0x85,0x9B,0x00,0x00,}},
+ {0x53B9,2,{0x85,0x9C,0x00,0x00,}},
+ {0x53BA,2,{0x85,0x9D,0x00,0x00,}},
+ {0x53BB,2,{0xC8,0xA5,0x00,0x00,}},
+ {0x53BC,2,{0x85,0x9E,0x00,0x00,}},
+ {0x53BD,2,{0x85,0x9F,0x00,0x00,}},
+ {0x53BE,2,{0x85,0xA0,0x00,0x00,}},
+ {0x53BF,2,{0xCF,0xD8,0x00,0x00,}},
+ {0x53C0,2,{0x85,0xA1,0x00,0x00,}},
+ {0x53C1,2,{0xC8,0xFE,0x00,0x00,}},
+ {0x53C2,2,{0xB2,0xCE,0x00,0x00,}},
+ {0x53C3,2,{0x85,0xA2,0x00,0x00,}},
+ {0x53C4,2,{0x85,0xA3,0x00,0x00,}},
+ {0x53C5,2,{0x85,0xA4,0x00,0x00,}},
+ {0x53C6,2,{0x85,0xA5,0x00,0x00,}},
+ {0x53C7,2,{0x85,0xA6,0x00,0x00,}},
+ {0x53C8,2,{0xD3,0xD6,0x00,0x00,}},
+ {0x53C9,2,{0xB2,0xE6,0x00,0x00,}},
+ {0x53CA,2,{0xBC,0xB0,0x00,0x00,}},
+ {0x53CB,2,{0xD3,0xD1,0x00,0x00,}},
+ {0x53CC,2,{0xCB,0xAB,0x00,0x00,}},
+ {0x53CD,2,{0xB7,0xB4,0x00,0x00,}},
+ {0x53CE,2,{0x85,0xA7,0x00,0x00,}},
+ {0x53CF,2,{0x85,0xA8,0x00,0x00,}},
+ {0x53D0,2,{0x85,0xA9,0x00,0x00,}},
+ {0x53D1,2,{0xB7,0xA2,0x00,0x00,}},
+ {0x53D2,2,{0x85,0xAA,0x00,0x00,}},
+ {0x53D3,2,{0x85,0xAB,0x00,0x00,}},
+ {0x53D4,2,{0xCA,0xE5,0x00,0x00,}},
+ {0x53D5,2,{0x85,0xAC,0x00,0x00,}},
+ {0x53D6,2,{0xC8,0xA1,0x00,0x00,}},
+ {0x53D7,2,{0xCA,0xDC,0x00,0x00,}},
+ {0x53D8,2,{0xB1,0xE4,0x00,0x00,}},
+ {0x53D9,2,{0xD0,0xF0,0x00,0x00,}},
+ {0x53DA,2,{0x85,0xAD,0x00,0x00,}},
+ {0x53DB,2,{0xC5,0xD1,0x00,0x00,}},
+ {0x53DC,2,{0x85,0xAE,0x00,0x00,}},
+ {0x53DD,2,{0x85,0xAF,0x00,0x00,}},
+ {0x53DE,2,{0x85,0xB0,0x00,0x00,}},
+ {0x53DF,2,{0xDB,0xC5,0x00,0x00,}},
+ {0x53E0,2,{0xB5,0xFE,0x00,0x00,}},
+ {0x53E1,2,{0x85,0xB1,0x00,0x00,}},
+ {0x53E2,2,{0x85,0xB2,0x00,0x00,}},
+ {0x53E3,2,{0xBF,0xDA,0x00,0x00,}},
+ {0x53E4,2,{0xB9,0xC5,0x00,0x00,}},
+ {0x53E5,2,{0xBE,0xE4,0x00,0x00,}},
+ {0x53E6,2,{0xC1,0xED,0x00,0x00,}},
+ {0x53E7,2,{0x85,0xB3,0x00,0x00,}},
+ {0x53E8,2,{0xDF,0xB6,0x00,0x00,}},
+ {0x53E9,2,{0xDF,0xB5,0x00,0x00,}},
+ {0x53EA,2,{0xD6,0xBB,0x00,0x00,}},
+ {0x53EB,2,{0xBD,0xD0,0x00,0x00,}},
+ {0x53EC,2,{0xD5,0xD9,0x00,0x00,}},
+ {0x53ED,2,{0xB0,0xC8,0x00,0x00,}},
+ {0x53EE,2,{0xB6,0xA3,0x00,0x00,}},
+ {0x53EF,2,{0xBF,0xC9,0x00,0x00,}},
+ {0x53F0,2,{0xCC,0xA8,0x00,0x00,}},
+ {0x53F1,2,{0xDF,0xB3,0x00,0x00,}},
+ {0x53F2,2,{0xCA,0xB7,0x00,0x00,}},
+ {0x53F3,2,{0xD3,0xD2,0x00,0x00,}},
+ {0x53F4,2,{0x85,0xB4,0x00,0x00,}},
+ {0x53F5,2,{0xD8,0xCF,0x00,0x00,}},
+ {0x53F6,2,{0xD2,0xB6,0x00,0x00,}},
+ {0x53F7,2,{0xBA,0xC5,0x00,0x00,}},
+ {0x53F8,2,{0xCB,0xBE,0x00,0x00,}},
+ {0x53F9,2,{0xCC,0xBE,0x00,0x00,}},
+ {0x53FA,2,{0x85,0xB5,0x00,0x00,}},
+ {0x53FB,2,{0xDF,0xB7,0x00,0x00,}},
+ {0x53FC,2,{0xB5,0xF0,0x00,0x00,}},
+ {0x53FD,2,{0xDF,0xB4,0x00,0x00,}},
+ {0x53FE,2,{0x85,0xB6,0x00,0x00,}},
+ {0x53FF,2,{0x85,0xB7,0x00,0x00,}},
+ {0x5400,2,{0x85,0xB8,0x00,0x00,}},
+ {0x5401,2,{0xD3,0xF5,0x00,0x00,}},
+ {0x5402,2,{0x85,0xB9,0x00,0x00,}},
+ {0x5403,2,{0xB3,0xD4,0x00,0x00,}},
+ {0x5404,2,{0xB8,0xF7,0x00,0x00,}},
+ {0x5405,2,{0x85,0xBA,0x00,0x00,}},
+ {0x5406,2,{0xDF,0xBA,0x00,0x00,}},
+ {0x5407,2,{0x85,0xBB,0x00,0x00,}},
+ {0x5408,2,{0xBA,0xCF,0x00,0x00,}},
+ {0x5409,2,{0xBC,0xAA,0x00,0x00,}},
+ {0x540A,2,{0xB5,0xF5,0x00,0x00,}},
+ {0x540B,2,{0x85,0xBC,0x00,0x00,}},
+ {0x540C,2,{0xCD,0xAC,0x00,0x00,}},
+ {0x540D,2,{0xC3,0xFB,0x00,0x00,}},
+ {0x540E,2,{0xBA,0xF3,0x00,0x00,}},
+ {0x540F,2,{0xC0,0xF4,0x00,0x00,}},
+ {0x5410,2,{0xCD,0xC2,0x00,0x00,}},
+ {0x5411,2,{0xCF,0xF2,0x00,0x00,}},
+ {0x5412,2,{0xDF,0xB8,0x00,0x00,}},
+ {0x5413,2,{0xCF,0xC5,0x00,0x00,}},
+ {0x5414,2,{0x85,0xBD,0x00,0x00,}},
+ {0x5415,2,{0xC2,0xC0,0x00,0x00,}},
+ {0x5416,2,{0xDF,0xB9,0x00,0x00,}},
+ {0x5417,2,{0xC2,0xF0,0x00,0x00,}},
+ {0x5418,2,{0x85,0xBE,0x00,0x00,}},
+ {0x5419,2,{0x85,0xBF,0x00,0x00,}},
+ {0x541A,2,{0x85,0xC0,0x00,0x00,}},
+ {0x541B,2,{0xBE,0xFD,0x00,0x00,}},
+ {0x541C,2,{0x85,0xC1,0x00,0x00,}},
+ {0x541D,2,{0xC1,0xDF,0x00,0x00,}},
+ {0x541E,2,{0xCD,0xCC,0x00,0x00,}},
+ {0x541F,2,{0xD2,0xF7,0x00,0x00,}},
+ {0x5420,2,{0xB7,0xCD,0x00,0x00,}},
+ {0x5421,2,{0xDF,0xC1,0x00,0x00,}},
+ {0x5422,2,{0x85,0xC2,0x00,0x00,}},
+ {0x5423,2,{0xDF,0xC4,0x00,0x00,}},
+ {0x5424,2,{0x85,0xC3,0x00,0x00,}},
+ {0x5425,2,{0x85,0xC4,0x00,0x00,}},
+ {0x5426,2,{0xB7,0xF1,0x00,0x00,}},
+ {0x5427,2,{0xB0,0xC9,0x00,0x00,}},
+ {0x5428,2,{0xB6,0xD6,0x00,0x00,}},
+ {0x5429,2,{0xB7,0xD4,0x00,0x00,}},
+ {0x542A,2,{0x85,0xC5,0x00,0x00,}},
+ {0x542B,2,{0xBA,0xAC,0x00,0x00,}},
+ {0x542C,2,{0xCC,0xFD,0x00,0x00,}},
+ {0x542D,2,{0xBF,0xD4,0x00,0x00,}},
+ {0x542E,2,{0xCB,0xB1,0x00,0x00,}},
+ {0x542F,2,{0xC6,0xF4,0x00,0x00,}},
+ {0x5430,2,{0x85,0xC6,0x00,0x00,}},
+ {0x5431,2,{0xD6,0xA8,0x00,0x00,}},
+ {0x5432,2,{0xDF,0xC5,0x00,0x00,}},
+ {0x5433,2,{0x85,0xC7,0x00,0x00,}},
+ {0x5434,2,{0xCE,0xE2,0x00,0x00,}},
+ {0x5435,2,{0xB3,0xB3,0x00,0x00,}},
+ {0x5436,2,{0x85,0xC8,0x00,0x00,}},
+ {0x5437,2,{0x85,0xC9,0x00,0x00,}},
+ {0x5438,2,{0xCE,0xFC,0x00,0x00,}},
+ {0x5439,2,{0xB4,0xB5,0x00,0x00,}},
+ {0x543A,2,{0x85,0xCA,0x00,0x00,}},
+ {0x543B,2,{0xCE,0xC7,0x00,0x00,}},
+ {0x543C,2,{0xBA,0xF0,0x00,0x00,}},
+ {0x543D,2,{0x85,0xCB,0x00,0x00,}},
+ {0x543E,2,{0xCE,0xE1,0x00,0x00,}},
+ {0x543F,2,{0x85,0xCC,0x00,0x00,}},
+ {0x5440,2,{0xD1,0xBD,0x00,0x00,}},
+ {0x5441,2,{0x85,0xCD,0x00,0x00,}},
+ {0x5442,2,{0x85,0xCE,0x00,0x00,}},
+ {0x5443,2,{0xDF,0xC0,0x00,0x00,}},
+ {0x5444,2,{0x85,0xCF,0x00,0x00,}},
+ {0x5445,2,{0x85,0xD0,0x00,0x00,}},
+ {0x5446,2,{0xB4,0xF4,0x00,0x00,}},
+ {0x5447,2,{0x85,0xD1,0x00,0x00,}},
+ {0x5448,2,{0xB3,0xCA,0x00,0x00,}},
+ {0x5449,2,{0x85,0xD2,0x00,0x00,}},
+ {0x544A,2,{0xB8,0xE6,0x00,0x00,}},
+ {0x544B,2,{0xDF,0xBB,0x00,0x00,}},
+ {0x544C,2,{0x85,0xD3,0x00,0x00,}},
+ {0x544D,2,{0x85,0xD4,0x00,0x00,}},
+ {0x544E,2,{0x85,0xD5,0x00,0x00,}},
+ {0x544F,2,{0x85,0xD6,0x00,0x00,}},
+ {0x5450,2,{0xC4,0xC5,0x00,0x00,}},
+ {0x5451,2,{0x85,0xD7,0x00,0x00,}},
+ {0x5452,2,{0xDF,0xBC,0x00,0x00,}},
+ {0x5453,2,{0xDF,0xBD,0x00,0x00,}},
+ {0x5454,2,{0xDF,0xBE,0x00,0x00,}},
+ {0x5455,2,{0xC5,0xBB,0x00,0x00,}},
+ {0x5456,2,{0xDF,0xBF,0x00,0x00,}},
+ {0x5457,2,{0xDF,0xC2,0x00,0x00,}},
+ {0x5458,2,{0xD4,0xB1,0x00,0x00,}},
+ {0x5459,2,{0xDF,0xC3,0x00,0x00,}},
+ {0x545A,2,{0x85,0xD8,0x00,0x00,}},
+ {0x545B,2,{0xC7,0xBA,0x00,0x00,}},
+ {0x545C,2,{0xCE,0xD8,0x00,0x00,}},
+ {0x545D,2,{0x85,0xD9,0x00,0x00,}},
+ {0x545E,2,{0x85,0xDA,0x00,0x00,}},
+ {0x545F,2,{0x85,0xDB,0x00,0x00,}},
+ {0x5460,2,{0x85,0xDC,0x00,0x00,}},
+ {0x5461,2,{0x85,0xDD,0x00,0x00,}},
+ {0x5462,2,{0xC4,0xD8,0x00,0x00,}},
+ {0x5463,2,{0x85,0xDE,0x00,0x00,}},
+ {0x5464,2,{0xDF,0xCA,0x00,0x00,}},
+ {0x5465,2,{0x85,0xDF,0x00,0x00,}},
+ {0x5466,2,{0xDF,0xCF,0x00,0x00,}},
+ {0x5467,2,{0x85,0xE0,0x00,0x00,}},
+ {0x5468,2,{0xD6,0xDC,0x00,0x00,}},
+ {0x5469,2,{0x85,0xE1,0x00,0x00,}},
+ {0x546A,2,{0x85,0xE2,0x00,0x00,}},
+ {0x546B,2,{0x85,0xE3,0x00,0x00,}},
+ {0x546C,2,{0x85,0xE4,0x00,0x00,}},
+ {0x546D,2,{0x85,0xE5,0x00,0x00,}},
+ {0x546E,2,{0x85,0xE6,0x00,0x00,}},
+ {0x546F,2,{0x85,0xE7,0x00,0x00,}},
+ {0x5470,2,{0x85,0xE8,0x00,0x00,}},
+ {0x5471,2,{0xDF,0xC9,0x00,0x00,}},
+ {0x5472,2,{0xDF,0xDA,0x00,0x00,}},
+ {0x5473,2,{0xCE,0xB6,0x00,0x00,}},
+ {0x5474,2,{0x85,0xE9,0x00,0x00,}},
+ {0x5475,2,{0xBA,0xC7,0x00,0x00,}},
+ {0x5476,2,{0xDF,0xCE,0x00,0x00,}},
+ {0x5477,2,{0xDF,0xC8,0x00,0x00,}},
+ {0x5478,2,{0xC5,0xDE,0x00,0x00,}},
+ {0x5479,2,{0x85,0xEA,0x00,0x00,}},
+ {0x547A,2,{0x85,0xEB,0x00,0x00,}},
+ {0x547B,2,{0xC9,0xEB,0x00,0x00,}},
+ {0x547C,2,{0xBA,0xF4,0x00,0x00,}},
+ {0x547D,2,{0xC3,0xFC,0x00,0x00,}},
+ {0x547E,2,{0x85,0xEC,0x00,0x00,}},
+ {0x547F,2,{0x85,0xED,0x00,0x00,}},
+ {0x5480,2,{0xBE,0xD7,0x00,0x00,}},
+ {0x5481,2,{0x85,0xEE,0x00,0x00,}},
+ {0x5482,2,{0xDF,0xC6,0x00,0x00,}},
+ {0x5483,2,{0x85,0xEF,0x00,0x00,}},
+ {0x5484,2,{0xDF,0xCD,0x00,0x00,}},
+ {0x5485,2,{0x85,0xF0,0x00,0x00,}},
+ {0x5486,2,{0xC5,0xD8,0x00,0x00,}},
+ {0x5487,2,{0x85,0xF1,0x00,0x00,}},
+ {0x5488,2,{0x85,0xF2,0x00,0x00,}},
+ {0x5489,2,{0x85,0xF3,0x00,0x00,}},
+ {0x548A,2,{0x85,0xF4,0x00,0x00,}},
+ {0x548B,2,{0xD5,0xA6,0x00,0x00,}},
+ {0x548C,2,{0xBA,0xCD,0x00,0x00,}},
+ {0x548D,2,{0x85,0xF5,0x00,0x00,}},
+ {0x548E,2,{0xBE,0xCC,0x00,0x00,}},
+ {0x548F,2,{0xD3,0xBD,0x00,0x00,}},
+ {0x5490,2,{0xB8,0xC0,0x00,0x00,}},
+ {0x5491,2,{0x85,0xF6,0x00,0x00,}},
+ {0x5492,2,{0xD6,0xE4,0x00,0x00,}},
+ {0x5493,2,{0x85,0xF7,0x00,0x00,}},
+ {0x5494,2,{0xDF,0xC7,0x00,0x00,}},
+ {0x5495,2,{0xB9,0xBE,0x00,0x00,}},
+ {0x5496,2,{0xBF,0xA7,0x00,0x00,}},
+ {0x5497,2,{0x85,0xF8,0x00,0x00,}},
+ {0x5498,2,{0x85,0xF9,0x00,0x00,}},
+ {0x5499,2,{0xC1,0xFC,0x00,0x00,}},
+ {0x549A,2,{0xDF,0xCB,0x00,0x00,}},
+ {0x549B,2,{0xDF,0xCC,0x00,0x00,}},
+ {0x549C,2,{0x85,0xFA,0x00,0x00,}},
+ {0x549D,2,{0xDF,0xD0,0x00,0x00,}},
+ {0x549E,2,{0x85,0xFB,0x00,0x00,}},
+ {0x549F,2,{0x85,0xFC,0x00,0x00,}},
+ {0x54A0,2,{0x85,0xFD,0x00,0x00,}},
+ {0x54A1,2,{0x85,0xFE,0x00,0x00,}},
+ {0x54A2,2,{0x86,0x40,0x00,0x00,}},
+ {0x54A3,2,{0xDF,0xDB,0x00,0x00,}},
+ {0x54A4,2,{0xDF,0xE5,0x00,0x00,}},
+ {0x54A5,2,{0x86,0x41,0x00,0x00,}},
+ {0x54A6,2,{0xDF,0xD7,0x00,0x00,}},
+ {0x54A7,2,{0xDF,0xD6,0x00,0x00,}},
+ {0x54A8,2,{0xD7,0xC9,0x00,0x00,}},
+ {0x54A9,2,{0xDF,0xE3,0x00,0x00,}},
+ {0x54AA,2,{0xDF,0xE4,0x00,0x00,}},
+ {0x54AB,2,{0xE5,0xEB,0x00,0x00,}},
+ {0x54AC,2,{0xD2,0xA7,0x00,0x00,}},
+ {0x54AD,2,{0xDF,0xD2,0x00,0x00,}},
+ {0x54AE,2,{0x86,0x42,0x00,0x00,}},
+ {0x54AF,2,{0xBF,0xA9,0x00,0x00,}},
+ {0x54B0,2,{0x86,0x43,0x00,0x00,}},
+ {0x54B1,2,{0xD4,0xDB,0x00,0x00,}},
+ {0x54B2,2,{0x86,0x44,0x00,0x00,}},
+ {0x54B3,2,{0xBF,0xC8,0x00,0x00,}},
+ {0x54B4,2,{0xDF,0xD4,0x00,0x00,}},
+ {0x54B5,2,{0x86,0x45,0x00,0x00,}},
+ {0x54B6,2,{0x86,0x46,0x00,0x00,}},
+ {0x54B7,2,{0x86,0x47,0x00,0x00,}},
+ {0x54B8,2,{0xCF,0xCC,0x00,0x00,}},
+ {0x54B9,2,{0x86,0x48,0x00,0x00,}},
+ {0x54BA,2,{0x86,0x49,0x00,0x00,}},
+ {0x54BB,2,{0xDF,0xDD,0x00,0x00,}},
+ {0x54BC,2,{0x86,0x4A,0x00,0x00,}},
+ {0x54BD,2,{0xD1,0xCA,0x00,0x00,}},
+ {0x54BE,2,{0x86,0x4B,0x00,0x00,}},
+ {0x54BF,2,{0xDF,0xDE,0x00,0x00,}},
+ {0x54C0,2,{0xB0,0xA7,0x00,0x00,}},
+ {0x54C1,2,{0xC6,0xB7,0x00,0x00,}},
+ {0x54C2,2,{0xDF,0xD3,0x00,0x00,}},
+ {0x54C3,2,{0x86,0x4C,0x00,0x00,}},
+ {0x54C4,2,{0xBA,0xE5,0x00,0x00,}},
+ {0x54C5,2,{0x86,0x4D,0x00,0x00,}},
+ {0x54C6,2,{0xB6,0xDF,0x00,0x00,}},
+ {0x54C7,2,{0xCD,0xDB,0x00,0x00,}},
+ {0x54C8,2,{0xB9,0xFE,0x00,0x00,}},
+ {0x54C9,2,{0xD4,0xD5,0x00,0x00,}},
+ {0x54CA,2,{0x86,0x4E,0x00,0x00,}},
+ {0x54CB,2,{0x86,0x4F,0x00,0x00,}},
+ {0x54CC,2,{0xDF,0xDF,0x00,0x00,}},
+ {0x54CD,2,{0xCF,0xEC,0x00,0x00,}},
+ {0x54CE,2,{0xB0,0xA5,0x00,0x00,}},
+ {0x54CF,2,{0xDF,0xE7,0x00,0x00,}},
+ {0x54D0,2,{0xDF,0xD1,0x00,0x00,}},
+ {0x54D1,2,{0xD1,0xC6,0x00,0x00,}},
+ {0x54D2,2,{0xDF,0xD5,0x00,0x00,}},
+ {0x54D3,2,{0xDF,0xD8,0x00,0x00,}},
+ {0x54D4,2,{0xDF,0xD9,0x00,0x00,}},
+ {0x54D5,2,{0xDF,0xDC,0x00,0x00,}},
+ {0x54D6,2,{0x86,0x50,0x00,0x00,}},
+ {0x54D7,2,{0xBB,0xA9,0x00,0x00,}},
+ {0x54D8,2,{0x86,0x51,0x00,0x00,}},
+ {0x54D9,2,{0xDF,0xE0,0x00,0x00,}},
+ {0x54DA,2,{0xDF,0xE1,0x00,0x00,}},
+ {0x54DB,2,{0x86,0x52,0x00,0x00,}},
+ {0x54DC,2,{0xDF,0xE2,0x00,0x00,}},
+ {0x54DD,2,{0xDF,0xE6,0x00,0x00,}},
+ {0x54DE,2,{0xDF,0xE8,0x00,0x00,}},
+ {0x54DF,2,{0xD3,0xB4,0x00,0x00,}},
+ {0x54E0,2,{0x86,0x53,0x00,0x00,}},
+ {0x54E1,2,{0x86,0x54,0x00,0x00,}},
+ {0x54E2,2,{0x86,0x55,0x00,0x00,}},
+ {0x54E3,2,{0x86,0x56,0x00,0x00,}},
+ {0x54E4,2,{0x86,0x57,0x00,0x00,}},
+ {0x54E5,2,{0xB8,0xE7,0x00,0x00,}},
+ {0x54E6,2,{0xC5,0xB6,0x00,0x00,}},
+ {0x54E7,2,{0xDF,0xEA,0x00,0x00,}},
+ {0x54E8,2,{0xC9,0xDA,0x00,0x00,}},
+ {0x54E9,2,{0xC1,0xA8,0x00,0x00,}},
+ {0x54EA,2,{0xC4,0xC4,0x00,0x00,}},
+ {0x54EB,2,{0x86,0x58,0x00,0x00,}},
+ {0x54EC,2,{0x86,0x59,0x00,0x00,}},
+ {0x54ED,2,{0xBF,0xDE,0x00,0x00,}},
+ {0x54EE,2,{0xCF,0xF8,0x00,0x00,}},
+ {0x54EF,2,{0x86,0x5A,0x00,0x00,}},
+ {0x54F0,2,{0x86,0x5B,0x00,0x00,}},
+ {0x54F1,2,{0x86,0x5C,0x00,0x00,}},
+ {0x54F2,2,{0xD5,0xDC,0x00,0x00,}},
+ {0x54F3,2,{0xDF,0xEE,0x00,0x00,}},
+ {0x54F4,2,{0x86,0x5D,0x00,0x00,}},
+ {0x54F5,2,{0x86,0x5E,0x00,0x00,}},
+ {0x54F6,2,{0x86,0x5F,0x00,0x00,}},
+ {0x54F7,2,{0x86,0x60,0x00,0x00,}},
+ {0x54F8,2,{0x86,0x61,0x00,0x00,}},
+ {0x54F9,2,{0x86,0x62,0x00,0x00,}},
+ {0x54FA,2,{0xB2,0xB8,0x00,0x00,}},
+ {0x54FB,2,{0x86,0x63,0x00,0x00,}},
+ {0x54FC,2,{0xBA,0xDF,0x00,0x00,}},
+ {0x54FD,2,{0xDF,0xEC,0x00,0x00,}},
+ {0x54FE,2,{0x86,0x64,0x00,0x00,}},
+ {0x54FF,2,{0xDB,0xC1,0x00,0x00,}},
+ {0x5500,2,{0x86,0x65,0x00,0x00,}},
+ {0x5501,2,{0xD1,0xE4,0x00,0x00,}},
+ {0x5502,2,{0x86,0x66,0x00,0x00,}},
+ {0x5503,2,{0x86,0x67,0x00,0x00,}},
+ {0x5504,2,{0x86,0x68,0x00,0x00,}},
+ {0x5505,2,{0x86,0x69,0x00,0x00,}},
+ {0x5506,2,{0xCB,0xF4,0x00,0x00,}},
+ {0x5507,2,{0xB4,0xBD,0x00,0x00,}},
+ {0x5508,2,{0x86,0x6A,0x00,0x00,}},
+ {0x5509,2,{0xB0,0xA6,0x00,0x00,}},
+ {0x550A,2,{0x86,0x6B,0x00,0x00,}},
+ {0x550B,2,{0x86,0x6C,0x00,0x00,}},
+ {0x550C,2,{0x86,0x6D,0x00,0x00,}},
+ {0x550D,2,{0x86,0x6E,0x00,0x00,}},
+ {0x550E,2,{0x86,0x6F,0x00,0x00,}},
+ {0x550F,2,{0xDF,0xF1,0x00,0x00,}},
+ {0x5510,2,{0xCC,0xC6,0x00,0x00,}},
+ {0x5511,2,{0xDF,0xF2,0x00,0x00,}},
+ {0x5512,2,{0x86,0x70,0x00,0x00,}},
+ {0x5513,2,{0x86,0x71,0x00,0x00,}},
+ {0x5514,2,{0xDF,0xED,0x00,0x00,}},
+ {0x5515,2,{0x86,0x72,0x00,0x00,}},
+ {0x5516,2,{0x86,0x73,0x00,0x00,}},
+ {0x5517,2,{0x86,0x74,0x00,0x00,}},
+ {0x5518,2,{0x86,0x75,0x00,0x00,}},
+ {0x5519,2,{0x86,0x76,0x00,0x00,}},
+ {0x551A,2,{0x86,0x77,0x00,0x00,}},
+ {0x551B,2,{0xDF,0xE9,0x00,0x00,}},
+ {0x551C,2,{0x86,0x78,0x00,0x00,}},
+ {0x551D,2,{0x86,0x79,0x00,0x00,}},
+ {0x551E,2,{0x86,0x7A,0x00,0x00,}},
+ {0x551F,2,{0x86,0x7B,0x00,0x00,}},
+ {0x5520,2,{0xDF,0xEB,0x00,0x00,}},
+ {0x5521,2,{0x86,0x7C,0x00,0x00,}},
+ {0x5522,2,{0xDF,0xEF,0x00,0x00,}},
+ {0x5523,2,{0xDF,0xF0,0x00,0x00,}},
+ {0x5524,2,{0xBB,0xBD,0x00,0x00,}},
+ {0x5525,2,{0x86,0x7D,0x00,0x00,}},
+ {0x5526,2,{0x86,0x7E,0x00,0x00,}},
+ {0x5527,2,{0xDF,0xF3,0x00,0x00,}},
+ {0x5528,2,{0x86,0x80,0x00,0x00,}},
+ {0x5529,2,{0x86,0x81,0x00,0x00,}},
+ {0x552A,2,{0xDF,0xF4,0x00,0x00,}},
+ {0x552B,2,{0x86,0x82,0x00,0x00,}},
+ {0x552C,2,{0xBB,0xA3,0x00,0x00,}},
+ {0x552D,2,{0x86,0x83,0x00,0x00,}},
+ {0x552E,2,{0xCA,0xDB,0x00,0x00,}},
+ {0x552F,2,{0xCE,0xA8,0x00,0x00,}},
+ {0x5530,2,{0xE0,0xA7,0x00,0x00,}},
+ {0x5531,2,{0xB3,0xAA,0x00,0x00,}},
+ {0x5532,2,{0x86,0x84,0x00,0x00,}},
+ {0x5533,2,{0xE0,0xA6,0x00,0x00,}},
+ {0x5534,2,{0x86,0x85,0x00,0x00,}},
+ {0x5535,2,{0x86,0x86,0x00,0x00,}},
+ {0x5536,2,{0x86,0x87,0x00,0x00,}},
+ {0x5537,2,{0xE0,0xA1,0x00,0x00,}},
+ {0x5538,2,{0x86,0x88,0x00,0x00,}},
+ {0x5539,2,{0x86,0x89,0x00,0x00,}},
+ {0x553A,2,{0x86,0x8A,0x00,0x00,}},
+ {0x553B,2,{0x86,0x8B,0x00,0x00,}},
+ {0x553C,2,{0xDF,0xFE,0x00,0x00,}},
+ {0x553D,2,{0x86,0x8C,0x00,0x00,}},
+ {0x553E,2,{0xCD,0xD9,0x00,0x00,}},
+ {0x553F,2,{0xDF,0xFC,0x00,0x00,}},
+ {0x5540,2,{0x86,0x8D,0x00,0x00,}},
+ {0x5541,2,{0xDF,0xFA,0x00,0x00,}},
+ {0x5542,2,{0x86,0x8E,0x00,0x00,}},
+ {0x5543,2,{0xBF,0xD0,0x00,0x00,}},
+ {0x5544,2,{0xD7,0xC4,0x00,0x00,}},
+ {0x5545,2,{0x86,0x8F,0x00,0x00,}},
+ {0x5546,2,{0xC9,0xCC,0x00,0x00,}},
+ {0x5547,2,{0x86,0x90,0x00,0x00,}},
+ {0x5548,2,{0x86,0x91,0x00,0x00,}},
+ {0x5549,2,{0xDF,0xF8,0x00,0x00,}},
+ {0x554A,2,{0xB0,0xA1,0x00,0x00,}},
+ {0x554B,2,{0x86,0x92,0x00,0x00,}},
+ {0x554C,2,{0x86,0x93,0x00,0x00,}},
+ {0x554D,2,{0x86,0x94,0x00,0x00,}},
+ {0x554E,2,{0x86,0x95,0x00,0x00,}},
+ {0x554F,2,{0x86,0x96,0x00,0x00,}},
+ {0x5550,2,{0xDF,0xFD,0x00,0x00,}},
+ {0x5551,2,{0x86,0x97,0x00,0x00,}},
+ {0x5552,2,{0x86,0x98,0x00,0x00,}},
+ {0x5553,2,{0x86,0x99,0x00,0x00,}},
+ {0x5554,2,{0x86,0x9A,0x00,0x00,}},
+ {0x5555,2,{0xDF,0xFB,0x00,0x00,}},
+ {0x5556,2,{0xE0,0xA2,0x00,0x00,}},
+ {0x5557,2,{0x86,0x9B,0x00,0x00,}},
+ {0x5558,2,{0x86,0x9C,0x00,0x00,}},
+ {0x5559,2,{0x86,0x9D,0x00,0x00,}},
+ {0x555A,2,{0x86,0x9E,0x00,0x00,}},
+ {0x555B,2,{0x86,0x9F,0x00,0x00,}},
+ {0x555C,2,{0xE0,0xA8,0x00,0x00,}},
+ {0x555D,2,{0x86,0xA0,0x00,0x00,}},
+ {0x555E,2,{0x86,0xA1,0x00,0x00,}},
+ {0x555F,2,{0x86,0xA2,0x00,0x00,}},
+ {0x5560,2,{0x86,0xA3,0x00,0x00,}},
+ {0x5561,2,{0xB7,0xC8,0x00,0x00,}},
+ {0x5562,2,{0x86,0xA4,0x00,0x00,}},
+ {0x5563,2,{0x86,0xA5,0x00,0x00,}},
+ {0x5564,2,{0xC6,0xA1,0x00,0x00,}},
+ {0x5565,2,{0xC9,0xB6,0x00,0x00,}},
+ {0x5566,2,{0xC0,0xB2,0x00,0x00,}},
+ {0x5567,2,{0xDF,0xF5,0x00,0x00,}},
+ {0x5568,2,{0x86,0xA6,0x00,0x00,}},
+ {0x5569,2,{0x86,0xA7,0x00,0x00,}},
+ {0x556A,2,{0xC5,0xBE,0x00,0x00,}},
+ {0x556B,2,{0x86,0xA8,0x00,0x00,}},
+ {0x556C,2,{0xD8,0xC4,0x00,0x00,}},
+ {0x556D,2,{0xDF,0xF9,0x00,0x00,}},
+ {0x556E,2,{0xC4,0xF6,0x00,0x00,}},
+ {0x556F,2,{0x86,0xA9,0x00,0x00,}},
+ {0x5570,2,{0x86,0xAA,0x00,0x00,}},
+ {0x5571,2,{0x86,0xAB,0x00,0x00,}},
+ {0x5572,2,{0x86,0xAC,0x00,0x00,}},
+ {0x5573,2,{0x86,0xAD,0x00,0x00,}},
+ {0x5574,2,{0x86,0xAE,0x00,0x00,}},
+ {0x5575,2,{0xE0,0xA3,0x00,0x00,}},
+ {0x5576,2,{0xE0,0xA4,0x00,0x00,}},
+ {0x5577,2,{0xE0,0xA5,0x00,0x00,}},
+ {0x5578,2,{0xD0,0xA5,0x00,0x00,}},
+ {0x5579,2,{0x86,0xAF,0x00,0x00,}},
+ {0x557A,2,{0x86,0xB0,0x00,0x00,}},
+ {0x557B,2,{0xE0,0xB4,0x00,0x00,}},
+ {0x557C,2,{0xCC,0xE4,0x00,0x00,}},
+ {0x557D,2,{0x86,0xB1,0x00,0x00,}},
+ {0x557E,2,{0xE0,0xB1,0x00,0x00,}},
+ {0x557F,2,{0x86,0xB2,0x00,0x00,}},
+ {0x5580,2,{0xBF,0xA6,0x00,0x00,}},
+ {0x5581,2,{0xE0,0xAF,0x00,0x00,}},
+ {0x5582,2,{0xCE,0xB9,0x00,0x00,}},
+ {0x5583,2,{0xE0,0xAB,0x00,0x00,}},
+ {0x5584,2,{0xC9,0xC6,0x00,0x00,}},
+ {0x5585,2,{0x86,0xB3,0x00,0x00,}},
+ {0x5586,2,{0x86,0xB4,0x00,0x00,}},
+ {0x5587,2,{0xC0,0xAE,0x00,0x00,}},
+ {0x5588,2,{0xE0,0xAE,0x00,0x00,}},
+ {0x5589,2,{0xBA,0xED,0x00,0x00,}},
+ {0x558A,2,{0xBA,0xB0,0x00,0x00,}},
+ {0x558B,2,{0xE0,0xA9,0x00,0x00,}},
+ {0x558C,2,{0x86,0xB5,0x00,0x00,}},
+ {0x558D,2,{0x86,0xB6,0x00,0x00,}},
+ {0x558E,2,{0x86,0xB7,0x00,0x00,}},
+ {0x558F,2,{0xDF,0xF6,0x00,0x00,}},
+ {0x5590,2,{0x86,0xB8,0x00,0x00,}},
+ {0x5591,2,{0xE0,0xB3,0x00,0x00,}},
+ {0x5592,2,{0x86,0xB9,0x00,0x00,}},
+ {0x5593,2,{0x86,0xBA,0x00,0x00,}},
+ {0x5594,2,{0xE0,0xB8,0x00,0x00,}},
+ {0x5595,2,{0x86,0xBB,0x00,0x00,}},
+ {0x5596,2,{0x86,0xBC,0x00,0x00,}},
+ {0x5597,2,{0x86,0xBD,0x00,0x00,}},
+ {0x5598,2,{0xB4,0xAD,0x00,0x00,}},
+ {0x5599,2,{0xE0,0xB9,0x00,0x00,}},
+ {0x559A,2,{0x86,0xBE,0x00,0x00,}},
+ {0x559B,2,{0x86,0xBF,0x00,0x00,}},
+ {0x559C,2,{0xCF,0xB2,0x00,0x00,}},
+ {0x559D,2,{0xBA,0xC8,0x00,0x00,}},
+ {0x559E,2,{0x86,0xC0,0x00,0x00,}},
+ {0x559F,2,{0xE0,0xB0,0x00,0x00,}},
+ {0x55A0,2,{0x86,0xC1,0x00,0x00,}},
+ {0x55A1,2,{0x86,0xC2,0x00,0x00,}},
+ {0x55A2,2,{0x86,0xC3,0x00,0x00,}},
+ {0x55A3,2,{0x86,0xC4,0x00,0x00,}},
+ {0x55A4,2,{0x86,0xC5,0x00,0x00,}},
+ {0x55A5,2,{0x86,0xC6,0x00,0x00,}},
+ {0x55A6,2,{0x86,0xC7,0x00,0x00,}},
+ {0x55A7,2,{0xD0,0xFA,0x00,0x00,}},
+ {0x55A8,2,{0x86,0xC8,0x00,0x00,}},
+ {0x55A9,2,{0x86,0xC9,0x00,0x00,}},
+ {0x55AA,2,{0x86,0xCA,0x00,0x00,}},
+ {0x55AB,2,{0x86,0xCB,0x00,0x00,}},
+ {0x55AC,2,{0x86,0xCC,0x00,0x00,}},
+ {0x55AD,2,{0x86,0xCD,0x00,0x00,}},
+ {0x55AE,2,{0x86,0xCE,0x00,0x00,}},
+ {0x55AF,2,{0x86,0xCF,0x00,0x00,}},
+ {0x55B0,2,{0x86,0xD0,0x00,0x00,}},
+ {0x55B1,2,{0xE0,0xAC,0x00,0x00,}},
+ {0x55B2,2,{0x86,0xD1,0x00,0x00,}},
+ {0x55B3,2,{0xD4,0xFB,0x00,0x00,}},
+ {0x55B4,2,{0x86,0xD2,0x00,0x00,}},
+ {0x55B5,2,{0xDF,0xF7,0x00,0x00,}},
+ {0x55B6,2,{0x86,0xD3,0x00,0x00,}},
+ {0x55B7,2,{0xC5,0xE7,0x00,0x00,}},
+ {0x55B8,2,{0x86,0xD4,0x00,0x00,}},
+ {0x55B9,2,{0xE0,0xAD,0x00,0x00,}},
+ {0x55BA,2,{0x86,0xD5,0x00,0x00,}},
+ {0x55BB,2,{0xD3,0xF7,0x00,0x00,}},
+ {0x55BC,2,{0x86,0xD6,0x00,0x00,}},
+ {0x55BD,2,{0xE0,0xB6,0x00,0x00,}},
+ {0x55BE,2,{0xE0,0xB7,0x00,0x00,}},
+ {0x55BF,2,{0x86,0xD7,0x00,0x00,}},
+ {0x55C0,2,{0x86,0xD8,0x00,0x00,}},
+ {0x55C1,2,{0x86,0xD9,0x00,0x00,}},
+ {0x55C2,2,{0x86,0xDA,0x00,0x00,}},
+ {0x55C3,2,{0x86,0xDB,0x00,0x00,}},
+ {0x55C4,2,{0xE0,0xC4,0x00,0x00,}},
+ {0x55C5,2,{0xD0,0xE1,0x00,0x00,}},
+ {0x55C6,2,{0x86,0xDC,0x00,0x00,}},
+ {0x55C7,2,{0x86,0xDD,0x00,0x00,}},
+ {0x55C8,2,{0x86,0xDE,0x00,0x00,}},
+ {0x55C9,2,{0xE0,0xBC,0x00,0x00,}},
+ {0x55CA,2,{0x86,0xDF,0x00,0x00,}},
+ {0x55CB,2,{0x86,0xE0,0x00,0x00,}},
+ {0x55CC,2,{0xE0,0xC9,0x00,0x00,}},
+ {0x55CD,2,{0xE0,0xCA,0x00,0x00,}},
+ {0x55CE,2,{0x86,0xE1,0x00,0x00,}},
+ {0x55CF,2,{0x86,0xE2,0x00,0x00,}},
+ {0x55D0,2,{0x86,0xE3,0x00,0x00,}},
+ {0x55D1,2,{0xE0,0xBE,0x00,0x00,}},
+ {0x55D2,2,{0xE0,0xAA,0x00,0x00,}},
+ {0x55D3,2,{0xC9,0xA4,0x00,0x00,}},
+ {0x55D4,2,{0xE0,0xC1,0x00,0x00,}},
+ {0x55D5,2,{0x86,0xE4,0x00,0x00,}},
+ {0x55D6,2,{0xE0,0xB2,0x00,0x00,}},
+ {0x55D7,2,{0x86,0xE5,0x00,0x00,}},
+ {0x55D8,2,{0x86,0xE6,0x00,0x00,}},
+ {0x55D9,2,{0x86,0xE7,0x00,0x00,}},
+ {0x55DA,2,{0x86,0xE8,0x00,0x00,}},
+ {0x55DB,2,{0x86,0xE9,0x00,0x00,}},
+ {0x55DC,2,{0xCA,0xC8,0x00,0x00,}},
+ {0x55DD,2,{0xE0,0xC3,0x00,0x00,}},
+ {0x55DE,2,{0x86,0xEA,0x00,0x00,}},
+ {0x55DF,2,{0xE0,0xB5,0x00,0x00,}},
+ {0x55E0,2,{0x86,0xEB,0x00,0x00,}},
+ {0x55E1,2,{0xCE,0xCB,0x00,0x00,}},
+ {0x55E2,2,{0x86,0xEC,0x00,0x00,}},
+ {0x55E3,2,{0xCB,0xC3,0x00,0x00,}},
+ {0x55E4,2,{0xE0,0xCD,0x00,0x00,}},
+ {0x55E5,2,{0xE0,0xC6,0x00,0x00,}},
+ {0x55E6,2,{0xE0,0xC2,0x00,0x00,}},
+ {0x55E7,2,{0x86,0xED,0x00,0x00,}},
+ {0x55E8,2,{0xE0,0xCB,0x00,0x00,}},
+ {0x55E9,2,{0x86,0xEE,0x00,0x00,}},
+ {0x55EA,2,{0xE0,0xBA,0x00,0x00,}},
+ {0x55EB,2,{0xE0,0xBF,0x00,0x00,}},
+ {0x55EC,2,{0xE0,0xC0,0x00,0x00,}},
+ {0x55ED,2,{0x86,0xEF,0x00,0x00,}},
+ {0x55EE,2,{0x86,0xF0,0x00,0x00,}},
+ {0x55EF,2,{0xE0,0xC5,0x00,0x00,}},
+ {0x55F0,2,{0x86,0xF1,0x00,0x00,}},
+ {0x55F1,2,{0x86,0xF2,0x00,0x00,}},
+ {0x55F2,2,{0xE0,0xC7,0x00,0x00,}},
+ {0x55F3,2,{0xE0,0xC8,0x00,0x00,}},
+ {0x55F4,2,{0x86,0xF3,0x00,0x00,}},
+ {0x55F5,2,{0xE0,0xCC,0x00,0x00,}},
+ {0x55F6,2,{0x86,0xF4,0x00,0x00,}},
+ {0x55F7,2,{0xE0,0xBB,0x00,0x00,}},
+ {0x55F8,2,{0x86,0xF5,0x00,0x00,}},
+ {0x55F9,2,{0x86,0xF6,0x00,0x00,}},
+ {0x55FA,2,{0x86,0xF7,0x00,0x00,}},
+ {0x55FB,2,{0x86,0xF8,0x00,0x00,}},
+ {0x55FC,2,{0x86,0xF9,0x00,0x00,}},
+ {0x55FD,2,{0xCB,0xD4,0x00,0x00,}},
+ {0x55FE,2,{0xE0,0xD5,0x00,0x00,}},
+ {0x55FF,2,{0x86,0xFA,0x00,0x00,}},
+ {0x5600,2,{0xE0,0xD6,0x00,0x00,}},
+ {0x5601,2,{0xE0,0xD2,0x00,0x00,}},
+ {0x5602,2,{0x86,0xFB,0x00,0x00,}},
+ {0x5603,2,{0x86,0xFC,0x00,0x00,}},
+ {0x5604,2,{0x86,0xFD,0x00,0x00,}},
+ {0x5605,2,{0x86,0xFE,0x00,0x00,}},
+ {0x5606,2,{0x87,0x40,0x00,0x00,}},
+ {0x5607,2,{0x87,0x41,0x00,0x00,}},
+ {0x5608,2,{0xE0,0xD0,0x00,0x00,}},
+ {0x5609,2,{0xBC,0xCE,0x00,0x00,}},
+ {0x560A,2,{0x87,0x42,0x00,0x00,}},
+ {0x560B,2,{0x87,0x43,0x00,0x00,}},
+ {0x560C,2,{0xE0,0xD1,0x00,0x00,}},
+ {0x560D,2,{0x87,0x44,0x00,0x00,}},
+ {0x560E,2,{0xB8,0xC2,0x00,0x00,}},
+ {0x560F,2,{0xD8,0xC5,0x00,0x00,}},
+ {0x5610,2,{0x87,0x45,0x00,0x00,}},
+ {0x5611,2,{0x87,0x46,0x00,0x00,}},
+ {0x5612,2,{0x87,0x47,0x00,0x00,}},
+ {0x5613,2,{0x87,0x48,0x00,0x00,}},
+ {0x5614,2,{0x87,0x49,0x00,0x00,}},
+ {0x5615,2,{0x87,0x4A,0x00,0x00,}},
+ {0x5616,2,{0x87,0x4B,0x00,0x00,}},
+ {0x5617,2,{0x87,0x4C,0x00,0x00,}},
+ {0x5618,2,{0xD0,0xEA,0x00,0x00,}},
+ {0x5619,2,{0x87,0x4D,0x00,0x00,}},
+ {0x561A,2,{0x87,0x4E,0x00,0x00,}},
+ {0x561B,2,{0xC2,0xEF,0x00,0x00,}},
+ {0x561C,2,{0x87,0x4F,0x00,0x00,}},
+ {0x561D,2,{0x87,0x50,0x00,0x00,}},
+ {0x561E,2,{0xE0,0xCF,0x00,0x00,}},
+ {0x561F,2,{0xE0,0xBD,0x00,0x00,}},
+ {0x5620,2,{0x87,0x51,0x00,0x00,}},
+ {0x5621,2,{0x87,0x52,0x00,0x00,}},
+ {0x5622,2,{0x87,0x53,0x00,0x00,}},
+ {0x5623,2,{0xE0,0xD4,0x00,0x00,}},
+ {0x5624,2,{0xE0,0xD3,0x00,0x00,}},
+ {0x5625,2,{0x87,0x54,0x00,0x00,}},
+ {0x5626,2,{0x87,0x55,0x00,0x00,}},
+ {0x5627,2,{0xE0,0xD7,0x00,0x00,}},
+ {0x5628,2,{0x87,0x56,0x00,0x00,}},
+ {0x5629,2,{0x87,0x57,0x00,0x00,}},
+ {0x562A,2,{0x87,0x58,0x00,0x00,}},
+ {0x562B,2,{0x87,0x59,0x00,0x00,}},
+ {0x562C,2,{0xE0,0xDC,0x00,0x00,}},
+ {0x562D,2,{0xE0,0xD8,0x00,0x00,}},
+ {0x562E,2,{0x87,0x5A,0x00,0x00,}},
+ {0x562F,2,{0x87,0x5B,0x00,0x00,}},
+ {0x5630,2,{0x87,0x5C,0x00,0x00,}},
+ {0x5631,2,{0xD6,0xF6,0x00,0x00,}},
+ {0x5632,2,{0xB3,0xB0,0x00,0x00,}},
+ {0x5633,2,{0x87,0x5D,0x00,0x00,}},
+ {0x5634,2,{0xD7,0xEC,0x00,0x00,}},
+ {0x5635,2,{0x87,0x5E,0x00,0x00,}},
+ {0x5636,2,{0xCB,0xBB,0x00,0x00,}},
+ {0x5637,2,{0x87,0x5F,0x00,0x00,}},
+ {0x5638,2,{0x87,0x60,0x00,0x00,}},
+ {0x5639,2,{0xE0,0xDA,0x00,0x00,}},
+ {0x563A,2,{0x87,0x61,0x00,0x00,}},
+ {0x563B,2,{0xCE,0xFB,0x00,0x00,}},
+ {0x563C,2,{0x87,0x62,0x00,0x00,}},
+ {0x563D,2,{0x87,0x63,0x00,0x00,}},
+ {0x563E,2,{0x87,0x64,0x00,0x00,}},
+ {0x563F,2,{0xBA,0xD9,0x00,0x00,}},
+ {0x5640,2,{0x87,0x65,0x00,0x00,}},
+ {0x5641,2,{0x87,0x66,0x00,0x00,}},
+ {0x5642,2,{0x87,0x67,0x00,0x00,}},
+ {0x5643,2,{0x87,0x68,0x00,0x00,}},
+ {0x5644,2,{0x87,0x69,0x00,0x00,}},
+ {0x5645,2,{0x87,0x6A,0x00,0x00,}},
+ {0x5646,2,{0x87,0x6B,0x00,0x00,}},
+ {0x5647,2,{0x87,0x6C,0x00,0x00,}},
+ {0x5648,2,{0x87,0x6D,0x00,0x00,}},
+ {0x5649,2,{0x87,0x6E,0x00,0x00,}},
+ {0x564A,2,{0x87,0x6F,0x00,0x00,}},
+ {0x564B,2,{0x87,0x70,0x00,0x00,}},
+ {0x564C,2,{0xE0,0xE1,0x00,0x00,}},
+ {0x564D,2,{0xE0,0xDD,0x00,0x00,}},
+ {0x564E,2,{0xD2,0xAD,0x00,0x00,}},
+ {0x564F,2,{0x87,0x71,0x00,0x00,}},
+ {0x5650,2,{0x87,0x72,0x00,0x00,}},
+ {0x5651,2,{0x87,0x73,0x00,0x00,}},
+ {0x5652,2,{0x87,0x74,0x00,0x00,}},
+ {0x5653,2,{0x87,0x75,0x00,0x00,}},
+ {0x5654,2,{0xE0,0xE2,0x00,0x00,}},
+ {0x5655,2,{0x87,0x76,0x00,0x00,}},
+ {0x5656,2,{0x87,0x77,0x00,0x00,}},
+ {0x5657,2,{0xE0,0xDB,0x00,0x00,}},
+ {0x5658,2,{0xE0,0xD9,0x00,0x00,}},
+ {0x5659,2,{0xE0,0xDF,0x00,0x00,}},
+ {0x565A,2,{0x87,0x78,0x00,0x00,}},
+ {0x565B,2,{0x87,0x79,0x00,0x00,}},
+ {0x565C,2,{0xE0,0xE0,0x00,0x00,}},
+ {0x565D,2,{0x87,0x7A,0x00,0x00,}},
+ {0x565E,2,{0x87,0x7B,0x00,0x00,}},
+ {0x565F,2,{0x87,0x7C,0x00,0x00,}},
+ {0x5660,2,{0x87,0x7D,0x00,0x00,}},
+ {0x5661,2,{0x87,0x7E,0x00,0x00,}},
+ {0x5662,2,{0xE0,0xDE,0x00,0x00,}},
+ {0x5663,2,{0x87,0x80,0x00,0x00,}},
+ {0x5664,2,{0xE0,0xE4,0x00,0x00,}},
+ {0x5665,2,{0x87,0x81,0x00,0x00,}},
+ {0x5666,2,{0x87,0x82,0x00,0x00,}},
+ {0x5667,2,{0x87,0x83,0x00,0x00,}},
+ {0x5668,2,{0xC6,0xF7,0x00,0x00,}},
+ {0x5669,2,{0xD8,0xAC,0x00,0x00,}},
+ {0x566A,2,{0xD4,0xEB,0x00,0x00,}},
+ {0x566B,2,{0xE0,0xE6,0x00,0x00,}},
+ {0x566C,2,{0xCA,0xC9,0x00,0x00,}},
+ {0x566D,2,{0x87,0x84,0x00,0x00,}},
+ {0x566E,2,{0x87,0x85,0x00,0x00,}},
+ {0x566F,2,{0x87,0x86,0x00,0x00,}},
+ {0x5670,2,{0x87,0x87,0x00,0x00,}},
+ {0x5671,2,{0xE0,0xE5,0x00,0x00,}},
+ {0x5672,2,{0x87,0x88,0x00,0x00,}},
+ {0x5673,2,{0x87,0x89,0x00,0x00,}},
+ {0x5674,2,{0x87,0x8A,0x00,0x00,}},
+ {0x5675,2,{0x87,0x8B,0x00,0x00,}},
+ {0x5676,2,{0xB8,0xC1,0x00,0x00,}},
+ {0x5677,2,{0x87,0x8C,0x00,0x00,}},
+ {0x5678,2,{0x87,0x8D,0x00,0x00,}},
+ {0x5679,2,{0x87,0x8E,0x00,0x00,}},
+ {0x567A,2,{0x87,0x8F,0x00,0x00,}},
+ {0x567B,2,{0xE0,0xE7,0x00,0x00,}},
+ {0x567C,2,{0xE0,0xE8,0x00,0x00,}},
+ {0x567D,2,{0x87,0x90,0x00,0x00,}},
+ {0x567E,2,{0x87,0x91,0x00,0x00,}},
+ {0x567F,2,{0x87,0x92,0x00,0x00,}},
+ {0x5680,2,{0x87,0x93,0x00,0x00,}},
+ {0x5681,2,{0x87,0x94,0x00,0x00,}},
+ {0x5682,2,{0x87,0x95,0x00,0x00,}},
+ {0x5683,2,{0x87,0x96,0x00,0x00,}},
+ {0x5684,2,{0x87,0x97,0x00,0x00,}},
+ {0x5685,2,{0xE0,0xE9,0x00,0x00,}},
+ {0x5686,2,{0xE0,0xE3,0x00,0x00,}},
+ {0x5687,2,{0x87,0x98,0x00,0x00,}},
+ {0x5688,2,{0x87,0x99,0x00,0x00,}},
+ {0x5689,2,{0x87,0x9A,0x00,0x00,}},
+ {0x568A,2,{0x87,0x9B,0x00,0x00,}},
+ {0x568B,2,{0x87,0x9C,0x00,0x00,}},
+ {0x568C,2,{0x87,0x9D,0x00,0x00,}},
+ {0x568D,2,{0x87,0x9E,0x00,0x00,}},
+ {0x568E,2,{0xBA,0xBF,0x00,0x00,}},
+ {0x568F,2,{0xCC,0xE7,0x00,0x00,}},
+ {0x5690,2,{0x87,0x9F,0x00,0x00,}},
+ {0x5691,2,{0x87,0xA0,0x00,0x00,}},
+ {0x5692,2,{0x87,0xA1,0x00,0x00,}},
+ {0x5693,2,{0xE0,0xEA,0x00,0x00,}},
+ {0x5694,2,{0x87,0xA2,0x00,0x00,}},
+ {0x5695,2,{0x87,0xA3,0x00,0x00,}},
+ {0x5696,2,{0x87,0xA4,0x00,0x00,}},
+ {0x5697,2,{0x87,0xA5,0x00,0x00,}},
+ {0x5698,2,{0x87,0xA6,0x00,0x00,}},
+ {0x5699,2,{0x87,0xA7,0x00,0x00,}},
+ {0x569A,2,{0x87,0xA8,0x00,0x00,}},
+ {0x569B,2,{0x87,0xA9,0x00,0x00,}},
+ {0x569C,2,{0x87,0xAA,0x00,0x00,}},
+ {0x569D,2,{0x87,0xAB,0x00,0x00,}},
+ {0x569E,2,{0x87,0xAC,0x00,0x00,}},
+ {0x569F,2,{0x87,0xAD,0x00,0x00,}},
+ {0x56A0,2,{0x87,0xAE,0x00,0x00,}},
+ {0x56A1,2,{0x87,0xAF,0x00,0x00,}},
+ {0x56A2,2,{0x87,0xB0,0x00,0x00,}},
+ {0x56A3,2,{0xCF,0xF9,0x00,0x00,}},
+ {0x56A4,2,{0x87,0xB1,0x00,0x00,}},
+ {0x56A5,2,{0x87,0xB2,0x00,0x00,}},
+ {0x56A6,2,{0x87,0xB3,0x00,0x00,}},
+ {0x56A7,2,{0x87,0xB4,0x00,0x00,}},
+ {0x56A8,2,{0x87,0xB5,0x00,0x00,}},
+ {0x56A9,2,{0x87,0xB6,0x00,0x00,}},
+ {0x56AA,2,{0x87,0xB7,0x00,0x00,}},
+ {0x56AB,2,{0x87,0xB8,0x00,0x00,}},
+ {0x56AC,2,{0x87,0xB9,0x00,0x00,}},
+ {0x56AD,2,{0x87,0xBA,0x00,0x00,}},
+ {0x56AE,2,{0x87,0xBB,0x00,0x00,}},
+ {0x56AF,2,{0xE0,0xEB,0x00,0x00,}},
+ {0x56B0,2,{0x87,0xBC,0x00,0x00,}},
+ {0x56B1,2,{0x87,0xBD,0x00,0x00,}},
+ {0x56B2,2,{0x87,0xBE,0x00,0x00,}},
+ {0x56B3,2,{0x87,0xBF,0x00,0x00,}},
+ {0x56B4,2,{0x87,0xC0,0x00,0x00,}},
+ {0x56B5,2,{0x87,0xC1,0x00,0x00,}},
+ {0x56B6,2,{0x87,0xC2,0x00,0x00,}},
+ {0x56B7,2,{0xC8,0xC2,0x00,0x00,}},
+ {0x56B8,2,{0x87,0xC3,0x00,0x00,}},
+ {0x56B9,2,{0x87,0xC4,0x00,0x00,}},
+ {0x56BA,2,{0x87,0xC5,0x00,0x00,}},
+ {0x56BB,2,{0x87,0xC6,0x00,0x00,}},
+ {0x56BC,2,{0xBD,0xC0,0x00,0x00,}},
+ {0x56BD,2,{0x87,0xC7,0x00,0x00,}},
+ {0x56BE,2,{0x87,0xC8,0x00,0x00,}},
+ {0x56BF,2,{0x87,0xC9,0x00,0x00,}},
+ {0x56C0,2,{0x87,0xCA,0x00,0x00,}},
+ {0x56C1,2,{0x87,0xCB,0x00,0x00,}},
+ {0x56C2,2,{0x87,0xCC,0x00,0x00,}},
+ {0x56C3,2,{0x87,0xCD,0x00,0x00,}},
+ {0x56C4,2,{0x87,0xCE,0x00,0x00,}},
+ {0x56C5,2,{0x87,0xCF,0x00,0x00,}},
+ {0x56C6,2,{0x87,0xD0,0x00,0x00,}},
+ {0x56C7,2,{0x87,0xD1,0x00,0x00,}},
+ {0x56C8,2,{0x87,0xD2,0x00,0x00,}},
+ {0x56C9,2,{0x87,0xD3,0x00,0x00,}},
+ {0x56CA,2,{0xC4,0xD2,0x00,0x00,}},
+ {0x56CB,2,{0x87,0xD4,0x00,0x00,}},
+ {0x56CC,2,{0x87,0xD5,0x00,0x00,}},
+ {0x56CD,2,{0x87,0xD6,0x00,0x00,}},
+ {0x56CE,2,{0x87,0xD7,0x00,0x00,}},
+ {0x56CF,2,{0x87,0xD8,0x00,0x00,}},
+ {0x56D0,2,{0x87,0xD9,0x00,0x00,}},
+ {0x56D1,2,{0x87,0xDA,0x00,0x00,}},
+ {0x56D2,2,{0x87,0xDB,0x00,0x00,}},
+ {0x56D3,2,{0x87,0xDC,0x00,0x00,}},
+ {0x56D4,2,{0xE0,0xEC,0x00,0x00,}},
+ {0x56D5,2,{0x87,0xDD,0x00,0x00,}},
+ {0x56D6,2,{0x87,0xDE,0x00,0x00,}},
+ {0x56D7,2,{0xE0,0xED,0x00,0x00,}},
+ {0x56D8,2,{0x87,0xDF,0x00,0x00,}},
+ {0x56D9,2,{0x87,0xE0,0x00,0x00,}},
+ {0x56DA,2,{0xC7,0xF4,0x00,0x00,}},
+ {0x56DB,2,{0xCB,0xC4,0x00,0x00,}},
+ {0x56DC,2,{0x87,0xE1,0x00,0x00,}},
+ {0x56DD,2,{0xE0,0xEE,0x00,0x00,}},
+ {0x56DE,2,{0xBB,0xD8,0x00,0x00,}},
+ {0x56DF,2,{0xD8,0xB6,0x00,0x00,}},
+ {0x56E0,2,{0xD2,0xF2,0x00,0x00,}},
+ {0x56E1,2,{0xE0,0xEF,0x00,0x00,}},
+ {0x56E2,2,{0xCD,0xC5,0x00,0x00,}},
+ {0x56E3,2,{0x87,0xE2,0x00,0x00,}},
+ {0x56E4,2,{0xB6,0xDA,0x00,0x00,}},
+ {0x56E5,2,{0x87,0xE3,0x00,0x00,}},
+ {0x56E6,2,{0x87,0xE4,0x00,0x00,}},
+ {0x56E7,2,{0x87,0xE5,0x00,0x00,}},
+ {0x56E8,2,{0x87,0xE6,0x00,0x00,}},
+ {0x56E9,2,{0x87,0xE7,0x00,0x00,}},
+ {0x56EA,2,{0x87,0xE8,0x00,0x00,}},
+ {0x56EB,2,{0xE0,0xF1,0x00,0x00,}},
+ {0x56EC,2,{0x87,0xE9,0x00,0x00,}},
+ {0x56ED,2,{0xD4,0xB0,0x00,0x00,}},
+ {0x56EE,2,{0x87,0xEA,0x00,0x00,}},
+ {0x56EF,2,{0x87,0xEB,0x00,0x00,}},
+ {0x56F0,2,{0xC0,0xA7,0x00,0x00,}},
+ {0x56F1,2,{0xB4,0xD1,0x00,0x00,}},
+ {0x56F2,2,{0x87,0xEC,0x00,0x00,}},
+ {0x56F3,2,{0x87,0xED,0x00,0x00,}},
+ {0x56F4,2,{0xCE,0xA7,0x00,0x00,}},
+ {0x56F5,2,{0xE0,0xF0,0x00,0x00,}},
+ {0x56F6,2,{0x87,0xEE,0x00,0x00,}},
+ {0x56F7,2,{0x87,0xEF,0x00,0x00,}},
+ {0x56F8,2,{0x87,0xF0,0x00,0x00,}},
+ {0x56F9,2,{0xE0,0xF2,0x00,0x00,}},
+ {0x56FA,2,{0xB9,0xCC,0x00,0x00,}},
+ {0x56FB,2,{0x87,0xF1,0x00,0x00,}},
+ {0x56FC,2,{0x87,0xF2,0x00,0x00,}},
+ {0x56FD,2,{0xB9,0xFA,0x00,0x00,}},
+ {0x56FE,2,{0xCD,0xBC,0x00,0x00,}},
+ {0x56FF,2,{0xE0,0xF3,0x00,0x00,}},
+ {0x5700,2,{0x87,0xF3,0x00,0x00,}},
+ {0x5701,2,{0x87,0xF4,0x00,0x00,}},
+ {0x5702,2,{0x87,0xF5,0x00,0x00,}},
+ {0x5703,2,{0xC6,0xD4,0x00,0x00,}},
+ {0x5704,2,{0xE0,0xF4,0x00,0x00,}},
+ {0x5705,2,{0x87,0xF6,0x00,0x00,}},
+ {0x5706,2,{0xD4,0xB2,0x00,0x00,}},
+ {0x5707,2,{0x87,0xF7,0x00,0x00,}},
+ {0x5708,2,{0xC8,0xA6,0x00,0x00,}},
+ {0x5709,2,{0xE0,0xF6,0x00,0x00,}},
+ {0x570A,2,{0xE0,0xF5,0x00,0x00,}},
+ {0x570B,2,{0x87,0xF8,0x00,0x00,}},
+ {0x570C,2,{0x87,0xF9,0x00,0x00,}},
+ {0x570D,2,{0x87,0xFA,0x00,0x00,}},
+ {0x570E,2,{0x87,0xFB,0x00,0x00,}},
+ {0x570F,2,{0x87,0xFC,0x00,0x00,}},
+ {0x5710,2,{0x87,0xFD,0x00,0x00,}},
+ {0x5711,2,{0x87,0xFE,0x00,0x00,}},
+ {0x5712,2,{0x88,0x40,0x00,0x00,}},
+ {0x5713,2,{0x88,0x41,0x00,0x00,}},
+ {0x5714,2,{0x88,0x42,0x00,0x00,}},
+ {0x5715,2,{0x88,0x43,0x00,0x00,}},
+ {0x5716,2,{0x88,0x44,0x00,0x00,}},
+ {0x5717,2,{0x88,0x45,0x00,0x00,}},
+ {0x5718,2,{0x88,0x46,0x00,0x00,}},
+ {0x5719,2,{0x88,0x47,0x00,0x00,}},
+ {0x571A,2,{0x88,0x48,0x00,0x00,}},
+ {0x571B,2,{0x88,0x49,0x00,0x00,}},
+ {0x571C,2,{0xE0,0xF7,0x00,0x00,}},
+ {0x571D,2,{0x88,0x4A,0x00,0x00,}},
+ {0x571E,2,{0x88,0x4B,0x00,0x00,}},
+ {0x571F,2,{0xCD,0xC1,0x00,0x00,}},
+ {0x5720,2,{0x88,0x4C,0x00,0x00,}},
+ {0x5721,2,{0x88,0x4D,0x00,0x00,}},
+ {0x5722,2,{0x88,0x4E,0x00,0x00,}},
+ {0x5723,2,{0xCA,0xA5,0x00,0x00,}},
+ {0x5724,2,{0x88,0x4F,0x00,0x00,}},
+ {0x5725,2,{0x88,0x50,0x00,0x00,}},
+ {0x5726,2,{0x88,0x51,0x00,0x00,}},
+ {0x5727,2,{0x88,0x52,0x00,0x00,}},
+ {0x5728,2,{0xD4,0xDA,0x00,0x00,}},
+ {0x5729,2,{0xDB,0xD7,0x00,0x00,}},
+ {0x572A,2,{0xDB,0xD9,0x00,0x00,}},
+ {0x572B,2,{0x88,0x53,0x00,0x00,}},
+ {0x572C,2,{0xDB,0xD8,0x00,0x00,}},
+ {0x572D,2,{0xB9,0xE7,0x00,0x00,}},
+ {0x572E,2,{0xDB,0xDC,0x00,0x00,}},
+ {0x572F,2,{0xDB,0xDD,0x00,0x00,}},
+ {0x5730,2,{0xB5,0xD8,0x00,0x00,}},
+ {0x5731,2,{0x88,0x54,0x00,0x00,}},
+ {0x5732,2,{0x88,0x55,0x00,0x00,}},
+ {0x5733,2,{0xDB,0xDA,0x00,0x00,}},
+ {0x5734,2,{0x88,0x56,0x00,0x00,}},
+ {0x5735,2,{0x88,0x57,0x00,0x00,}},
+ {0x5736,2,{0x88,0x58,0x00,0x00,}},
+ {0x5737,2,{0x88,0x59,0x00,0x00,}},
+ {0x5738,2,{0x88,0x5A,0x00,0x00,}},
+ {0x5739,2,{0xDB,0xDB,0x00,0x00,}},
+ {0x573A,2,{0xB3,0xA1,0x00,0x00,}},
+ {0x573B,2,{0xDB,0xDF,0x00,0x00,}},
+ {0x573C,2,{0x88,0x5B,0x00,0x00,}},
+ {0x573D,2,{0x88,0x5C,0x00,0x00,}},
+ {0x573E,2,{0xBB,0xF8,0x00,0x00,}},
+ {0x573F,2,{0x88,0x5D,0x00,0x00,}},
+ {0x5740,2,{0xD6,0xB7,0x00,0x00,}},
+ {0x5741,2,{0x88,0x5E,0x00,0x00,}},
+ {0x5742,2,{0xDB,0xE0,0x00,0x00,}},
+ {0x5743,2,{0x88,0x5F,0x00,0x00,}},
+ {0x5744,2,{0x88,0x60,0x00,0x00,}},
+ {0x5745,2,{0x88,0x61,0x00,0x00,}},
+ {0x5746,2,{0x88,0x62,0x00,0x00,}},
+ {0x5747,2,{0xBE,0xF9,0x00,0x00,}},
+ {0x5748,2,{0x88,0x63,0x00,0x00,}},
+ {0x5749,2,{0x88,0x64,0x00,0x00,}},
+ {0x574A,2,{0xB7,0xBB,0x00,0x00,}},
+ {0x574B,2,{0x88,0x65,0x00,0x00,}},
+ {0x574C,2,{0xDB,0xD0,0x00,0x00,}},
+ {0x574D,2,{0xCC,0xAE,0x00,0x00,}},
+ {0x574E,2,{0xBF,0xB2,0x00,0x00,}},
+ {0x574F,2,{0xBB,0xB5,0x00,0x00,}},
+ {0x5750,2,{0xD7,0xF8,0x00,0x00,}},
+ {0x5751,2,{0xBF,0xD3,0x00,0x00,}},
+ {0x5752,2,{0x88,0x66,0x00,0x00,}},
+ {0x5753,2,{0x88,0x67,0x00,0x00,}},
+ {0x5754,2,{0x88,0x68,0x00,0x00,}},
+ {0x5755,2,{0x88,0x69,0x00,0x00,}},
+ {0x5756,2,{0x88,0x6A,0x00,0x00,}},
+ {0x5757,2,{0xBF,0xE9,0x00,0x00,}},
+ {0x5758,2,{0x88,0x6B,0x00,0x00,}},
+ {0x5759,2,{0x88,0x6C,0x00,0x00,}},
+ {0x575A,2,{0xBC,0xE1,0x00,0x00,}},
+ {0x575B,2,{0xCC,0xB3,0x00,0x00,}},
+ {0x575C,2,{0xDB,0xDE,0x00,0x00,}},
+ {0x575D,2,{0xB0,0xD3,0x00,0x00,}},
+ {0x575E,2,{0xCE,0xEB,0x00,0x00,}},
+ {0x575F,2,{0xB7,0xD8,0x00,0x00,}},
+ {0x5760,2,{0xD7,0xB9,0x00,0x00,}},
+ {0x5761,2,{0xC6,0xC2,0x00,0x00,}},
+ {0x5762,2,{0x88,0x6D,0x00,0x00,}},
+ {0x5763,2,{0x88,0x6E,0x00,0x00,}},
+ {0x5764,2,{0xC0,0xA4,0x00,0x00,}},
+ {0x5765,2,{0x88,0x6F,0x00,0x00,}},
+ {0x5766,2,{0xCC,0xB9,0x00,0x00,}},
+ {0x5767,2,{0x88,0x70,0x00,0x00,}},
+ {0x5768,2,{0xDB,0xE7,0x00,0x00,}},
+ {0x5769,2,{0xDB,0xE1,0x00,0x00,}},
+ {0x576A,2,{0xC6,0xBA,0x00,0x00,}},
+ {0x576B,2,{0xDB,0xE3,0x00,0x00,}},
+ {0x576C,2,{0x88,0x71,0x00,0x00,}},
+ {0x576D,2,{0xDB,0xE8,0x00,0x00,}},
+ {0x576E,2,{0x88,0x72,0x00,0x00,}},
+ {0x576F,2,{0xC5,0xF7,0x00,0x00,}},
+ {0x5770,2,{0x88,0x73,0x00,0x00,}},
+ {0x5771,2,{0x88,0x74,0x00,0x00,}},
+ {0x5772,2,{0x88,0x75,0x00,0x00,}},
+ {0x5773,2,{0xDB,0xEA,0x00,0x00,}},
+ {0x5774,2,{0x88,0x76,0x00,0x00,}},
+ {0x5775,2,{0x88,0x77,0x00,0x00,}},
+ {0x5776,2,{0xDB,0xE9,0x00,0x00,}},
+ {0x5777,2,{0xBF,0xC0,0x00,0x00,}},
+ {0x5778,2,{0x88,0x78,0x00,0x00,}},
+ {0x5779,2,{0x88,0x79,0x00,0x00,}},
+ {0x577A,2,{0x88,0x7A,0x00,0x00,}},
+ {0x577B,2,{0xDB,0xE6,0x00,0x00,}},
+ {0x577C,2,{0xDB,0xE5,0x00,0x00,}},
+ {0x577D,2,{0x88,0x7B,0x00,0x00,}},
+ {0x577E,2,{0x88,0x7C,0x00,0x00,}},
+ {0x577F,2,{0x88,0x7D,0x00,0x00,}},
+ {0x5780,2,{0x88,0x7E,0x00,0x00,}},
+ {0x5781,2,{0x88,0x80,0x00,0x00,}},
+ {0x5782,2,{0xB4,0xB9,0x00,0x00,}},
+ {0x5783,2,{0xC0,0xAC,0x00,0x00,}},
+ {0x5784,2,{0xC2,0xA2,0x00,0x00,}},
+ {0x5785,2,{0xDB,0xE2,0x00,0x00,}},
+ {0x5786,2,{0xDB,0xE4,0x00,0x00,}},
+ {0x5787,2,{0x88,0x81,0x00,0x00,}},
+ {0x5788,2,{0x88,0x82,0x00,0x00,}},
+ {0x5789,2,{0x88,0x83,0x00,0x00,}},
+ {0x578A,2,{0x88,0x84,0x00,0x00,}},
+ {0x578B,2,{0xD0,0xCD,0x00,0x00,}},
+ {0x578C,2,{0xDB,0xED,0x00,0x00,}},
+ {0x578D,2,{0x88,0x85,0x00,0x00,}},
+ {0x578E,2,{0x88,0x86,0x00,0x00,}},
+ {0x578F,2,{0x88,0x87,0x00,0x00,}},
+ {0x5790,2,{0x88,0x88,0x00,0x00,}},
+ {0x5791,2,{0x88,0x89,0x00,0x00,}},
+ {0x5792,2,{0xC0,0xDD,0x00,0x00,}},
+ {0x5793,2,{0xDB,0xF2,0x00,0x00,}},
+ {0x5794,2,{0x88,0x8A,0x00,0x00,}},
+ {0x5795,2,{0x88,0x8B,0x00,0x00,}},
+ {0x5796,2,{0x88,0x8C,0x00,0x00,}},
+ {0x5797,2,{0x88,0x8D,0x00,0x00,}},
+ {0x5798,2,{0x88,0x8E,0x00,0x00,}},
+ {0x5799,2,{0x88,0x8F,0x00,0x00,}},
+ {0x579A,2,{0x88,0x90,0x00,0x00,}},
+ {0x579B,2,{0xB6,0xE2,0x00,0x00,}},
+ {0x579C,2,{0x88,0x91,0x00,0x00,}},
+ {0x579D,2,{0x88,0x92,0x00,0x00,}},
+ {0x579E,2,{0x88,0x93,0x00,0x00,}},
+ {0x579F,2,{0x88,0x94,0x00,0x00,}},
+ {0x57A0,2,{0xDB,0xF3,0x00,0x00,}},
+ {0x57A1,2,{0xDB,0xD2,0x00,0x00,}},
+ {0x57A2,2,{0xB9,0xB8,0x00,0x00,}},
+ {0x57A3,2,{0xD4,0xAB,0x00,0x00,}},
+ {0x57A4,2,{0xDB,0xEC,0x00,0x00,}},
+ {0x57A5,2,{0x88,0x95,0x00,0x00,}},
+ {0x57A6,2,{0xBF,0xD1,0x00,0x00,}},
+ {0x57A7,2,{0xDB,0xF0,0x00,0x00,}},
+ {0x57A8,2,{0x88,0x96,0x00,0x00,}},
+ {0x57A9,2,{0xDB,0xD1,0x00,0x00,}},
+ {0x57AA,2,{0x88,0x97,0x00,0x00,}},
+ {0x57AB,2,{0xB5,0xE6,0x00,0x00,}},
+ {0x57AC,2,{0x88,0x98,0x00,0x00,}},
+ {0x57AD,2,{0xDB,0xEB,0x00,0x00,}},
+ {0x57AE,2,{0xBF,0xE5,0x00,0x00,}},
+ {0x57AF,2,{0x88,0x99,0x00,0x00,}},
+ {0x57B0,2,{0x88,0x9A,0x00,0x00,}},
+ {0x57B1,2,{0x88,0x9B,0x00,0x00,}},
+ {0x57B2,2,{0xDB,0xEE,0x00,0x00,}},
+ {0x57B3,2,{0x88,0x9C,0x00,0x00,}},
+ {0x57B4,2,{0xDB,0xF1,0x00,0x00,}},
+ {0x57B5,2,{0x88,0x9D,0x00,0x00,}},
+ {0x57B6,2,{0x88,0x9E,0x00,0x00,}},
+ {0x57B7,2,{0x88,0x9F,0x00,0x00,}},
+ {0x57B8,2,{0xDB,0xF9,0x00,0x00,}},
+ {0x57B9,2,{0x88,0xA0,0x00,0x00,}},
+ {0x57BA,2,{0x88,0xA1,0x00,0x00,}},
+ {0x57BB,2,{0x88,0xA2,0x00,0x00,}},
+ {0x57BC,2,{0x88,0xA3,0x00,0x00,}},
+ {0x57BD,2,{0x88,0xA4,0x00,0x00,}},
+ {0x57BE,2,{0x88,0xA5,0x00,0x00,}},
+ {0x57BF,2,{0x88,0xA6,0x00,0x00,}},
+ {0x57C0,2,{0x88,0xA7,0x00,0x00,}},
+ {0x57C1,2,{0x88,0xA8,0x00,0x00,}},
+ {0x57C2,2,{0xB9,0xA1,0x00,0x00,}},
+ {0x57C3,2,{0xB0,0xA3,0x00,0x00,}},
+ {0x57C4,2,{0x88,0xA9,0x00,0x00,}},
+ {0x57C5,2,{0x88,0xAA,0x00,0x00,}},
+ {0x57C6,2,{0x88,0xAB,0x00,0x00,}},
+ {0x57C7,2,{0x88,0xAC,0x00,0x00,}},
+ {0x57C8,2,{0x88,0xAD,0x00,0x00,}},
+ {0x57C9,2,{0x88,0xAE,0x00,0x00,}},
+ {0x57CA,2,{0x88,0xAF,0x00,0x00,}},
+ {0x57CB,2,{0xC2,0xF1,0x00,0x00,}},
+ {0x57CC,2,{0x88,0xB0,0x00,0x00,}},
+ {0x57CD,2,{0x88,0xB1,0x00,0x00,}},
+ {0x57CE,2,{0xB3,0xC7,0x00,0x00,}},
+ {0x57CF,2,{0xDB,0xEF,0x00,0x00,}},
+ {0x57D0,2,{0x88,0xB2,0x00,0x00,}},
+ {0x57D1,2,{0x88,0xB3,0x00,0x00,}},
+ {0x57D2,2,{0xDB,0xF8,0x00,0x00,}},
+ {0x57D3,2,{0x88,0xB4,0x00,0x00,}},
+ {0x57D4,2,{0xC6,0xD2,0x00,0x00,}},
+ {0x57D5,2,{0xDB,0xF4,0x00,0x00,}},
+ {0x57D6,2,{0x88,0xB5,0x00,0x00,}},
+ {0x57D7,2,{0x88,0xB6,0x00,0x00,}},
+ {0x57D8,2,{0xDB,0xF5,0x00,0x00,}},
+ {0x57D9,2,{0xDB,0xF7,0x00,0x00,}},
+ {0x57DA,2,{0xDB,0xF6,0x00,0x00,}},
+ {0x57DB,2,{0x88,0xB7,0x00,0x00,}},
+ {0x57DC,2,{0x88,0xB8,0x00,0x00,}},
+ {0x57DD,2,{0xDB,0xFE,0x00,0x00,}},
+ {0x57DE,2,{0x88,0xB9,0x00,0x00,}},
+ {0x57DF,2,{0xD3,0xF2,0x00,0x00,}},
+ {0x57E0,2,{0xB2,0xBA,0x00,0x00,}},
+ {0x57E1,2,{0x88,0xBA,0x00,0x00,}},
+ {0x57E2,2,{0x88,0xBB,0x00,0x00,}},
+ {0x57E3,2,{0x88,0xBC,0x00,0x00,}},
+ {0x57E4,2,{0xDB,0xFD,0x00,0x00,}},
+ {0x57E5,2,{0x88,0xBD,0x00,0x00,}},
+ {0x57E6,2,{0x88,0xBE,0x00,0x00,}},
+ {0x57E7,2,{0x88,0xBF,0x00,0x00,}},
+ {0x57E8,2,{0x88,0xC0,0x00,0x00,}},
+ {0x57E9,2,{0x88,0xC1,0x00,0x00,}},
+ {0x57EA,2,{0x88,0xC2,0x00,0x00,}},
+ {0x57EB,2,{0x88,0xC3,0x00,0x00,}},
+ {0x57EC,2,{0x88,0xC4,0x00,0x00,}},
+ {0x57ED,2,{0xDC,0xA4,0x00,0x00,}},
+ {0x57EE,2,{0x88,0xC5,0x00,0x00,}},
+ {0x57EF,2,{0xDB,0xFB,0x00,0x00,}},
+ {0x57F0,2,{0x88,0xC6,0x00,0x00,}},
+ {0x57F1,2,{0x88,0xC7,0x00,0x00,}},
+ {0x57F2,2,{0x88,0xC8,0x00,0x00,}},
+ {0x57F3,2,{0x88,0xC9,0x00,0x00,}},
+ {0x57F4,2,{0xDB,0xFA,0x00,0x00,}},
+ {0x57F5,2,{0x88,0xCA,0x00,0x00,}},
+ {0x57F6,2,{0x88,0xCB,0x00,0x00,}},
+ {0x57F7,2,{0x88,0xCC,0x00,0x00,}},
+ {0x57F8,2,{0xDB,0xFC,0x00,0x00,}},
+ {0x57F9,2,{0xC5,0xE0,0x00,0x00,}},
+ {0x57FA,2,{0xBB,0xF9,0x00,0x00,}},
+ {0x57FB,2,{0x88,0xCD,0x00,0x00,}},
+ {0x57FC,2,{0x88,0xCE,0x00,0x00,}},
+ {0x57FD,2,{0xDC,0xA3,0x00,0x00,}},
+ {0x57FE,2,{0x88,0xCF,0x00,0x00,}},
+ {0x57FF,2,{0x88,0xD0,0x00,0x00,}},
+ {0x5800,2,{0xDC,0xA5,0x00,0x00,}},
+ {0x5801,2,{0x88,0xD1,0x00,0x00,}},
+ {0x5802,2,{0xCC,0xC3,0x00,0x00,}},
+ {0x5803,2,{0x88,0xD2,0x00,0x00,}},
+ {0x5804,2,{0x88,0xD3,0x00,0x00,}},
+ {0x5805,2,{0x88,0xD4,0x00,0x00,}},
+ {0x5806,2,{0xB6,0xD1,0x00,0x00,}},
+ {0x5807,2,{0xDD,0xC0,0x00,0x00,}},
+ {0x5808,2,{0x88,0xD5,0x00,0x00,}},
+ {0x5809,2,{0x88,0xD6,0x00,0x00,}},
+ {0x580A,2,{0x88,0xD7,0x00,0x00,}},
+ {0x580B,2,{0xDC,0xA1,0x00,0x00,}},
+ {0x580C,2,{0x88,0xD8,0x00,0x00,}},
+ {0x580D,2,{0xDC,0xA2,0x00,0x00,}},
+ {0x580E,2,{0x88,0xD9,0x00,0x00,}},
+ {0x580F,2,{0x88,0xDA,0x00,0x00,}},
+ {0x5810,2,{0x88,0xDB,0x00,0x00,}},
+ {0x5811,2,{0xC7,0xB5,0x00,0x00,}},
+ {0x5812,2,{0x88,0xDC,0x00,0x00,}},
+ {0x5813,2,{0x88,0xDD,0x00,0x00,}},
+ {0x5814,2,{0x88,0xDE,0x00,0x00,}},
+ {0x5815,2,{0xB6,0xE9,0x00,0x00,}},
+ {0x5816,2,{0x88,0xDF,0x00,0x00,}},
+ {0x5817,2,{0x88,0xE0,0x00,0x00,}},
+ {0x5818,2,{0x88,0xE1,0x00,0x00,}},
+ {0x5819,2,{0xDC,0xA7,0x00,0x00,}},
+ {0x581A,2,{0x88,0xE2,0x00,0x00,}},
+ {0x581B,2,{0x88,0xE3,0x00,0x00,}},
+ {0x581C,2,{0x88,0xE4,0x00,0x00,}},
+ {0x581D,2,{0x88,0xE5,0x00,0x00,}},
+ {0x581E,2,{0xDC,0xA6,0x00,0x00,}},
+ {0x581F,2,{0x88,0xE6,0x00,0x00,}},
+ {0x5820,2,{0xDC,0xA9,0x00,0x00,}},
+ {0x5821,2,{0xB1,0xA4,0x00,0x00,}},
+ {0x5822,2,{0x88,0xE7,0x00,0x00,}},
+ {0x5823,2,{0x88,0xE8,0x00,0x00,}},
+ {0x5824,2,{0xB5,0xCC,0x00,0x00,}},
+ {0x5825,2,{0x88,0xE9,0x00,0x00,}},
+ {0x5826,2,{0x88,0xEA,0x00,0x00,}},
+ {0x5827,2,{0x88,0xEB,0x00,0x00,}},
+ {0x5828,2,{0x88,0xEC,0x00,0x00,}},
+ {0x5829,2,{0x88,0xED,0x00,0x00,}},
+ {0x582A,2,{0xBF,0xB0,0x00,0x00,}},
+ {0x582B,2,{0x88,0xEE,0x00,0x00,}},
+ {0x582C,2,{0x88,0xEF,0x00,0x00,}},
+ {0x582D,2,{0x88,0xF0,0x00,0x00,}},
+ {0x582E,2,{0x88,0xF1,0x00,0x00,}},
+ {0x582F,2,{0x88,0xF2,0x00,0x00,}},
+ {0x5830,2,{0xD1,0xDF,0x00,0x00,}},
+ {0x5831,2,{0x88,0xF3,0x00,0x00,}},
+ {0x5832,2,{0x88,0xF4,0x00,0x00,}},
+ {0x5833,2,{0x88,0xF5,0x00,0x00,}},
+ {0x5834,2,{0x88,0xF6,0x00,0x00,}},
+ {0x5835,2,{0xB6,0xC2,0x00,0x00,}},
+ {0x5836,2,{0x88,0xF7,0x00,0x00,}},
+ {0x5837,2,{0x88,0xF8,0x00,0x00,}},
+ {0x5838,2,{0x88,0xF9,0x00,0x00,}},
+ {0x5839,2,{0x88,0xFA,0x00,0x00,}},
+ {0x583A,2,{0x88,0xFB,0x00,0x00,}},
+ {0x583B,2,{0x88,0xFC,0x00,0x00,}},
+ {0x583C,2,{0x88,0xFD,0x00,0x00,}},
+ {0x583D,2,{0x88,0xFE,0x00,0x00,}},
+ {0x583E,2,{0x89,0x40,0x00,0x00,}},
+ {0x583F,2,{0x89,0x41,0x00,0x00,}},
+ {0x5840,2,{0x89,0x42,0x00,0x00,}},
+ {0x5841,2,{0x89,0x43,0x00,0x00,}},
+ {0x5842,2,{0x89,0x44,0x00,0x00,}},
+ {0x5843,2,{0x89,0x45,0x00,0x00,}},
+ {0x5844,2,{0xDC,0xA8,0x00,0x00,}},
+ {0x5845,2,{0x89,0x46,0x00,0x00,}},
+ {0x5846,2,{0x89,0x47,0x00,0x00,}},
+ {0x5847,2,{0x89,0x48,0x00,0x00,}},
+ {0x5848,2,{0x89,0x49,0x00,0x00,}},
+ {0x5849,2,{0x89,0x4A,0x00,0x00,}},
+ {0x584A,2,{0x89,0x4B,0x00,0x00,}},
+ {0x584B,2,{0x89,0x4C,0x00,0x00,}},
+ {0x584C,2,{0xCB,0xFA,0x00,0x00,}},
+ {0x584D,2,{0xEB,0xF3,0x00,0x00,}},
+ {0x584E,2,{0x89,0x4D,0x00,0x00,}},
+ {0x584F,2,{0x89,0x4E,0x00,0x00,}},
+ {0x5850,2,{0x89,0x4F,0x00,0x00,}},
+ {0x5851,2,{0xCB,0xDC,0x00,0x00,}},
+ {0x5852,2,{0x89,0x50,0x00,0x00,}},
+ {0x5853,2,{0x89,0x51,0x00,0x00,}},
+ {0x5854,2,{0xCB,0xFE,0x00,0x00,}},
+ {0x5855,2,{0x89,0x52,0x00,0x00,}},
+ {0x5856,2,{0x89,0x53,0x00,0x00,}},
+ {0x5857,2,{0x89,0x54,0x00,0x00,}},
+ {0x5858,2,{0xCC,0xC1,0x00,0x00,}},
+ {0x5859,2,{0x89,0x55,0x00,0x00,}},
+ {0x585A,2,{0x89,0x56,0x00,0x00,}},
+ {0x585B,2,{0x89,0x57,0x00,0x00,}},
+ {0x585C,2,{0x89,0x58,0x00,0x00,}},
+ {0x585D,2,{0x89,0x59,0x00,0x00,}},
+ {0x585E,2,{0xC8,0xFB,0x00,0x00,}},
+ {0x585F,2,{0x89,0x5A,0x00,0x00,}},
+ {0x5860,2,{0x89,0x5B,0x00,0x00,}},
+ {0x5861,2,{0x89,0x5C,0x00,0x00,}},
+ {0x5862,2,{0x89,0x5D,0x00,0x00,}},
+ {0x5863,2,{0x89,0x5E,0x00,0x00,}},
+ {0x5864,2,{0x89,0x5F,0x00,0x00,}},
+ {0x5865,2,{0xDC,0xAA,0x00,0x00,}},
+ {0x5866,2,{0x89,0x60,0x00,0x00,}},
+ {0x5867,2,{0x89,0x61,0x00,0x00,}},
+ {0x5868,2,{0x89,0x62,0x00,0x00,}},
+ {0x5869,2,{0x89,0x63,0x00,0x00,}},
+ {0x586A,2,{0x89,0x64,0x00,0x00,}},
+ {0x586B,2,{0xCC,0xEE,0x00,0x00,}},
+ {0x586C,2,{0xDC,0xAB,0x00,0x00,}},
+ {0x586D,2,{0x89,0x65,0x00,0x00,}},
+ {0x586E,2,{0x89,0x66,0x00,0x00,}},
+ {0x586F,2,{0x89,0x67,0x00,0x00,}},
+ {0x5870,2,{0x89,0x68,0x00,0x00,}},
+ {0x5871,2,{0x89,0x69,0x00,0x00,}},
+ {0x5872,2,{0x89,0x6A,0x00,0x00,}},
+ {0x5873,2,{0x89,0x6B,0x00,0x00,}},
+ {0x5874,2,{0x89,0x6C,0x00,0x00,}},
+ {0x5875,2,{0x89,0x6D,0x00,0x00,}},
+ {0x5876,2,{0x89,0x6E,0x00,0x00,}},
+ {0x5877,2,{0x89,0x6F,0x00,0x00,}},
+ {0x5878,2,{0x89,0x70,0x00,0x00,}},
+ {0x5879,2,{0x89,0x71,0x00,0x00,}},
+ {0x587A,2,{0x89,0x72,0x00,0x00,}},
+ {0x587B,2,{0x89,0x73,0x00,0x00,}},
+ {0x587C,2,{0x89,0x74,0x00,0x00,}},
+ {0x587D,2,{0x89,0x75,0x00,0x00,}},
+ {0x587E,2,{0xDB,0xD3,0x00,0x00,}},
+ {0x587F,2,{0x89,0x76,0x00,0x00,}},
+ {0x5880,2,{0xDC,0xAF,0x00,0x00,}},
+ {0x5881,2,{0xDC,0xAC,0x00,0x00,}},
+ {0x5882,2,{0x89,0x77,0x00,0x00,}},
+ {0x5883,2,{0xBE,0xB3,0x00,0x00,}},
+ {0x5884,2,{0x89,0x78,0x00,0x00,}},
+ {0x5885,2,{0xCA,0xFB,0x00,0x00,}},
+ {0x5886,2,{0x89,0x79,0x00,0x00,}},
+ {0x5887,2,{0x89,0x7A,0x00,0x00,}},
+ {0x5888,2,{0x89,0x7B,0x00,0x00,}},
+ {0x5889,2,{0xDC,0xAD,0x00,0x00,}},
+ {0x588A,2,{0x89,0x7C,0x00,0x00,}},
+ {0x588B,2,{0x89,0x7D,0x00,0x00,}},
+ {0x588C,2,{0x89,0x7E,0x00,0x00,}},
+ {0x588D,2,{0x89,0x80,0x00,0x00,}},
+ {0x588E,2,{0x89,0x81,0x00,0x00,}},
+ {0x588F,2,{0x89,0x82,0x00,0x00,}},
+ {0x5890,2,{0x89,0x83,0x00,0x00,}},
+ {0x5891,2,{0x89,0x84,0x00,0x00,}},
+ {0x5892,2,{0xC9,0xCA,0x00,0x00,}},
+ {0x5893,2,{0xC4,0xB9,0x00,0x00,}},
+ {0x5894,2,{0x89,0x85,0x00,0x00,}},
+ {0x5895,2,{0x89,0x86,0x00,0x00,}},
+ {0x5896,2,{0x89,0x87,0x00,0x00,}},
+ {0x5897,2,{0x89,0x88,0x00,0x00,}},
+ {0x5898,2,{0x89,0x89,0x00,0x00,}},
+ {0x5899,2,{0xC7,0xBD,0x00,0x00,}},
+ {0x589A,2,{0xDC,0xAE,0x00,0x00,}},
+ {0x589B,2,{0x89,0x8A,0x00,0x00,}},
+ {0x589C,2,{0x89,0x8B,0x00,0x00,}},
+ {0x589D,2,{0x89,0x8C,0x00,0x00,}},
+ {0x589E,2,{0xD4,0xF6,0x00,0x00,}},
+ {0x589F,2,{0xD0,0xE6,0x00,0x00,}},
+ {0x58A0,2,{0x89,0x8D,0x00,0x00,}},
+ {0x58A1,2,{0x89,0x8E,0x00,0x00,}},
+ {0x58A2,2,{0x89,0x8F,0x00,0x00,}},
+ {0x58A3,2,{0x89,0x90,0x00,0x00,}},
+ {0x58A4,2,{0x89,0x91,0x00,0x00,}},
+ {0x58A5,2,{0x89,0x92,0x00,0x00,}},
+ {0x58A6,2,{0x89,0x93,0x00,0x00,}},
+ {0x58A7,2,{0x89,0x94,0x00,0x00,}},
+ {0x58A8,2,{0xC4,0xAB,0x00,0x00,}},
+ {0x58A9,2,{0xB6,0xD5,0x00,0x00,}},
+ {0x58AA,2,{0x89,0x95,0x00,0x00,}},
+ {0x58AB,2,{0x89,0x96,0x00,0x00,}},
+ {0x58AC,2,{0x89,0x97,0x00,0x00,}},
+ {0x58AD,2,{0x89,0x98,0x00,0x00,}},
+ {0x58AE,2,{0x89,0x99,0x00,0x00,}},
+ {0x58AF,2,{0x89,0x9A,0x00,0x00,}},
+ {0x58B0,2,{0x89,0x9B,0x00,0x00,}},
+ {0x58B1,2,{0x89,0x9C,0x00,0x00,}},
+ {0x58B2,2,{0x89,0x9D,0x00,0x00,}},
+ {0x58B3,2,{0x89,0x9E,0x00,0x00,}},
+ {0x58B4,2,{0x89,0x9F,0x00,0x00,}},
+ {0x58B5,2,{0x89,0xA0,0x00,0x00,}},
+ {0x58B6,2,{0x89,0xA1,0x00,0x00,}},
+ {0x58B7,2,{0x89,0xA2,0x00,0x00,}},
+ {0x58B8,2,{0x89,0xA3,0x00,0x00,}},
+ {0x58B9,2,{0x89,0xA4,0x00,0x00,}},
+ {0x58BA,2,{0x89,0xA5,0x00,0x00,}},
+ {0x58BB,2,{0x89,0xA6,0x00,0x00,}},
+ {0x58BC,2,{0xDB,0xD4,0x00,0x00,}},
+ {0x58BD,2,{0x89,0xA7,0x00,0x00,}},
+ {0x58BE,2,{0x89,0xA8,0x00,0x00,}},
+ {0x58BF,2,{0x89,0xA9,0x00,0x00,}},
+ {0x58C0,2,{0x89,0xAA,0x00,0x00,}},
+ {0x58C1,2,{0xB1,0xDA,0x00,0x00,}},
+ {0x58C2,2,{0x89,0xAB,0x00,0x00,}},
+ {0x58C3,2,{0x89,0xAC,0x00,0x00,}},
+ {0x58C4,2,{0x89,0xAD,0x00,0x00,}},
+ {0x58C5,2,{0xDB,0xD5,0x00,0x00,}},
+ {0x58C6,2,{0x89,0xAE,0x00,0x00,}},
+ {0x58C7,2,{0x89,0xAF,0x00,0x00,}},
+ {0x58C8,2,{0x89,0xB0,0x00,0x00,}},
+ {0x58C9,2,{0x89,0xB1,0x00,0x00,}},
+ {0x58CA,2,{0x89,0xB2,0x00,0x00,}},
+ {0x58CB,2,{0x89,0xB3,0x00,0x00,}},
+ {0x58CC,2,{0x89,0xB4,0x00,0x00,}},
+ {0x58CD,2,{0x89,0xB5,0x00,0x00,}},
+ {0x58CE,2,{0x89,0xB6,0x00,0x00,}},
+ {0x58CF,2,{0x89,0xB7,0x00,0x00,}},
+ {0x58D0,2,{0x89,0xB8,0x00,0x00,}},
+ {0x58D1,2,{0xDB,0xD6,0x00,0x00,}},
+ {0x58D2,2,{0x89,0xB9,0x00,0x00,}},
+ {0x58D3,2,{0x89,0xBA,0x00,0x00,}},
+ {0x58D4,2,{0x89,0xBB,0x00,0x00,}},
+ {0x58D5,2,{0xBA,0xBE,0x00,0x00,}},
+ {0x58D6,2,{0x89,0xBC,0x00,0x00,}},
+ {0x58D7,2,{0x89,0xBD,0x00,0x00,}},
+ {0x58D8,2,{0x89,0xBE,0x00,0x00,}},
+ {0x58D9,2,{0x89,0xBF,0x00,0x00,}},
+ {0x58DA,2,{0x89,0xC0,0x00,0x00,}},
+ {0x58DB,2,{0x89,0xC1,0x00,0x00,}},
+ {0x58DC,2,{0x89,0xC2,0x00,0x00,}},
+ {0x58DD,2,{0x89,0xC3,0x00,0x00,}},
+ {0x58DE,2,{0x89,0xC4,0x00,0x00,}},
+ {0x58DF,2,{0x89,0xC5,0x00,0x00,}},
+ {0x58E0,2,{0x89,0xC6,0x00,0x00,}},
+ {0x58E1,2,{0x89,0xC7,0x00,0x00,}},
+ {0x58E2,2,{0x89,0xC8,0x00,0x00,}},
+ {0x58E3,2,{0x89,0xC9,0x00,0x00,}},
+ {0x58E4,2,{0xC8,0xC0,0x00,0x00,}},
+ {0x58E5,2,{0x89,0xCA,0x00,0x00,}},
+ {0x58E6,2,{0x89,0xCB,0x00,0x00,}},
+ {0x58E7,2,{0x89,0xCC,0x00,0x00,}},
+ {0x58E8,2,{0x89,0xCD,0x00,0x00,}},
+ {0x58E9,2,{0x89,0xCE,0x00,0x00,}},
+ {0x58EA,2,{0x89,0xCF,0x00,0x00,}},
+ {0x58EB,2,{0xCA,0xBF,0x00,0x00,}},
+ {0x58EC,2,{0xC8,0xC9,0x00,0x00,}},
+ {0x58ED,2,{0x89,0xD0,0x00,0x00,}},
+ {0x58EE,2,{0xD7,0xB3,0x00,0x00,}},
+ {0x58EF,2,{0x89,0xD1,0x00,0x00,}},
+ {0x58F0,2,{0xC9,0xF9,0x00,0x00,}},
+ {0x58F1,2,{0x89,0xD2,0x00,0x00,}},
+ {0x58F2,2,{0x89,0xD3,0x00,0x00,}},
+ {0x58F3,2,{0xBF,0xC7,0x00,0x00,}},
+ {0x58F4,2,{0x89,0xD4,0x00,0x00,}},
+ {0x58F5,2,{0x89,0xD5,0x00,0x00,}},
+ {0x58F6,2,{0xBA,0xF8,0x00,0x00,}},
+ {0x58F7,2,{0x89,0xD6,0x00,0x00,}},
+ {0x58F8,2,{0x89,0xD7,0x00,0x00,}},
+ {0x58F9,2,{0xD2,0xBC,0x00,0x00,}},
+ {0x58FA,2,{0x89,0xD8,0x00,0x00,}},
+ {0x58FB,2,{0x89,0xD9,0x00,0x00,}},
+ {0x58FC,2,{0x89,0xDA,0x00,0x00,}},
+ {0x58FD,2,{0x89,0xDB,0x00,0x00,}},
+ {0x58FE,2,{0x89,0xDC,0x00,0x00,}},
+ {0x58FF,2,{0x89,0xDD,0x00,0x00,}},
+ {0x5900,2,{0x89,0xDE,0x00,0x00,}},
+ {0x5901,2,{0x89,0xDF,0x00,0x00,}},
+ {0x5902,2,{0xE2,0xBA,0x00,0x00,}},
+ {0x5903,2,{0x89,0xE0,0x00,0x00,}},
+ {0x5904,2,{0xB4,0xA6,0x00,0x00,}},
+ {0x5905,2,{0x89,0xE1,0x00,0x00,}},
+ {0x5906,2,{0x89,0xE2,0x00,0x00,}},
+ {0x5907,2,{0xB1,0xB8,0x00,0x00,}},
+ {0x5908,2,{0x89,0xE3,0x00,0x00,}},
+ {0x5909,2,{0x89,0xE4,0x00,0x00,}},
+ {0x590A,2,{0x89,0xE5,0x00,0x00,}},
+ {0x590B,2,{0x89,0xE6,0x00,0x00,}},
+ {0x590C,2,{0x89,0xE7,0x00,0x00,}},
+ {0x590D,2,{0xB8,0xB4,0x00,0x00,}},
+ {0x590E,2,{0x89,0xE8,0x00,0x00,}},
+ {0x590F,2,{0xCF,0xC4,0x00,0x00,}},
+ {0x5910,2,{0x89,0xE9,0x00,0x00,}},
+ {0x5911,2,{0x89,0xEA,0x00,0x00,}},
+ {0x5912,2,{0x89,0xEB,0x00,0x00,}},
+ {0x5913,2,{0x89,0xEC,0x00,0x00,}},
+ {0x5914,2,{0xD9,0xE7,0x00,0x00,}},
+ {0x5915,2,{0xCF,0xA6,0x00,0x00,}},
+ {0x5916,2,{0xCD,0xE2,0x00,0x00,}},
+ {0x5917,2,{0x89,0xED,0x00,0x00,}},
+ {0x5918,2,{0x89,0xEE,0x00,0x00,}},
+ {0x5919,2,{0xD9,0xED,0x00,0x00,}},
+ {0x591A,2,{0xB6,0xE0,0x00,0x00,}},
+ {0x591B,2,{0x89,0xEF,0x00,0x00,}},
+ {0x591C,2,{0xD2,0xB9,0x00,0x00,}},
+ {0x591D,2,{0x89,0xF0,0x00,0x00,}},
+ {0x591E,2,{0x89,0xF1,0x00,0x00,}},
+ {0x591F,2,{0xB9,0xBB,0x00,0x00,}},
+ {0x5920,2,{0x89,0xF2,0x00,0x00,}},
+ {0x5921,2,{0x89,0xF3,0x00,0x00,}},
+ {0x5922,2,{0x89,0xF4,0x00,0x00,}},
+ {0x5923,2,{0x89,0xF5,0x00,0x00,}},
+ {0x5924,2,{0xE2,0xB9,0x00,0x00,}},
+ {0x5925,2,{0xE2,0xB7,0x00,0x00,}},
+ {0x5926,2,{0x89,0xF6,0x00,0x00,}},
+ {0x5927,2,{0xB4,0xF3,0x00,0x00,}},
+ {0x5928,2,{0x89,0xF7,0x00,0x00,}},
+ {0x5929,2,{0xCC,0xEC,0x00,0x00,}},
+ {0x592A,2,{0xCC,0xAB,0x00,0x00,}},
+ {0x592B,2,{0xB7,0xF2,0x00,0x00,}},
+ {0x592C,2,{0x89,0xF8,0x00,0x00,}},
+ {0x592D,2,{0xD8,0xB2,0x00,0x00,}},
+ {0x592E,2,{0xD1,0xEB,0x00,0x00,}},
+ {0x592F,2,{0xBA,0xBB,0x00,0x00,}},
+ {0x5930,2,{0x89,0xF9,0x00,0x00,}},
+ {0x5931,2,{0xCA,0xA7,0x00,0x00,}},
+ {0x5932,2,{0x89,0xFA,0x00,0x00,}},
+ {0x5933,2,{0x89,0xFB,0x00,0x00,}},
+ {0x5934,2,{0xCD,0xB7,0x00,0x00,}},
+ {0x5935,2,{0x89,0xFC,0x00,0x00,}},
+ {0x5936,2,{0x89,0xFD,0x00,0x00,}},
+ {0x5937,2,{0xD2,0xC4,0x00,0x00,}},
+ {0x5938,2,{0xBF,0xE4,0x00,0x00,}},
+ {0x5939,2,{0xBC,0xD0,0x00,0x00,}},
+ {0x593A,2,{0xB6,0xE1,0x00,0x00,}},
+ {0x593B,2,{0x89,0xFE,0x00,0x00,}},
+ {0x593C,2,{0xDE,0xC5,0x00,0x00,}},
+ {0x593D,2,{0x8A,0x40,0x00,0x00,}},
+ {0x593E,2,{0x8A,0x41,0x00,0x00,}},
+ {0x593F,2,{0x8A,0x42,0x00,0x00,}},
+ {0x5940,2,{0x8A,0x43,0x00,0x00,}},
+ {0x5941,2,{0xDE,0xC6,0x00,0x00,}},
+ {0x5942,2,{0xDB,0xBC,0x00,0x00,}},
+ {0x5943,2,{0x8A,0x44,0x00,0x00,}},
+ {0x5944,2,{0xD1,0xD9,0x00,0x00,}},
+ {0x5945,2,{0x8A,0x45,0x00,0x00,}},
+ {0x5946,2,{0x8A,0x46,0x00,0x00,}},
+ {0x5947,2,{0xC6,0xE6,0x00,0x00,}},
+ {0x5948,2,{0xC4,0xCE,0x00,0x00,}},
+ {0x5949,2,{0xB7,0xEE,0x00,0x00,}},
+ {0x594A,2,{0x8A,0x47,0x00,0x00,}},
+ {0x594B,2,{0xB7,0xDC,0x00,0x00,}},
+ {0x594C,2,{0x8A,0x48,0x00,0x00,}},
+ {0x594D,2,{0x8A,0x49,0x00,0x00,}},
+ {0x594E,2,{0xBF,0xFC,0x00,0x00,}},
+ {0x594F,2,{0xD7,0xE0,0x00,0x00,}},
+ {0x5950,2,{0x8A,0x4A,0x00,0x00,}},
+ {0x5951,2,{0xC6,0xF5,0x00,0x00,}},
+ {0x5952,2,{0x8A,0x4B,0x00,0x00,}},
+ {0x5953,2,{0x8A,0x4C,0x00,0x00,}},
+ {0x5954,2,{0xB1,0xBC,0x00,0x00,}},
+ {0x5955,2,{0xDE,0xC8,0x00,0x00,}},
+ {0x5956,2,{0xBD,0xB1,0x00,0x00,}},
+ {0x5957,2,{0xCC,0xD7,0x00,0x00,}},
+ {0x5958,2,{0xDE,0xCA,0x00,0x00,}},
+ {0x5959,2,{0x8A,0x4D,0x00,0x00,}},
+ {0x595A,2,{0xDE,0xC9,0x00,0x00,}},
+ {0x595B,2,{0x8A,0x4E,0x00,0x00,}},
+ {0x595C,2,{0x8A,0x4F,0x00,0x00,}},
+ {0x595D,2,{0x8A,0x50,0x00,0x00,}},
+ {0x595E,2,{0x8A,0x51,0x00,0x00,}},
+ {0x595F,2,{0x8A,0x52,0x00,0x00,}},
+ {0x5960,2,{0xB5,0xEC,0x00,0x00,}},
+ {0x5961,2,{0x8A,0x53,0x00,0x00,}},
+ {0x5962,2,{0xC9,0xDD,0x00,0x00,}},
+ {0x5963,2,{0x8A,0x54,0x00,0x00,}},
+ {0x5964,2,{0x8A,0x55,0x00,0x00,}},
+ {0x5965,2,{0xB0,0xC2,0x00,0x00,}},
+ {0x5966,2,{0x8A,0x56,0x00,0x00,}},
+ {0x5967,2,{0x8A,0x57,0x00,0x00,}},
+ {0x5968,2,{0x8A,0x58,0x00,0x00,}},
+ {0x5969,2,{0x8A,0x59,0x00,0x00,}},
+ {0x596A,2,{0x8A,0x5A,0x00,0x00,}},
+ {0x596B,2,{0x8A,0x5B,0x00,0x00,}},
+ {0x596C,2,{0x8A,0x5C,0x00,0x00,}},
+ {0x596D,2,{0x8A,0x5D,0x00,0x00,}},
+ {0x596E,2,{0x8A,0x5E,0x00,0x00,}},
+ {0x596F,2,{0x8A,0x5F,0x00,0x00,}},
+ {0x5970,2,{0x8A,0x60,0x00,0x00,}},
+ {0x5971,2,{0x8A,0x61,0x00,0x00,}},
+ {0x5972,2,{0x8A,0x62,0x00,0x00,}},
+ {0x5973,2,{0xC5,0xAE,0x00,0x00,}},
+ {0x5974,2,{0xC5,0xAB,0x00,0x00,}},
+ {0x5975,2,{0x8A,0x63,0x00,0x00,}},
+ {0x5976,2,{0xC4,0xCC,0x00,0x00,}},
+ {0x5977,2,{0x8A,0x64,0x00,0x00,}},
+ {0x5978,2,{0xBC,0xE9,0x00,0x00,}},
+ {0x5979,2,{0xCB,0xFD,0x00,0x00,}},
+ {0x597A,2,{0x8A,0x65,0x00,0x00,}},
+ {0x597B,2,{0x8A,0x66,0x00,0x00,}},
+ {0x597C,2,{0x8A,0x67,0x00,0x00,}},
+ {0x597D,2,{0xBA,0xC3,0x00,0x00,}},
+ {0x597E,2,{0x8A,0x68,0x00,0x00,}},
+ {0x597F,2,{0x8A,0x69,0x00,0x00,}},
+ {0x5980,2,{0x8A,0x6A,0x00,0x00,}},
+ {0x5981,2,{0xE5,0xF9,0x00,0x00,}},
+ {0x5982,2,{0xC8,0xE7,0x00,0x00,}},
+ {0x5983,2,{0xE5,0xFA,0x00,0x00,}},
+ {0x5984,2,{0xCD,0xFD,0x00,0x00,}},
+ {0x5985,2,{0x8A,0x6B,0x00,0x00,}},
+ {0x5986,2,{0xD7,0xB1,0x00,0x00,}},
+ {0x5987,2,{0xB8,0xBE,0x00,0x00,}},
+ {0x5988,2,{0xC2,0xE8,0x00,0x00,}},
+ {0x5989,2,{0x8A,0x6C,0x00,0x00,}},
+ {0x598A,2,{0xC8,0xD1,0x00,0x00,}},
+ {0x598B,2,{0x8A,0x6D,0x00,0x00,}},
+ {0x598C,2,{0x8A,0x6E,0x00,0x00,}},
+ {0x598D,2,{0xE5,0xFB,0x00,0x00,}},
+ {0x598E,2,{0x8A,0x6F,0x00,0x00,}},
+ {0x598F,2,{0x8A,0x70,0x00,0x00,}},
+ {0x5990,2,{0x8A,0x71,0x00,0x00,}},
+ {0x5991,2,{0x8A,0x72,0x00,0x00,}},
+ {0x5992,2,{0xB6,0xCA,0x00,0x00,}},
+ {0x5993,2,{0xBC,0xCB,0x00,0x00,}},
+ {0x5994,2,{0x8A,0x73,0x00,0x00,}},
+ {0x5995,2,{0x8A,0x74,0x00,0x00,}},
+ {0x5996,2,{0xD1,0xFD,0x00,0x00,}},
+ {0x5997,2,{0xE6,0xA1,0x00,0x00,}},
+ {0x5998,2,{0x8A,0x75,0x00,0x00,}},
+ {0x5999,2,{0xC3,0xEE,0x00,0x00,}},
+ {0x599A,2,{0x8A,0x76,0x00,0x00,}},
+ {0x599B,2,{0x8A,0x77,0x00,0x00,}},
+ {0x599C,2,{0x8A,0x78,0x00,0x00,}},
+ {0x599D,2,{0x8A,0x79,0x00,0x00,}},
+ {0x599E,2,{0xE6,0xA4,0x00,0x00,}},
+ {0x599F,2,{0x8A,0x7A,0x00,0x00,}},
+ {0x59A0,2,{0x8A,0x7B,0x00,0x00,}},
+ {0x59A1,2,{0x8A,0x7C,0x00,0x00,}},
+ {0x59A2,2,{0x8A,0x7D,0x00,0x00,}},
+ {0x59A3,2,{0xE5,0xFE,0x00,0x00,}},
+ {0x59A4,2,{0xE6,0xA5,0x00,0x00,}},
+ {0x59A5,2,{0xCD,0xD7,0x00,0x00,}},
+ {0x59A6,2,{0x8A,0x7E,0x00,0x00,}},
+ {0x59A7,2,{0x8A,0x80,0x00,0x00,}},
+ {0x59A8,2,{0xB7,0xC1,0x00,0x00,}},
+ {0x59A9,2,{0xE5,0xFC,0x00,0x00,}},
+ {0x59AA,2,{0xE5,0xFD,0x00,0x00,}},
+ {0x59AB,2,{0xE6,0xA3,0x00,0x00,}},
+ {0x59AC,2,{0x8A,0x81,0x00,0x00,}},
+ {0x59AD,2,{0x8A,0x82,0x00,0x00,}},
+ {0x59AE,2,{0xC4,0xDD,0x00,0x00,}},
+ {0x59AF,2,{0xE6,0xA8,0x00,0x00,}},
+ {0x59B0,2,{0x8A,0x83,0x00,0x00,}},
+ {0x59B1,2,{0x8A,0x84,0x00,0x00,}},
+ {0x59B2,2,{0xE6,0xA7,0x00,0x00,}},
+ {0x59B3,2,{0x8A,0x85,0x00,0x00,}},
+ {0x59B4,2,{0x8A,0x86,0x00,0x00,}},
+ {0x59B5,2,{0x8A,0x87,0x00,0x00,}},
+ {0x59B6,2,{0x8A,0x88,0x00,0x00,}},
+ {0x59B7,2,{0x8A,0x89,0x00,0x00,}},
+ {0x59B8,2,{0x8A,0x8A,0x00,0x00,}},
+ {0x59B9,2,{0xC3,0xC3,0x00,0x00,}},
+ {0x59BA,2,{0x8A,0x8B,0x00,0x00,}},
+ {0x59BB,2,{0xC6,0xDE,0x00,0x00,}},
+ {0x59BC,2,{0x8A,0x8C,0x00,0x00,}},
+ {0x59BD,2,{0x8A,0x8D,0x00,0x00,}},
+ {0x59BE,2,{0xE6,0xAA,0x00,0x00,}},
+ {0x59BF,2,{0x8A,0x8E,0x00,0x00,}},
+ {0x59C0,2,{0x8A,0x8F,0x00,0x00,}},
+ {0x59C1,2,{0x8A,0x90,0x00,0x00,}},
+ {0x59C2,2,{0x8A,0x91,0x00,0x00,}},
+ {0x59C3,2,{0x8A,0x92,0x00,0x00,}},
+ {0x59C4,2,{0x8A,0x93,0x00,0x00,}},
+ {0x59C5,2,{0x8A,0x94,0x00,0x00,}},
+ {0x59C6,2,{0xC4,0xB7,0x00,0x00,}},
+ {0x59C7,2,{0x8A,0x95,0x00,0x00,}},
+ {0x59C8,2,{0x8A,0x96,0x00,0x00,}},
+ {0x59C9,2,{0x8A,0x97,0x00,0x00,}},
+ {0x59CA,2,{0xE6,0xA2,0x00,0x00,}},
+ {0x59CB,2,{0xCA,0xBC,0x00,0x00,}},
+ {0x59CC,2,{0x8A,0x98,0x00,0x00,}},
+ {0x59CD,2,{0x8A,0x99,0x00,0x00,}},
+ {0x59CE,2,{0x8A,0x9A,0x00,0x00,}},
+ {0x59CF,2,{0x8A,0x9B,0x00,0x00,}},
+ {0x59D0,2,{0xBD,0xE3,0x00,0x00,}},
+ {0x59D1,2,{0xB9,0xC3,0x00,0x00,}},
+ {0x59D2,2,{0xE6,0xA6,0x00,0x00,}},
+ {0x59D3,2,{0xD0,0xD5,0x00,0x00,}},
+ {0x59D4,2,{0xCE,0xAF,0x00,0x00,}},
+ {0x59D5,2,{0x8A,0x9C,0x00,0x00,}},
+ {0x59D6,2,{0x8A,0x9D,0x00,0x00,}},
+ {0x59D7,2,{0xE6,0xA9,0x00,0x00,}},
+ {0x59D8,2,{0xE6,0xB0,0x00,0x00,}},
+ {0x59D9,2,{0x8A,0x9E,0x00,0x00,}},
+ {0x59DA,2,{0xD2,0xA6,0x00,0x00,}},
+ {0x59DB,2,{0x8A,0x9F,0x00,0x00,}},
+ {0x59DC,2,{0xBD,0xAA,0x00,0x00,}},
+ {0x59DD,2,{0xE6,0xAD,0x00,0x00,}},
+ {0x59DE,2,{0x8A,0xA0,0x00,0x00,}},
+ {0x59DF,2,{0x8A,0xA1,0x00,0x00,}},
+ {0x59E0,2,{0x8A,0xA2,0x00,0x00,}},
+ {0x59E1,2,{0x8A,0xA3,0x00,0x00,}},
+ {0x59E2,2,{0x8A,0xA4,0x00,0x00,}},
+ {0x59E3,2,{0xE6,0xAF,0x00,0x00,}},
+ {0x59E4,2,{0x8A,0xA5,0x00,0x00,}},
+ {0x59E5,2,{0xC0,0xD1,0x00,0x00,}},
+ {0x59E6,2,{0x8A,0xA6,0x00,0x00,}},
+ {0x59E7,2,{0x8A,0xA7,0x00,0x00,}},
+ {0x59E8,2,{0xD2,0xCC,0x00,0x00,}},
+ {0x59E9,2,{0x8A,0xA8,0x00,0x00,}},
+ {0x59EA,2,{0x8A,0xA9,0x00,0x00,}},
+ {0x59EB,2,{0x8A,0xAA,0x00,0x00,}},
+ {0x59EC,2,{0xBC,0xA7,0x00,0x00,}},
+ {0x59ED,2,{0x8A,0xAB,0x00,0x00,}},
+ {0x59EE,2,{0x8A,0xAC,0x00,0x00,}},
+ {0x59EF,2,{0x8A,0xAD,0x00,0x00,}},
+ {0x59F0,2,{0x8A,0xAE,0x00,0x00,}},
+ {0x59F1,2,{0x8A,0xAF,0x00,0x00,}},
+ {0x59F2,2,{0x8A,0xB0,0x00,0x00,}},
+ {0x59F3,2,{0x8A,0xB1,0x00,0x00,}},
+ {0x59F4,2,{0x8A,0xB2,0x00,0x00,}},
+ {0x59F5,2,{0x8A,0xB3,0x00,0x00,}},
+ {0x59F6,2,{0x8A,0xB4,0x00,0x00,}},
+ {0x59F7,2,{0x8A,0xB5,0x00,0x00,}},
+ {0x59F8,2,{0x8A,0xB6,0x00,0x00,}},
+ {0x59F9,2,{0xE6,0xB1,0x00,0x00,}},
+ {0x59FA,2,{0x8A,0xB7,0x00,0x00,}},
+ {0x59FB,2,{0xD2,0xF6,0x00,0x00,}},
+ {0x59FC,2,{0x8A,0xB8,0x00,0x00,}},
+ {0x59FD,2,{0x8A,0xB9,0x00,0x00,}},
+ {0x59FE,2,{0x8A,0xBA,0x00,0x00,}},
+ {0x59FF,2,{0xD7,0xCB,0x00,0x00,}},
+ {0x5A00,2,{0x8A,0xBB,0x00,0x00,}},
+ {0x5A01,2,{0xCD,0xFE,0x00,0x00,}},
+ {0x5A02,2,{0x8A,0xBC,0x00,0x00,}},
+ {0x5A03,2,{0xCD,0xDE,0x00,0x00,}},
+ {0x5A04,2,{0xC2,0xA6,0x00,0x00,}},
+ {0x5A05,2,{0xE6,0xAB,0x00,0x00,}},
+ {0x5A06,2,{0xE6,0xAC,0x00,0x00,}},
+ {0x5A07,2,{0xBD,0xBF,0x00,0x00,}},
+ {0x5A08,2,{0xE6,0xAE,0x00,0x00,}},
+ {0x5A09,2,{0xE6,0xB3,0x00,0x00,}},
+ {0x5A0A,2,{0x8A,0xBD,0x00,0x00,}},
+ {0x5A0B,2,{0x8A,0xBE,0x00,0x00,}},
+ {0x5A0C,2,{0xE6,0xB2,0x00,0x00,}},
+ {0x5A0D,2,{0x8A,0xBF,0x00,0x00,}},
+ {0x5A0E,2,{0x8A,0xC0,0x00,0x00,}},
+ {0x5A0F,2,{0x8A,0xC1,0x00,0x00,}},
+ {0x5A10,2,{0x8A,0xC2,0x00,0x00,}},
+ {0x5A11,2,{0xE6,0xB6,0x00,0x00,}},
+ {0x5A12,2,{0x8A,0xC3,0x00,0x00,}},
+ {0x5A13,2,{0xE6,0xB8,0x00,0x00,}},
+ {0x5A14,2,{0x8A,0xC4,0x00,0x00,}},
+ {0x5A15,2,{0x8A,0xC5,0x00,0x00,}},
+ {0x5A16,2,{0x8A,0xC6,0x00,0x00,}},
+ {0x5A17,2,{0x8A,0xC7,0x00,0x00,}},
+ {0x5A18,2,{0xC4,0xEF,0x00,0x00,}},
+ {0x5A19,2,{0x8A,0xC8,0x00,0x00,}},
+ {0x5A1A,2,{0x8A,0xC9,0x00,0x00,}},
+ {0x5A1B,2,{0x8A,0xCA,0x00,0x00,}},
+ {0x5A1C,2,{0xC4,0xC8,0x00,0x00,}},
+ {0x5A1D,2,{0x8A,0xCB,0x00,0x00,}},
+ {0x5A1E,2,{0x8A,0xCC,0x00,0x00,}},
+ {0x5A1F,2,{0xBE,0xEA,0x00,0x00,}},
+ {0x5A20,2,{0xC9,0xEF,0x00,0x00,}},
+ {0x5A21,2,{0x8A,0xCD,0x00,0x00,}},
+ {0x5A22,2,{0x8A,0xCE,0x00,0x00,}},
+ {0x5A23,2,{0xE6,0xB7,0x00,0x00,}},
+ {0x5A24,2,{0x8A,0xCF,0x00,0x00,}},
+ {0x5A25,2,{0xB6,0xF0,0x00,0x00,}},
+ {0x5A26,2,{0x8A,0xD0,0x00,0x00,}},
+ {0x5A27,2,{0x8A,0xD1,0x00,0x00,}},
+ {0x5A28,2,{0x8A,0xD2,0x00,0x00,}},
+ {0x5A29,2,{0xC3,0xE4,0x00,0x00,}},
+ {0x5A2A,2,{0x8A,0xD3,0x00,0x00,}},
+ {0x5A2B,2,{0x8A,0xD4,0x00,0x00,}},
+ {0x5A2C,2,{0x8A,0xD5,0x00,0x00,}},
+ {0x5A2D,2,{0x8A,0xD6,0x00,0x00,}},
+ {0x5A2E,2,{0x8A,0xD7,0x00,0x00,}},
+ {0x5A2F,2,{0x8A,0xD8,0x00,0x00,}},
+ {0x5A30,2,{0x8A,0xD9,0x00,0x00,}},
+ {0x5A31,2,{0xD3,0xE9,0x00,0x00,}},
+ {0x5A32,2,{0xE6,0xB4,0x00,0x00,}},
+ {0x5A33,2,{0x8A,0xDA,0x00,0x00,}},
+ {0x5A34,2,{0xE6,0xB5,0x00,0x00,}},
+ {0x5A35,2,{0x8A,0xDB,0x00,0x00,}},
+ {0x5A36,2,{0xC8,0xA2,0x00,0x00,}},
+ {0x5A37,2,{0x8A,0xDC,0x00,0x00,}},
+ {0x5A38,2,{0x8A,0xDD,0x00,0x00,}},
+ {0x5A39,2,{0x8A,0xDE,0x00,0x00,}},
+ {0x5A3A,2,{0x8A,0xDF,0x00,0x00,}},
+ {0x5A3B,2,{0x8A,0xE0,0x00,0x00,}},
+ {0x5A3C,2,{0xE6,0xBD,0x00,0x00,}},
+ {0x5A3D,2,{0x8A,0xE1,0x00,0x00,}},
+ {0x5A3E,2,{0x8A,0xE2,0x00,0x00,}},
+ {0x5A3F,2,{0x8A,0xE3,0x00,0x00,}},
+ {0x5A40,2,{0xE6,0xB9,0x00,0x00,}},
+ {0x5A41,2,{0x8A,0xE4,0x00,0x00,}},
+ {0x5A42,2,{0x8A,0xE5,0x00,0x00,}},
+ {0x5A43,2,{0x8A,0xE6,0x00,0x00,}},
+ {0x5A44,2,{0x8A,0xE7,0x00,0x00,}},
+ {0x5A45,2,{0x8A,0xE8,0x00,0x00,}},
+ {0x5A46,2,{0xC6,0xC5,0x00,0x00,}},
+ {0x5A47,2,{0x8A,0xE9,0x00,0x00,}},
+ {0x5A48,2,{0x8A,0xEA,0x00,0x00,}},
+ {0x5A49,2,{0xCD,0xF1,0x00,0x00,}},
+ {0x5A4A,2,{0xE6,0xBB,0x00,0x00,}},
+ {0x5A4B,2,{0x8A,0xEB,0x00,0x00,}},
+ {0x5A4C,2,{0x8A,0xEC,0x00,0x00,}},
+ {0x5A4D,2,{0x8A,0xED,0x00,0x00,}},
+ {0x5A4E,2,{0x8A,0xEE,0x00,0x00,}},
+ {0x5A4F,2,{0x8A,0xEF,0x00,0x00,}},
+ {0x5A50,2,{0x8A,0xF0,0x00,0x00,}},
+ {0x5A51,2,{0x8A,0xF1,0x00,0x00,}},
+ {0x5A52,2,{0x8A,0xF2,0x00,0x00,}},
+ {0x5A53,2,{0x8A,0xF3,0x00,0x00,}},
+ {0x5A54,2,{0x8A,0xF4,0x00,0x00,}},
+ {0x5A55,2,{0xE6,0xBC,0x00,0x00,}},
+ {0x5A56,2,{0x8A,0xF5,0x00,0x00,}},
+ {0x5A57,2,{0x8A,0xF6,0x00,0x00,}},
+ {0x5A58,2,{0x8A,0xF7,0x00,0x00,}},
+ {0x5A59,2,{0x8A,0xF8,0x00,0x00,}},
+ {0x5A5A,2,{0xBB,0xE9,0x00,0x00,}},
+ {0x5A5B,2,{0x8A,0xF9,0x00,0x00,}},
+ {0x5A5C,2,{0x8A,0xFA,0x00,0x00,}},
+ {0x5A5D,2,{0x8A,0xFB,0x00,0x00,}},
+ {0x5A5E,2,{0x8A,0xFC,0x00,0x00,}},
+ {0x5A5F,2,{0x8A,0xFD,0x00,0x00,}},
+ {0x5A60,2,{0x8A,0xFE,0x00,0x00,}},
+ {0x5A61,2,{0x8B,0x40,0x00,0x00,}},
+ {0x5A62,2,{0xE6,0xBE,0x00,0x00,}},
+ {0x5A63,2,{0x8B,0x41,0x00,0x00,}},
+ {0x5A64,2,{0x8B,0x42,0x00,0x00,}},
+ {0x5A65,2,{0x8B,0x43,0x00,0x00,}},
+ {0x5A66,2,{0x8B,0x44,0x00,0x00,}},
+ {0x5A67,2,{0xE6,0xBA,0x00,0x00,}},
+ {0x5A68,2,{0x8B,0x45,0x00,0x00,}},
+ {0x5A69,2,{0x8B,0x46,0x00,0x00,}},
+ {0x5A6A,2,{0xC0,0xB7,0x00,0x00,}},
+ {0x5A6B,2,{0x8B,0x47,0x00,0x00,}},
+ {0x5A6C,2,{0x8B,0x48,0x00,0x00,}},
+ {0x5A6D,2,{0x8B,0x49,0x00,0x00,}},
+ {0x5A6E,2,{0x8B,0x4A,0x00,0x00,}},
+ {0x5A6F,2,{0x8B,0x4B,0x00,0x00,}},
+ {0x5A70,2,{0x8B,0x4C,0x00,0x00,}},
+ {0x5A71,2,{0x8B,0x4D,0x00,0x00,}},
+ {0x5A72,2,{0x8B,0x4E,0x00,0x00,}},
+ {0x5A73,2,{0x8B,0x4F,0x00,0x00,}},
+ {0x5A74,2,{0xD3,0xA4,0x00,0x00,}},
+ {0x5A75,2,{0xE6,0xBF,0x00,0x00,}},
+ {0x5A76,2,{0xC9,0xF4,0x00,0x00,}},
+ {0x5A77,2,{0xE6,0xC3,0x00,0x00,}},
+ {0x5A78,2,{0x8B,0x50,0x00,0x00,}},
+ {0x5A79,2,{0x8B,0x51,0x00,0x00,}},
+ {0x5A7A,2,{0xE6,0xC4,0x00,0x00,}},
+ {0x5A7B,2,{0x8B,0x52,0x00,0x00,}},
+ {0x5A7C,2,{0x8B,0x53,0x00,0x00,}},
+ {0x5A7D,2,{0x8B,0x54,0x00,0x00,}},
+ {0x5A7E,2,{0x8B,0x55,0x00,0x00,}},
+ {0x5A7F,2,{0xD0,0xF6,0x00,0x00,}},
+ {0x5A80,2,{0x8B,0x56,0x00,0x00,}},
+ {0x5A81,2,{0x8B,0x57,0x00,0x00,}},
+ {0x5A82,2,{0x8B,0x58,0x00,0x00,}},
+ {0x5A83,2,{0x8B,0x59,0x00,0x00,}},
+ {0x5A84,2,{0x8B,0x5A,0x00,0x00,}},
+ {0x5A85,2,{0x8B,0x5B,0x00,0x00,}},
+ {0x5A86,2,{0x8B,0x5C,0x00,0x00,}},
+ {0x5A87,2,{0x8B,0x5D,0x00,0x00,}},
+ {0x5A88,2,{0x8B,0x5E,0x00,0x00,}},
+ {0x5A89,2,{0x8B,0x5F,0x00,0x00,}},
+ {0x5A8A,2,{0x8B,0x60,0x00,0x00,}},
+ {0x5A8B,2,{0x8B,0x61,0x00,0x00,}},
+ {0x5A8C,2,{0x8B,0x62,0x00,0x00,}},
+ {0x5A8D,2,{0x8B,0x63,0x00,0x00,}},
+ {0x5A8E,2,{0x8B,0x64,0x00,0x00,}},
+ {0x5A8F,2,{0x8B,0x65,0x00,0x00,}},
+ {0x5A90,2,{0x8B,0x66,0x00,0x00,}},
+ {0x5A91,2,{0x8B,0x67,0x00,0x00,}},
+ {0x5A92,2,{0xC3,0xBD,0x00,0x00,}},
+ {0x5A93,2,{0x8B,0x68,0x00,0x00,}},
+ {0x5A94,2,{0x8B,0x69,0x00,0x00,}},
+ {0x5A95,2,{0x8B,0x6A,0x00,0x00,}},
+ {0x5A96,2,{0x8B,0x6B,0x00,0x00,}},
+ {0x5A97,2,{0x8B,0x6C,0x00,0x00,}},
+ {0x5A98,2,{0x8B,0x6D,0x00,0x00,}},
+ {0x5A99,2,{0x8B,0x6E,0x00,0x00,}},
+ {0x5A9A,2,{0xC3,0xC4,0x00,0x00,}},
+ {0x5A9B,2,{0xE6,0xC2,0x00,0x00,}},
+ {0x5A9C,2,{0x8B,0x6F,0x00,0x00,}},
+ {0x5A9D,2,{0x8B,0x70,0x00,0x00,}},
+ {0x5A9E,2,{0x8B,0x71,0x00,0x00,}},
+ {0x5A9F,2,{0x8B,0x72,0x00,0x00,}},
+ {0x5AA0,2,{0x8B,0x73,0x00,0x00,}},
+ {0x5AA1,2,{0x8B,0x74,0x00,0x00,}},
+ {0x5AA2,2,{0x8B,0x75,0x00,0x00,}},
+ {0x5AA3,2,{0x8B,0x76,0x00,0x00,}},
+ {0x5AA4,2,{0x8B,0x77,0x00,0x00,}},
+ {0x5AA5,2,{0x8B,0x78,0x00,0x00,}},
+ {0x5AA6,2,{0x8B,0x79,0x00,0x00,}},
+ {0x5AA7,2,{0x8B,0x7A,0x00,0x00,}},
+ {0x5AA8,2,{0x8B,0x7B,0x00,0x00,}},
+ {0x5AA9,2,{0x8B,0x7C,0x00,0x00,}},
+ {0x5AAA,2,{0xE6,0xC1,0x00,0x00,}},
+ {0x5AAB,2,{0x8B,0x7D,0x00,0x00,}},
+ {0x5AAC,2,{0x8B,0x7E,0x00,0x00,}},
+ {0x5AAD,2,{0x8B,0x80,0x00,0x00,}},
+ {0x5AAE,2,{0x8B,0x81,0x00,0x00,}},
+ {0x5AAF,2,{0x8B,0x82,0x00,0x00,}},
+ {0x5AB0,2,{0x8B,0x83,0x00,0x00,}},
+ {0x5AB1,2,{0x8B,0x84,0x00,0x00,}},
+ {0x5AB2,2,{0xE6,0xC7,0x00,0x00,}},
+ {0x5AB3,2,{0xCF,0xB1,0x00,0x00,}},
+ {0x5AB4,2,{0x8B,0x85,0x00,0x00,}},
+ {0x5AB5,2,{0xEB,0xF4,0x00,0x00,}},
+ {0x5AB6,2,{0x8B,0x86,0x00,0x00,}},
+ {0x5AB7,2,{0x8B,0x87,0x00,0x00,}},
+ {0x5AB8,2,{0xE6,0xCA,0x00,0x00,}},
+ {0x5AB9,2,{0x8B,0x88,0x00,0x00,}},
+ {0x5ABA,2,{0x8B,0x89,0x00,0x00,}},
+ {0x5ABB,2,{0x8B,0x8A,0x00,0x00,}},
+ {0x5ABC,2,{0x8B,0x8B,0x00,0x00,}},
+ {0x5ABD,2,{0x8B,0x8C,0x00,0x00,}},
+ {0x5ABE,2,{0xE6,0xC5,0x00,0x00,}},
+ {0x5ABF,2,{0x8B,0x8D,0x00,0x00,}},
+ {0x5AC0,2,{0x8B,0x8E,0x00,0x00,}},
+ {0x5AC1,2,{0xBC,0xDE,0x00,0x00,}},
+ {0x5AC2,2,{0xC9,0xA9,0x00,0x00,}},
+ {0x5AC3,2,{0x8B,0x8F,0x00,0x00,}},
+ {0x5AC4,2,{0x8B,0x90,0x00,0x00,}},
+ {0x5AC5,2,{0x8B,0x91,0x00,0x00,}},
+ {0x5AC6,2,{0x8B,0x92,0x00,0x00,}},
+ {0x5AC7,2,{0x8B,0x93,0x00,0x00,}},
+ {0x5AC8,2,{0x8B,0x94,0x00,0x00,}},
+ {0x5AC9,2,{0xBC,0xB5,0x00,0x00,}},
+ {0x5ACA,2,{0x8B,0x95,0x00,0x00,}},
+ {0x5ACB,2,{0x8B,0x96,0x00,0x00,}},
+ {0x5ACC,2,{0xCF,0xD3,0x00,0x00,}},
+ {0x5ACD,2,{0x8B,0x97,0x00,0x00,}},
+ {0x5ACE,2,{0x8B,0x98,0x00,0x00,}},
+ {0x5ACF,2,{0x8B,0x99,0x00,0x00,}},
+ {0x5AD0,2,{0x8B,0x9A,0x00,0x00,}},
+ {0x5AD1,2,{0x8B,0x9B,0x00,0x00,}},
+ {0x5AD2,2,{0xE6,0xC8,0x00,0x00,}},
+ {0x5AD3,2,{0x8B,0x9C,0x00,0x00,}},
+ {0x5AD4,2,{0xE6,0xC9,0x00,0x00,}},
+ {0x5AD5,2,{0x8B,0x9D,0x00,0x00,}},
+ {0x5AD6,2,{0xE6,0xCE,0x00,0x00,}},
+ {0x5AD7,2,{0x8B,0x9E,0x00,0x00,}},
+ {0x5AD8,2,{0xE6,0xD0,0x00,0x00,}},
+ {0x5AD9,2,{0x8B,0x9F,0x00,0x00,}},
+ {0x5ADA,2,{0x8B,0xA0,0x00,0x00,}},
+ {0x5ADB,2,{0x8B,0xA1,0x00,0x00,}},
+ {0x5ADC,2,{0xE6,0xD1,0x00,0x00,}},
+ {0x5ADD,2,{0x8B,0xA2,0x00,0x00,}},
+ {0x5ADE,2,{0x8B,0xA3,0x00,0x00,}},
+ {0x5ADF,2,{0x8B,0xA4,0x00,0x00,}},
+ {0x5AE0,2,{0xE6,0xCB,0x00,0x00,}},
+ {0x5AE1,2,{0xB5,0xD5,0x00,0x00,}},
+ {0x5AE2,2,{0x8B,0xA5,0x00,0x00,}},
+ {0x5AE3,2,{0xE6,0xCC,0x00,0x00,}},
+ {0x5AE4,2,{0x8B,0xA6,0x00,0x00,}},
+ {0x5AE5,2,{0x8B,0xA7,0x00,0x00,}},
+ {0x5AE6,2,{0xE6,0xCF,0x00,0x00,}},
+ {0x5AE7,2,{0x8B,0xA8,0x00,0x00,}},
+ {0x5AE8,2,{0x8B,0xA9,0x00,0x00,}},
+ {0x5AE9,2,{0xC4,0xDB,0x00,0x00,}},
+ {0x5AEA,2,{0x8B,0xAA,0x00,0x00,}},
+ {0x5AEB,2,{0xE6,0xC6,0x00,0x00,}},
+ {0x5AEC,2,{0x8B,0xAB,0x00,0x00,}},
+ {0x5AED,2,{0x8B,0xAC,0x00,0x00,}},
+ {0x5AEE,2,{0x8B,0xAD,0x00,0x00,}},
+ {0x5AEF,2,{0x8B,0xAE,0x00,0x00,}},
+ {0x5AF0,2,{0x8B,0xAF,0x00,0x00,}},
+ {0x5AF1,2,{0xE6,0xCD,0x00,0x00,}},
+ {0x5AF2,2,{0x8B,0xB0,0x00,0x00,}},
+ {0x5AF3,2,{0x8B,0xB1,0x00,0x00,}},
+ {0x5AF4,2,{0x8B,0xB2,0x00,0x00,}},
+ {0x5AF5,2,{0x8B,0xB3,0x00,0x00,}},
+ {0x5AF6,2,{0x8B,0xB4,0x00,0x00,}},
+ {0x5AF7,2,{0x8B,0xB5,0x00,0x00,}},
+ {0x5AF8,2,{0x8B,0xB6,0x00,0x00,}},
+ {0x5AF9,2,{0x8B,0xB7,0x00,0x00,}},
+ {0x5AFA,2,{0x8B,0xB8,0x00,0x00,}},
+ {0x5AFB,2,{0x8B,0xB9,0x00,0x00,}},
+ {0x5AFC,2,{0x8B,0xBA,0x00,0x00,}},
+ {0x5AFD,2,{0x8B,0xBB,0x00,0x00,}},
+ {0x5AFE,2,{0x8B,0xBC,0x00,0x00,}},
+ {0x5AFF,2,{0x8B,0xBD,0x00,0x00,}},
+ {0x5B00,2,{0x8B,0xBE,0x00,0x00,}},
+ {0x5B01,2,{0x8B,0xBF,0x00,0x00,}},
+ {0x5B02,2,{0x8B,0xC0,0x00,0x00,}},
+ {0x5B03,2,{0x8B,0xC1,0x00,0x00,}},
+ {0x5B04,2,{0x8B,0xC2,0x00,0x00,}},
+ {0x5B05,2,{0x8B,0xC3,0x00,0x00,}},
+ {0x5B06,2,{0x8B,0xC4,0x00,0x00,}},
+ {0x5B07,2,{0x8B,0xC5,0x00,0x00,}},
+ {0x5B08,2,{0x8B,0xC6,0x00,0x00,}},
+ {0x5B09,2,{0xE6,0xD2,0x00,0x00,}},
+ {0x5B0A,2,{0x8B,0xC7,0x00,0x00,}},
+ {0x5B0B,2,{0x8B,0xC8,0x00,0x00,}},
+ {0x5B0C,2,{0x8B,0xC9,0x00,0x00,}},
+ {0x5B0D,2,{0x8B,0xCA,0x00,0x00,}},
+ {0x5B0E,2,{0x8B,0xCB,0x00,0x00,}},
+ {0x5B0F,2,{0x8B,0xCC,0x00,0x00,}},
+ {0x5B10,2,{0x8B,0xCD,0x00,0x00,}},
+ {0x5B11,2,{0x8B,0xCE,0x00,0x00,}},
+ {0x5B12,2,{0x8B,0xCF,0x00,0x00,}},
+ {0x5B13,2,{0x8B,0xD0,0x00,0x00,}},
+ {0x5B14,2,{0x8B,0xD1,0x00,0x00,}},
+ {0x5B15,2,{0x8B,0xD2,0x00,0x00,}},
+ {0x5B16,2,{0xE6,0xD4,0x00,0x00,}},
+ {0x5B17,2,{0xE6,0xD3,0x00,0x00,}},
+ {0x5B18,2,{0x8B,0xD3,0x00,0x00,}},
+ {0x5B19,2,{0x8B,0xD4,0x00,0x00,}},
+ {0x5B1A,2,{0x8B,0xD5,0x00,0x00,}},
+ {0x5B1B,2,{0x8B,0xD6,0x00,0x00,}},
+ {0x5B1C,2,{0x8B,0xD7,0x00,0x00,}},
+ {0x5B1D,2,{0x8B,0xD8,0x00,0x00,}},
+ {0x5B1E,2,{0x8B,0xD9,0x00,0x00,}},
+ {0x5B1F,2,{0x8B,0xDA,0x00,0x00,}},
+ {0x5B20,2,{0x8B,0xDB,0x00,0x00,}},
+ {0x5B21,2,{0x8B,0xDC,0x00,0x00,}},
+ {0x5B22,2,{0x8B,0xDD,0x00,0x00,}},
+ {0x5B23,2,{0x8B,0xDE,0x00,0x00,}},
+ {0x5B24,2,{0x8B,0xDF,0x00,0x00,}},
+ {0x5B25,2,{0x8B,0xE0,0x00,0x00,}},
+ {0x5B26,2,{0x8B,0xE1,0x00,0x00,}},
+ {0x5B27,2,{0x8B,0xE2,0x00,0x00,}},
+ {0x5B28,2,{0x8B,0xE3,0x00,0x00,}},
+ {0x5B29,2,{0x8B,0xE4,0x00,0x00,}},
+ {0x5B2A,2,{0x8B,0xE5,0x00,0x00,}},
+ {0x5B2B,2,{0x8B,0xE6,0x00,0x00,}},
+ {0x5B2C,2,{0x8B,0xE7,0x00,0x00,}},
+ {0x5B2D,2,{0x8B,0xE8,0x00,0x00,}},
+ {0x5B2E,2,{0x8B,0xE9,0x00,0x00,}},
+ {0x5B2F,2,{0x8B,0xEA,0x00,0x00,}},
+ {0x5B30,2,{0x8B,0xEB,0x00,0x00,}},
+ {0x5B31,2,{0x8B,0xEC,0x00,0x00,}},
+ {0x5B32,2,{0xE6,0xD5,0x00,0x00,}},
+ {0x5B33,2,{0x8B,0xED,0x00,0x00,}},
+ {0x5B34,2,{0xD9,0xF8,0x00,0x00,}},
+ {0x5B35,2,{0x8B,0xEE,0x00,0x00,}},
+ {0x5B36,2,{0x8B,0xEF,0x00,0x00,}},
+ {0x5B37,2,{0xE6,0xD6,0x00,0x00,}},
+ {0x5B38,2,{0x8B,0xF0,0x00,0x00,}},
+ {0x5B39,2,{0x8B,0xF1,0x00,0x00,}},
+ {0x5B3A,2,{0x8B,0xF2,0x00,0x00,}},
+ {0x5B3B,2,{0x8B,0xF3,0x00,0x00,}},
+ {0x5B3C,2,{0x8B,0xF4,0x00,0x00,}},
+ {0x5B3D,2,{0x8B,0xF5,0x00,0x00,}},
+ {0x5B3E,2,{0x8B,0xF6,0x00,0x00,}},
+ {0x5B3F,2,{0x8B,0xF7,0x00,0x00,}},
+ {0x5B40,2,{0xE6,0xD7,0x00,0x00,}},
+ {0x5B41,2,{0x8B,0xF8,0x00,0x00,}},
+ {0x5B42,2,{0x8B,0xF9,0x00,0x00,}},
+ {0x5B43,2,{0x8B,0xFA,0x00,0x00,}},
+ {0x5B44,2,{0x8B,0xFB,0x00,0x00,}},
+ {0x5B45,2,{0x8B,0xFC,0x00,0x00,}},
+ {0x5B46,2,{0x8B,0xFD,0x00,0x00,}},
+ {0x5B47,2,{0x8B,0xFE,0x00,0x00,}},
+ {0x5B48,2,{0x8C,0x40,0x00,0x00,}},
+ {0x5B49,2,{0x8C,0x41,0x00,0x00,}},
+ {0x5B4A,2,{0x8C,0x42,0x00,0x00,}},
+ {0x5B4B,2,{0x8C,0x43,0x00,0x00,}},
+ {0x5B4C,2,{0x8C,0x44,0x00,0x00,}},
+ {0x5B4D,2,{0x8C,0x45,0x00,0x00,}},
+ {0x5B4E,2,{0x8C,0x46,0x00,0x00,}},
+ {0x5B4F,2,{0x8C,0x47,0x00,0x00,}},
+ {0x5B50,2,{0xD7,0xD3,0x00,0x00,}},
+ {0x5B51,2,{0xE6,0xDD,0x00,0x00,}},
+ {0x5B52,2,{0x8C,0x48,0x00,0x00,}},
+ {0x5B53,2,{0xE6,0xDE,0x00,0x00,}},
+ {0x5B54,2,{0xBF,0xD7,0x00,0x00,}},
+ {0x5B55,2,{0xD4,0xD0,0x00,0x00,}},
+ {0x5B56,2,{0x8C,0x49,0x00,0x00,}},
+ {0x5B57,2,{0xD7,0xD6,0x00,0x00,}},
+ {0x5B58,2,{0xB4,0xE6,0x00,0x00,}},
+ {0x5B59,2,{0xCB,0xEF,0x00,0x00,}},
+ {0x5B5A,2,{0xE6,0xDA,0x00,0x00,}},
+ {0x5B5B,2,{0xD8,0xC3,0x00,0x00,}},
+ {0x5B5C,2,{0xD7,0xCE,0x00,0x00,}},
+ {0x5B5D,2,{0xD0,0xA2,0x00,0x00,}},
+ {0x5B5E,2,{0x8C,0x4A,0x00,0x00,}},
+ {0x5B5F,2,{0xC3,0xCF,0x00,0x00,}},
+ {0x5B60,2,{0x8C,0x4B,0x00,0x00,}},
+ {0x5B61,2,{0x8C,0x4C,0x00,0x00,}},
+ {0x5B62,2,{0xE6,0xDF,0x00,0x00,}},
+ {0x5B63,2,{0xBC,0xBE,0x00,0x00,}},
+ {0x5B64,2,{0xB9,0xC2,0x00,0x00,}},
+ {0x5B65,2,{0xE6,0xDB,0x00,0x00,}},
+ {0x5B66,2,{0xD1,0xA7,0x00,0x00,}},
+ {0x5B67,2,{0x8C,0x4D,0x00,0x00,}},
+ {0x5B68,2,{0x8C,0x4E,0x00,0x00,}},
+ {0x5B69,2,{0xBA,0xA2,0x00,0x00,}},
+ {0x5B6A,2,{0xC2,0xCF,0x00,0x00,}},
+ {0x5B6B,2,{0x8C,0x4F,0x00,0x00,}},
+ {0x5B6C,2,{0xD8,0xAB,0x00,0x00,}},
+ {0x5B6D,2,{0x8C,0x50,0x00,0x00,}},
+ {0x5B6E,2,{0x8C,0x51,0x00,0x00,}},
+ {0x5B6F,2,{0x8C,0x52,0x00,0x00,}},
+ {0x5B70,2,{0xCA,0xEB,0x00,0x00,}},
+ {0x5B71,2,{0xE5,0xEE,0x00,0x00,}},
+ {0x5B72,2,{0x8C,0x53,0x00,0x00,}},
+ {0x5B73,2,{0xE6,0xDC,0x00,0x00,}},
+ {0x5B74,2,{0x8C,0x54,0x00,0x00,}},
+ {0x5B75,2,{0xB7,0xF5,0x00,0x00,}},
+ {0x5B76,2,{0x8C,0x55,0x00,0x00,}},
+ {0x5B77,2,{0x8C,0x56,0x00,0x00,}},
+ {0x5B78,2,{0x8C,0x57,0x00,0x00,}},
+ {0x5B79,2,{0x8C,0x58,0x00,0x00,}},
+ {0x5B7A,2,{0xC8,0xE6,0x00,0x00,}},
+ {0x5B7B,2,{0x8C,0x59,0x00,0x00,}},
+ {0x5B7C,2,{0x8C,0x5A,0x00,0x00,}},
+ {0x5B7D,2,{0xC4,0xF5,0x00,0x00,}},
+ {0x5B7E,2,{0x8C,0x5B,0x00,0x00,}},
+ {0x5B7F,2,{0x8C,0x5C,0x00,0x00,}},
+ {0x5B80,2,{0xE5,0xB2,0x00,0x00,}},
+ {0x5B81,2,{0xC4,0xFE,0x00,0x00,}},
+ {0x5B82,2,{0x8C,0x5D,0x00,0x00,}},
+ {0x5B83,2,{0xCB,0xFC,0x00,0x00,}},
+ {0x5B84,2,{0xE5,0xB3,0x00,0x00,}},
+ {0x5B85,2,{0xD5,0xAC,0x00,0x00,}},
+ {0x5B86,2,{0x8C,0x5E,0x00,0x00,}},
+ {0x5B87,2,{0xD3,0xEE,0x00,0x00,}},
+ {0x5B88,2,{0xCA,0xD8,0x00,0x00,}},
+ {0x5B89,2,{0xB0,0xB2,0x00,0x00,}},
+ {0x5B8A,2,{0x8C,0x5F,0x00,0x00,}},
+ {0x5B8B,2,{0xCB,0xCE,0x00,0x00,}},
+ {0x5B8C,2,{0xCD,0xEA,0x00,0x00,}},
+ {0x5B8D,2,{0x8C,0x60,0x00,0x00,}},
+ {0x5B8E,2,{0x8C,0x61,0x00,0x00,}},
+ {0x5B8F,2,{0xBA,0xEA,0x00,0x00,}},
+ {0x5B90,2,{0x8C,0x62,0x00,0x00,}},
+ {0x5B91,2,{0x8C,0x63,0x00,0x00,}},
+ {0x5B92,2,{0x8C,0x64,0x00,0x00,}},
+ {0x5B93,2,{0xE5,0xB5,0x00,0x00,}},
+ {0x5B94,2,{0x8C,0x65,0x00,0x00,}},
+ {0x5B95,2,{0xE5,0xB4,0x00,0x00,}},
+ {0x5B96,2,{0x8C,0x66,0x00,0x00,}},
+ {0x5B97,2,{0xD7,0xDA,0x00,0x00,}},
+ {0x5B98,2,{0xB9,0xD9,0x00,0x00,}},
+ {0x5B99,2,{0xD6,0xE6,0x00,0x00,}},
+ {0x5B9A,2,{0xB6,0xA8,0x00,0x00,}},
+ {0x5B9B,2,{0xCD,0xF0,0x00,0x00,}},
+ {0x5B9C,2,{0xD2,0xCB,0x00,0x00,}},
+ {0x5B9D,2,{0xB1,0xA6,0x00,0x00,}},
+ {0x5B9E,2,{0xCA,0xB5,0x00,0x00,}},
+ {0x5B9F,2,{0x8C,0x67,0x00,0x00,}},
+ {0x5BA0,2,{0xB3,0xE8,0x00,0x00,}},
+ {0x5BA1,2,{0xC9,0xF3,0x00,0x00,}},
+ {0x5BA2,2,{0xBF,0xCD,0x00,0x00,}},
+ {0x5BA3,2,{0xD0,0xFB,0x00,0x00,}},
+ {0x5BA4,2,{0xCA,0xD2,0x00,0x00,}},
+ {0x5BA5,2,{0xE5,0xB6,0x00,0x00,}},
+ {0x5BA6,2,{0xBB,0xC2,0x00,0x00,}},
+ {0x5BA7,2,{0x8C,0x68,0x00,0x00,}},
+ {0x5BA8,2,{0x8C,0x69,0x00,0x00,}},
+ {0x5BA9,2,{0x8C,0x6A,0x00,0x00,}},
+ {0x5BAA,2,{0xCF,0xDC,0x00,0x00,}},
+ {0x5BAB,2,{0xB9,0xAC,0x00,0x00,}},
+ {0x5BAC,2,{0x8C,0x6B,0x00,0x00,}},
+ {0x5BAD,2,{0x8C,0x6C,0x00,0x00,}},
+ {0x5BAE,2,{0x8C,0x6D,0x00,0x00,}},
+ {0x5BAF,2,{0x8C,0x6E,0x00,0x00,}},
+ {0x5BB0,2,{0xD4,0xD7,0x00,0x00,}},
+ {0x5BB1,2,{0x8C,0x6F,0x00,0x00,}},
+ {0x5BB2,2,{0x8C,0x70,0x00,0x00,}},
+ {0x5BB3,2,{0xBA,0xA6,0x00,0x00,}},
+ {0x5BB4,2,{0xD1,0xE7,0x00,0x00,}},
+ {0x5BB5,2,{0xCF,0xFC,0x00,0x00,}},
+ {0x5BB6,2,{0xBC,0xD2,0x00,0x00,}},
+ {0x5BB7,2,{0x8C,0x71,0x00,0x00,}},
+ {0x5BB8,2,{0xE5,0xB7,0x00,0x00,}},
+ {0x5BB9,2,{0xC8,0xDD,0x00,0x00,}},
+ {0x5BBA,2,{0x8C,0x72,0x00,0x00,}},
+ {0x5BBB,2,{0x8C,0x73,0x00,0x00,}},
+ {0x5BBC,2,{0x8C,0x74,0x00,0x00,}},
+ {0x5BBD,2,{0xBF,0xED,0x00,0x00,}},
+ {0x5BBE,2,{0xB1,0xF6,0x00,0x00,}},
+ {0x5BBF,2,{0xCB,0xDE,0x00,0x00,}},
+ {0x5BC0,2,{0x8C,0x75,0x00,0x00,}},
+ {0x5BC1,2,{0x8C,0x76,0x00,0x00,}},
+ {0x5BC2,2,{0xBC,0xC5,0x00,0x00,}},
+ {0x5BC3,2,{0x8C,0x77,0x00,0x00,}},
+ {0x5BC4,2,{0xBC,0xC4,0x00,0x00,}},
+ {0x5BC5,2,{0xD2,0xFA,0x00,0x00,}},
+ {0x5BC6,2,{0xC3,0xDC,0x00,0x00,}},
+ {0x5BC7,2,{0xBF,0xDC,0x00,0x00,}},
+ {0x5BC8,2,{0x8C,0x78,0x00,0x00,}},
+ {0x5BC9,2,{0x8C,0x79,0x00,0x00,}},
+ {0x5BCA,2,{0x8C,0x7A,0x00,0x00,}},
+ {0x5BCB,2,{0x8C,0x7B,0x00,0x00,}},
+ {0x5BCC,2,{0xB8,0xBB,0x00,0x00,}},
+ {0x5BCD,2,{0x8C,0x7C,0x00,0x00,}},
+ {0x5BCE,2,{0x8C,0x7D,0x00,0x00,}},
+ {0x5BCF,2,{0x8C,0x7E,0x00,0x00,}},
+ {0x5BD0,2,{0xC3,0xC2,0x00,0x00,}},
+ {0x5BD1,2,{0x8C,0x80,0x00,0x00,}},
+ {0x5BD2,2,{0xBA,0xAE,0x00,0x00,}},
+ {0x5BD3,2,{0xD4,0xA2,0x00,0x00,}},
+ {0x5BD4,2,{0x8C,0x81,0x00,0x00,}},
+ {0x5BD5,2,{0x8C,0x82,0x00,0x00,}},
+ {0x5BD6,2,{0x8C,0x83,0x00,0x00,}},
+ {0x5BD7,2,{0x8C,0x84,0x00,0x00,}},
+ {0x5BD8,2,{0x8C,0x85,0x00,0x00,}},
+ {0x5BD9,2,{0x8C,0x86,0x00,0x00,}},
+ {0x5BDA,2,{0x8C,0x87,0x00,0x00,}},
+ {0x5BDB,2,{0x8C,0x88,0x00,0x00,}},
+ {0x5BDC,2,{0x8C,0x89,0x00,0x00,}},
+ {0x5BDD,2,{0xC7,0xDE,0x00,0x00,}},
+ {0x5BDE,2,{0xC4,0xAF,0x00,0x00,}},
+ {0x5BDF,2,{0xB2,0xEC,0x00,0x00,}},
+ {0x5BE0,2,{0x8C,0x8A,0x00,0x00,}},
+ {0x5BE1,2,{0xB9,0xD1,0x00,0x00,}},
+ {0x5BE2,2,{0x8C,0x8B,0x00,0x00,}},
+ {0x5BE3,2,{0x8C,0x8C,0x00,0x00,}},
+ {0x5BE4,2,{0xE5,0xBB,0x00,0x00,}},
+ {0x5BE5,2,{0xC1,0xC8,0x00,0x00,}},
+ {0x5BE6,2,{0x8C,0x8D,0x00,0x00,}},
+ {0x5BE7,2,{0x8C,0x8E,0x00,0x00,}},
+ {0x5BE8,2,{0xD5,0xAF,0x00,0x00,}},
+ {0x5BE9,2,{0x8C,0x8F,0x00,0x00,}},
+ {0x5BEA,2,{0x8C,0x90,0x00,0x00,}},
+ {0x5BEB,2,{0x8C,0x91,0x00,0x00,}},
+ {0x5BEC,2,{0x8C,0x92,0x00,0x00,}},
+ {0x5BED,2,{0x8C,0x93,0x00,0x00,}},
+ {0x5BEE,2,{0xE5,0xBC,0x00,0x00,}},
+ {0x5BEF,2,{0x8C,0x94,0x00,0x00,}},
+ {0x5BF0,2,{0xE5,0xBE,0x00,0x00,}},
+ {0x5BF1,2,{0x8C,0x95,0x00,0x00,}},
+ {0x5BF2,2,{0x8C,0x96,0x00,0x00,}},
+ {0x5BF3,2,{0x8C,0x97,0x00,0x00,}},
+ {0x5BF4,2,{0x8C,0x98,0x00,0x00,}},
+ {0x5BF5,2,{0x8C,0x99,0x00,0x00,}},
+ {0x5BF6,2,{0x8C,0x9A,0x00,0x00,}},
+ {0x5BF7,2,{0x8C,0x9B,0x00,0x00,}},
+ {0x5BF8,2,{0xB4,0xE7,0x00,0x00,}},
+ {0x5BF9,2,{0xB6,0xD4,0x00,0x00,}},
+ {0x5BFA,2,{0xCB,0xC2,0x00,0x00,}},
+ {0x5BFB,2,{0xD1,0xB0,0x00,0x00,}},
+ {0x5BFC,2,{0xB5,0xBC,0x00,0x00,}},
+ {0x5BFD,2,{0x8C,0x9C,0x00,0x00,}},
+ {0x5BFE,2,{0x8C,0x9D,0x00,0x00,}},
+ {0x5BFF,2,{0xCA,0xD9,0x00,0x00,}},
+ {0x5C00,2,{0x8C,0x9E,0x00,0x00,}},
+ {0x5C01,2,{0xB7,0xE2,0x00,0x00,}},
+ {0x5C02,2,{0x8C,0x9F,0x00,0x00,}},
+ {0x5C03,2,{0x8C,0xA0,0x00,0x00,}},
+ {0x5C04,2,{0xC9,0xE4,0x00,0x00,}},
+ {0x5C05,2,{0x8C,0xA1,0x00,0x00,}},
+ {0x5C06,2,{0xBD,0xAB,0x00,0x00,}},
+ {0x5C07,2,{0x8C,0xA2,0x00,0x00,}},
+ {0x5C08,2,{0x8C,0xA3,0x00,0x00,}},
+ {0x5C09,2,{0xCE,0xBE,0x00,0x00,}},
+ {0x5C0A,2,{0xD7,0xF0,0x00,0x00,}},
+ {0x5C0B,2,{0x8C,0xA4,0x00,0x00,}},
+ {0x5C0C,2,{0x8C,0xA5,0x00,0x00,}},
+ {0x5C0D,2,{0x8C,0xA6,0x00,0x00,}},
+ {0x5C0E,2,{0x8C,0xA7,0x00,0x00,}},
+ {0x5C0F,2,{0xD0,0xA1,0x00,0x00,}},
+ {0x5C10,2,{0x8C,0xA8,0x00,0x00,}},
+ {0x5C11,2,{0xC9,0xD9,0x00,0x00,}},
+ {0x5C12,2,{0x8C,0xA9,0x00,0x00,}},
+ {0x5C13,2,{0x8C,0xAA,0x00,0x00,}},
+ {0x5C14,2,{0xB6,0xFB,0x00,0x00,}},
+ {0x5C15,2,{0xE6,0xD8,0x00,0x00,}},
+ {0x5C16,2,{0xBC,0xE2,0x00,0x00,}},
+ {0x5C17,2,{0x8C,0xAB,0x00,0x00,}},
+ {0x5C18,2,{0xB3,0xBE,0x00,0x00,}},
+ {0x5C19,2,{0x8C,0xAC,0x00,0x00,}},
+ {0x5C1A,2,{0xC9,0xD0,0x00,0x00,}},
+ {0x5C1B,2,{0x8C,0xAD,0x00,0x00,}},
+ {0x5C1C,2,{0xE6,0xD9,0x00,0x00,}},
+ {0x5C1D,2,{0xB3,0xA2,0x00,0x00,}},
+ {0x5C1E,2,{0x8C,0xAE,0x00,0x00,}},
+ {0x5C1F,2,{0x8C,0xAF,0x00,0x00,}},
+ {0x5C20,2,{0x8C,0xB0,0x00,0x00,}},
+ {0x5C21,2,{0x8C,0xB1,0x00,0x00,}},
+ {0x5C22,2,{0xDE,0xCC,0x00,0x00,}},
+ {0x5C23,2,{0x8C,0xB2,0x00,0x00,}},
+ {0x5C24,2,{0xD3,0xC8,0x00,0x00,}},
+ {0x5C25,2,{0xDE,0xCD,0x00,0x00,}},
+ {0x5C26,2,{0x8C,0xB3,0x00,0x00,}},
+ {0x5C27,2,{0xD2,0xA2,0x00,0x00,}},
+ {0x5C28,2,{0x8C,0xB4,0x00,0x00,}},
+ {0x5C29,2,{0x8C,0xB5,0x00,0x00,}},
+ {0x5C2A,2,{0x8C,0xB6,0x00,0x00,}},
+ {0x5C2B,2,{0x8C,0xB7,0x00,0x00,}},
+ {0x5C2C,2,{0xDE,0xCE,0x00,0x00,}},
+ {0x5C2D,2,{0x8C,0xB8,0x00,0x00,}},
+ {0x5C2E,2,{0x8C,0xB9,0x00,0x00,}},
+ {0x5C2F,2,{0x8C,0xBA,0x00,0x00,}},
+ {0x5C30,2,{0x8C,0xBB,0x00,0x00,}},
+ {0x5C31,2,{0xBE,0xCD,0x00,0x00,}},
+ {0x5C32,2,{0x8C,0xBC,0x00,0x00,}},
+ {0x5C33,2,{0x8C,0xBD,0x00,0x00,}},
+ {0x5C34,2,{0xDE,0xCF,0x00,0x00,}},
+ {0x5C35,2,{0x8C,0xBE,0x00,0x00,}},
+ {0x5C36,2,{0x8C,0xBF,0x00,0x00,}},
+ {0x5C37,2,{0x8C,0xC0,0x00,0x00,}},
+ {0x5C38,2,{0xCA,0xAC,0x00,0x00,}},
+ {0x5C39,2,{0xD2,0xFC,0x00,0x00,}},
+ {0x5C3A,2,{0xB3,0xDF,0x00,0x00,}},
+ {0x5C3B,2,{0xE5,0xEA,0x00,0x00,}},
+ {0x5C3C,2,{0xC4,0xE1,0x00,0x00,}},
+ {0x5C3D,2,{0xBE,0xA1,0x00,0x00,}},
+ {0x5C3E,2,{0xCE,0xB2,0x00,0x00,}},
+ {0x5C3F,2,{0xC4,0xF2,0x00,0x00,}},
+ {0x5C40,2,{0xBE,0xD6,0x00,0x00,}},
+ {0x5C41,2,{0xC6,0xA8,0x00,0x00,}},
+ {0x5C42,2,{0xB2,0xE3,0x00,0x00,}},
+ {0x5C43,2,{0x8C,0xC1,0x00,0x00,}},
+ {0x5C44,2,{0x8C,0xC2,0x00,0x00,}},
+ {0x5C45,2,{0xBE,0xD3,0x00,0x00,}},
+ {0x5C46,2,{0x8C,0xC3,0x00,0x00,}},
+ {0x5C47,2,{0x8C,0xC4,0x00,0x00,}},
+ {0x5C48,2,{0xC7,0xFC,0x00,0x00,}},
+ {0x5C49,2,{0xCC,0xEB,0x00,0x00,}},
+ {0x5C4A,2,{0xBD,0xEC,0x00,0x00,}},
+ {0x5C4B,2,{0xCE,0xDD,0x00,0x00,}},
+ {0x5C4C,2,{0x8C,0xC5,0x00,0x00,}},
+ {0x5C4D,2,{0x8C,0xC6,0x00,0x00,}},
+ {0x5C4E,2,{0xCA,0xBA,0x00,0x00,}},
+ {0x5C4F,2,{0xC6,0xC1,0x00,0x00,}},
+ {0x5C50,2,{0xE5,0xEC,0x00,0x00,}},
+ {0x5C51,2,{0xD0,0xBC,0x00,0x00,}},
+ {0x5C52,2,{0x8C,0xC7,0x00,0x00,}},
+ {0x5C53,2,{0x8C,0xC8,0x00,0x00,}},
+ {0x5C54,2,{0x8C,0xC9,0x00,0x00,}},
+ {0x5C55,2,{0xD5,0xB9,0x00,0x00,}},
+ {0x5C56,2,{0x8C,0xCA,0x00,0x00,}},
+ {0x5C57,2,{0x8C,0xCB,0x00,0x00,}},
+ {0x5C58,2,{0x8C,0xCC,0x00,0x00,}},
+ {0x5C59,2,{0xE5,0xED,0x00,0x00,}},
+ {0x5C5A,2,{0x8C,0xCD,0x00,0x00,}},
+ {0x5C5B,2,{0x8C,0xCE,0x00,0x00,}},
+ {0x5C5C,2,{0x8C,0xCF,0x00,0x00,}},
+ {0x5C5D,2,{0x8C,0xD0,0x00,0x00,}},
+ {0x5C5E,2,{0xCA,0xF4,0x00,0x00,}},
+ {0x5C5F,2,{0x8C,0xD1,0x00,0x00,}},
+ {0x5C60,2,{0xCD,0xC0,0x00,0x00,}},
+ {0x5C61,2,{0xC2,0xC5,0x00,0x00,}},
+ {0x5C62,2,{0x8C,0xD2,0x00,0x00,}},
+ {0x5C63,2,{0xE5,0xEF,0x00,0x00,}},
+ {0x5C64,2,{0x8C,0xD3,0x00,0x00,}},
+ {0x5C65,2,{0xC2,0xC4,0x00,0x00,}},
+ {0x5C66,2,{0xE5,0xF0,0x00,0x00,}},
+ {0x5C67,2,{0x8C,0xD4,0x00,0x00,}},
+ {0x5C68,2,{0x8C,0xD5,0x00,0x00,}},
+ {0x5C69,2,{0x8C,0xD6,0x00,0x00,}},
+ {0x5C6A,2,{0x8C,0xD7,0x00,0x00,}},
+ {0x5C6B,2,{0x8C,0xD8,0x00,0x00,}},
+ {0x5C6C,2,{0x8C,0xD9,0x00,0x00,}},
+ {0x5C6D,2,{0x8C,0xDA,0x00,0x00,}},
+ {0x5C6E,2,{0xE5,0xF8,0x00,0x00,}},
+ {0x5C6F,2,{0xCD,0xCD,0x00,0x00,}},
+ {0x5C70,2,{0x8C,0xDB,0x00,0x00,}},
+ {0x5C71,2,{0xC9,0xBD,0x00,0x00,}},
+ {0x5C72,2,{0x8C,0xDC,0x00,0x00,}},
+ {0x5C73,2,{0x8C,0xDD,0x00,0x00,}},
+ {0x5C74,2,{0x8C,0xDE,0x00,0x00,}},
+ {0x5C75,2,{0x8C,0xDF,0x00,0x00,}},
+ {0x5C76,2,{0x8C,0xE0,0x00,0x00,}},
+ {0x5C77,2,{0x8C,0xE1,0x00,0x00,}},
+ {0x5C78,2,{0x8C,0xE2,0x00,0x00,}},
+ {0x5C79,2,{0xD2,0xD9,0x00,0x00,}},
+ {0x5C7A,2,{0xE1,0xA8,0x00,0x00,}},
+ {0x5C7B,2,{0x8C,0xE3,0x00,0x00,}},
+ {0x5C7C,2,{0x8C,0xE4,0x00,0x00,}},
+ {0x5C7D,2,{0x8C,0xE5,0x00,0x00,}},
+ {0x5C7E,2,{0x8C,0xE6,0x00,0x00,}},
+ {0x5C7F,2,{0xD3,0xEC,0x00,0x00,}},
+ {0x5C80,2,{0x8C,0xE7,0x00,0x00,}},
+ {0x5C81,2,{0xCB,0xEA,0x00,0x00,}},
+ {0x5C82,2,{0xC6,0xF1,0x00,0x00,}},
+ {0x5C83,2,{0x8C,0xE8,0x00,0x00,}},
+ {0x5C84,2,{0x8C,0xE9,0x00,0x00,}},
+ {0x5C85,2,{0x8C,0xEA,0x00,0x00,}},
+ {0x5C86,2,{0x8C,0xEB,0x00,0x00,}},
+ {0x5C87,2,{0x8C,0xEC,0x00,0x00,}},
+ {0x5C88,2,{0xE1,0xAC,0x00,0x00,}},
+ {0x5C89,2,{0x8C,0xED,0x00,0x00,}},
+ {0x5C8A,2,{0x8C,0xEE,0x00,0x00,}},
+ {0x5C8B,2,{0x8C,0xEF,0x00,0x00,}},
+ {0x5C8C,2,{0xE1,0xA7,0x00,0x00,}},
+ {0x5C8D,2,{0xE1,0xA9,0x00,0x00,}},
+ {0x5C8E,2,{0x8C,0xF0,0x00,0x00,}},
+ {0x5C8F,2,{0x8C,0xF1,0x00,0x00,}},
+ {0x5C90,2,{0xE1,0xAA,0x00,0x00,}},
+ {0x5C91,2,{0xE1,0xAF,0x00,0x00,}},
+ {0x5C92,2,{0x8C,0xF2,0x00,0x00,}},
+ {0x5C93,2,{0x8C,0xF3,0x00,0x00,}},
+ {0x5C94,2,{0xB2,0xED,0x00,0x00,}},
+ {0x5C95,2,{0x8C,0xF4,0x00,0x00,}},
+ {0x5C96,2,{0xE1,0xAB,0x00,0x00,}},
+ {0x5C97,2,{0xB8,0xDA,0x00,0x00,}},
+ {0x5C98,2,{0xE1,0xAD,0x00,0x00,}},
+ {0x5C99,2,{0xE1,0xAE,0x00,0x00,}},
+ {0x5C9A,2,{0xE1,0xB0,0x00,0x00,}},
+ {0x5C9B,2,{0xB5,0xBA,0x00,0x00,}},
+ {0x5C9C,2,{0xE1,0xB1,0x00,0x00,}},
+ {0x5C9D,2,{0x8C,0xF5,0x00,0x00,}},
+ {0x5C9E,2,{0x8C,0xF6,0x00,0x00,}},
+ {0x5C9F,2,{0x8C,0xF7,0x00,0x00,}},
+ {0x5CA0,2,{0x8C,0xF8,0x00,0x00,}},
+ {0x5CA1,2,{0x8C,0xF9,0x00,0x00,}},
+ {0x5CA2,2,{0xE1,0xB3,0x00,0x00,}},
+ {0x5CA3,2,{0xE1,0xB8,0x00,0x00,}},
+ {0x5CA4,2,{0x8C,0xFA,0x00,0x00,}},
+ {0x5CA5,2,{0x8C,0xFB,0x00,0x00,}},
+ {0x5CA6,2,{0x8C,0xFC,0x00,0x00,}},
+ {0x5CA7,2,{0x8C,0xFD,0x00,0x00,}},
+ {0x5CA8,2,{0x8C,0xFE,0x00,0x00,}},
+ {0x5CA9,2,{0xD1,0xD2,0x00,0x00,}},
+ {0x5CAA,2,{0x8D,0x40,0x00,0x00,}},
+ {0x5CAB,2,{0xE1,0xB6,0x00,0x00,}},
+ {0x5CAC,2,{0xE1,0xB5,0x00,0x00,}},
+ {0x5CAD,2,{0xC1,0xEB,0x00,0x00,}},
+ {0x5CAE,2,{0x8D,0x41,0x00,0x00,}},
+ {0x5CAF,2,{0x8D,0x42,0x00,0x00,}},
+ {0x5CB0,2,{0x8D,0x43,0x00,0x00,}},
+ {0x5CB1,2,{0xE1,0xB7,0x00,0x00,}},
+ {0x5CB2,2,{0x8D,0x44,0x00,0x00,}},
+ {0x5CB3,2,{0xD4,0xC0,0x00,0x00,}},
+ {0x5CB4,2,{0x8D,0x45,0x00,0x00,}},
+ {0x5CB5,2,{0xE1,0xB2,0x00,0x00,}},
+ {0x5CB6,2,{0x8D,0x46,0x00,0x00,}},
+ {0x5CB7,2,{0xE1,0xBA,0x00,0x00,}},
+ {0x5CB8,2,{0xB0,0xB6,0x00,0x00,}},
+ {0x5CB9,2,{0x8D,0x47,0x00,0x00,}},
+ {0x5CBA,2,{0x8D,0x48,0x00,0x00,}},
+ {0x5CBB,2,{0x8D,0x49,0x00,0x00,}},
+ {0x5CBC,2,{0x8D,0x4A,0x00,0x00,}},
+ {0x5CBD,2,{0xE1,0xB4,0x00,0x00,}},
+ {0x5CBE,2,{0x8D,0x4B,0x00,0x00,}},
+ {0x5CBF,2,{0xBF,0xF9,0x00,0x00,}},
+ {0x5CC0,2,{0x8D,0x4C,0x00,0x00,}},
+ {0x5CC1,2,{0xE1,0xB9,0x00,0x00,}},
+ {0x5CC2,2,{0x8D,0x4D,0x00,0x00,}},
+ {0x5CC3,2,{0x8D,0x4E,0x00,0x00,}},
+ {0x5CC4,2,{0xE1,0xBB,0x00,0x00,}},
+ {0x5CC5,2,{0x8D,0x4F,0x00,0x00,}},
+ {0x5CC6,2,{0x8D,0x50,0x00,0x00,}},
+ {0x5CC7,2,{0x8D,0x51,0x00,0x00,}},
+ {0x5CC8,2,{0x8D,0x52,0x00,0x00,}},
+ {0x5CC9,2,{0x8D,0x53,0x00,0x00,}},
+ {0x5CCA,2,{0x8D,0x54,0x00,0x00,}},
+ {0x5CCB,2,{0xE1,0xBE,0x00,0x00,}},
+ {0x5CCC,2,{0x8D,0x55,0x00,0x00,}},
+ {0x5CCD,2,{0x8D,0x56,0x00,0x00,}},
+ {0x5CCE,2,{0x8D,0x57,0x00,0x00,}},
+ {0x5CCF,2,{0x8D,0x58,0x00,0x00,}},
+ {0x5CD0,2,{0x8D,0x59,0x00,0x00,}},
+ {0x5CD1,2,{0x8D,0x5A,0x00,0x00,}},
+ {0x5CD2,2,{0xE1,0xBC,0x00,0x00,}},
+ {0x5CD3,2,{0x8D,0x5B,0x00,0x00,}},
+ {0x5CD4,2,{0x8D,0x5C,0x00,0x00,}},
+ {0x5CD5,2,{0x8D,0x5D,0x00,0x00,}},
+ {0x5CD6,2,{0x8D,0x5E,0x00,0x00,}},
+ {0x5CD7,2,{0x8D,0x5F,0x00,0x00,}},
+ {0x5CD8,2,{0x8D,0x60,0x00,0x00,}},
+ {0x5CD9,2,{0xD6,0xC5,0x00,0x00,}},
+ {0x5CDA,2,{0x8D,0x61,0x00,0x00,}},
+ {0x5CDB,2,{0x8D,0x62,0x00,0x00,}},
+ {0x5CDC,2,{0x8D,0x63,0x00,0x00,}},
+ {0x5CDD,2,{0x8D,0x64,0x00,0x00,}},
+ {0x5CDE,2,{0x8D,0x65,0x00,0x00,}},
+ {0x5CDF,2,{0x8D,0x66,0x00,0x00,}},
+ {0x5CE0,2,{0x8D,0x67,0x00,0x00,}},
+ {0x5CE1,2,{0xCF,0xBF,0x00,0x00,}},
+ {0x5CE2,2,{0x8D,0x68,0x00,0x00,}},
+ {0x5CE3,2,{0x8D,0x69,0x00,0x00,}},
+ {0x5CE4,2,{0xE1,0xBD,0x00,0x00,}},
+ {0x5CE5,2,{0xE1,0xBF,0x00,0x00,}},
+ {0x5CE6,2,{0xC2,0xCD,0x00,0x00,}},
+ {0x5CE7,2,{0x8D,0x6A,0x00,0x00,}},
+ {0x5CE8,2,{0xB6,0xEB,0x00,0x00,}},
+ {0x5CE9,2,{0x8D,0x6B,0x00,0x00,}},
+ {0x5CEA,2,{0xD3,0xF8,0x00,0x00,}},
+ {0x5CEB,2,{0x8D,0x6C,0x00,0x00,}},
+ {0x5CEC,2,{0x8D,0x6D,0x00,0x00,}},
+ {0x5CED,2,{0xC7,0xCD,0x00,0x00,}},
+ {0x5CEE,2,{0x8D,0x6E,0x00,0x00,}},
+ {0x5CEF,2,{0x8D,0x6F,0x00,0x00,}},
+ {0x5CF0,2,{0xB7,0xE5,0x00,0x00,}},
+ {0x5CF1,2,{0x8D,0x70,0x00,0x00,}},
+ {0x5CF2,2,{0x8D,0x71,0x00,0x00,}},
+ {0x5CF3,2,{0x8D,0x72,0x00,0x00,}},
+ {0x5CF4,2,{0x8D,0x73,0x00,0x00,}},
+ {0x5CF5,2,{0x8D,0x74,0x00,0x00,}},
+ {0x5CF6,2,{0x8D,0x75,0x00,0x00,}},
+ {0x5CF7,2,{0x8D,0x76,0x00,0x00,}},
+ {0x5CF8,2,{0x8D,0x77,0x00,0x00,}},
+ {0x5CF9,2,{0x8D,0x78,0x00,0x00,}},
+ {0x5CFA,2,{0x8D,0x79,0x00,0x00,}},
+ {0x5CFB,2,{0xBE,0xFE,0x00,0x00,}},
+ {0x5CFC,2,{0x8D,0x7A,0x00,0x00,}},
+ {0x5CFD,2,{0x8D,0x7B,0x00,0x00,}},
+ {0x5CFE,2,{0x8D,0x7C,0x00,0x00,}},
+ {0x5CFF,2,{0x8D,0x7D,0x00,0x00,}},
+ {0x5D00,2,{0x8D,0x7E,0x00,0x00,}},
+ {0x5D01,2,{0x8D,0x80,0x00,0x00,}},
+ {0x5D02,2,{0xE1,0xC0,0x00,0x00,}},
+ {0x5D03,2,{0xE1,0xC1,0x00,0x00,}},
+ {0x5D04,2,{0x8D,0x81,0x00,0x00,}},
+ {0x5D05,2,{0x8D,0x82,0x00,0x00,}},
+ {0x5D06,2,{0xE1,0xC7,0x00,0x00,}},
+ {0x5D07,2,{0xB3,0xE7,0x00,0x00,}},
+ {0x5D08,2,{0x8D,0x83,0x00,0x00,}},
+ {0x5D09,2,{0x8D,0x84,0x00,0x00,}},
+ {0x5D0A,2,{0x8D,0x85,0x00,0x00,}},
+ {0x5D0B,2,{0x8D,0x86,0x00,0x00,}},
+ {0x5D0C,2,{0x8D,0x87,0x00,0x00,}},
+ {0x5D0D,2,{0x8D,0x88,0x00,0x00,}},
+ {0x5D0E,2,{0xC6,0xE9,0x00,0x00,}},
+ {0x5D0F,2,{0x8D,0x89,0x00,0x00,}},
+ {0x5D10,2,{0x8D,0x8A,0x00,0x00,}},
+ {0x5D11,2,{0x8D,0x8B,0x00,0x00,}},
+ {0x5D12,2,{0x8D,0x8C,0x00,0x00,}},
+ {0x5D13,2,{0x8D,0x8D,0x00,0x00,}},
+ {0x5D14,2,{0xB4,0xDE,0x00,0x00,}},
+ {0x5D15,2,{0x8D,0x8E,0x00,0x00,}},
+ {0x5D16,2,{0xD1,0xC2,0x00,0x00,}},
+ {0x5D17,2,{0x8D,0x8F,0x00,0x00,}},
+ {0x5D18,2,{0x8D,0x90,0x00,0x00,}},
+ {0x5D19,2,{0x8D,0x91,0x00,0x00,}},
+ {0x5D1A,2,{0x8D,0x92,0x00,0x00,}},
+ {0x5D1B,2,{0xE1,0xC8,0x00,0x00,}},
+ {0x5D1C,2,{0x8D,0x93,0x00,0x00,}},
+ {0x5D1D,2,{0x8D,0x94,0x00,0x00,}},
+ {0x5D1E,2,{0xE1,0xC6,0x00,0x00,}},
+ {0x5D1F,2,{0x8D,0x95,0x00,0x00,}},
+ {0x5D20,2,{0x8D,0x96,0x00,0x00,}},
+ {0x5D21,2,{0x8D,0x97,0x00,0x00,}},
+ {0x5D22,2,{0x8D,0x98,0x00,0x00,}},
+ {0x5D23,2,{0x8D,0x99,0x00,0x00,}},
+ {0x5D24,2,{0xE1,0xC5,0x00,0x00,}},
+ {0x5D25,2,{0x8D,0x9A,0x00,0x00,}},
+ {0x5D26,2,{0xE1,0xC3,0x00,0x00,}},
+ {0x5D27,2,{0xE1,0xC2,0x00,0x00,}},
+ {0x5D28,2,{0x8D,0x9B,0x00,0x00,}},
+ {0x5D29,2,{0xB1,0xC0,0x00,0x00,}},
+ {0x5D2A,2,{0x8D,0x9C,0x00,0x00,}},
+ {0x5D2B,2,{0x8D,0x9D,0x00,0x00,}},
+ {0x5D2C,2,{0x8D,0x9E,0x00,0x00,}},
+ {0x5D2D,2,{0xD5,0xB8,0x00,0x00,}},
+ {0x5D2E,2,{0xE1,0xC4,0x00,0x00,}},
+ {0x5D2F,2,{0x8D,0x9F,0x00,0x00,}},
+ {0x5D30,2,{0x8D,0xA0,0x00,0x00,}},
+ {0x5D31,2,{0x8D,0xA1,0x00,0x00,}},
+ {0x5D32,2,{0x8D,0xA2,0x00,0x00,}},
+ {0x5D33,2,{0x8D,0xA3,0x00,0x00,}},
+ {0x5D34,2,{0xE1,0xCB,0x00,0x00,}},
+ {0x5D35,2,{0x8D,0xA4,0x00,0x00,}},
+ {0x5D36,2,{0x8D,0xA5,0x00,0x00,}},
+ {0x5D37,2,{0x8D,0xA6,0x00,0x00,}},
+ {0x5D38,2,{0x8D,0xA7,0x00,0x00,}},
+ {0x5D39,2,{0x8D,0xA8,0x00,0x00,}},
+ {0x5D3A,2,{0x8D,0xA9,0x00,0x00,}},
+ {0x5D3B,2,{0x8D,0xAA,0x00,0x00,}},
+ {0x5D3C,2,{0x8D,0xAB,0x00,0x00,}},
+ {0x5D3D,2,{0xE1,0xCC,0x00,0x00,}},
+ {0x5D3E,2,{0xE1,0xCA,0x00,0x00,}},
+ {0x5D3F,2,{0x8D,0xAC,0x00,0x00,}},
+ {0x5D40,2,{0x8D,0xAD,0x00,0x00,}},
+ {0x5D41,2,{0x8D,0xAE,0x00,0x00,}},
+ {0x5D42,2,{0x8D,0xAF,0x00,0x00,}},
+ {0x5D43,2,{0x8D,0xB0,0x00,0x00,}},
+ {0x5D44,2,{0x8D,0xB1,0x00,0x00,}},
+ {0x5D45,2,{0x8D,0xB2,0x00,0x00,}},
+ {0x5D46,2,{0x8D,0xB3,0x00,0x00,}},
+ {0x5D47,2,{0xEF,0xFA,0x00,0x00,}},
+ {0x5D48,2,{0x8D,0xB4,0x00,0x00,}},
+ {0x5D49,2,{0x8D,0xB5,0x00,0x00,}},
+ {0x5D4A,2,{0xE1,0xD3,0x00,0x00,}},
+ {0x5D4B,2,{0xE1,0xD2,0x00,0x00,}},
+ {0x5D4C,2,{0xC7,0xB6,0x00,0x00,}},
+ {0x5D4D,2,{0x8D,0xB6,0x00,0x00,}},
+ {0x5D4E,2,{0x8D,0xB7,0x00,0x00,}},
+ {0x5D4F,2,{0x8D,0xB8,0x00,0x00,}},
+ {0x5D50,2,{0x8D,0xB9,0x00,0x00,}},
+ {0x5D51,2,{0x8D,0xBA,0x00,0x00,}},
+ {0x5D52,2,{0x8D,0xBB,0x00,0x00,}},
+ {0x5D53,2,{0x8D,0xBC,0x00,0x00,}},
+ {0x5D54,2,{0x8D,0xBD,0x00,0x00,}},
+ {0x5D55,2,{0x8D,0xBE,0x00,0x00,}},
+ {0x5D56,2,{0x8D,0xBF,0x00,0x00,}},
+ {0x5D57,2,{0x8D,0xC0,0x00,0x00,}},
+ {0x5D58,2,{0xE1,0xC9,0x00,0x00,}},
+ {0x5D59,2,{0x8D,0xC1,0x00,0x00,}},
+ {0x5D5A,2,{0x8D,0xC2,0x00,0x00,}},
+ {0x5D5B,2,{0xE1,0xCE,0x00,0x00,}},
+ {0x5D5C,2,{0x8D,0xC3,0x00,0x00,}},
+ {0x5D5D,2,{0xE1,0xD0,0x00,0x00,}},
+ {0x5D5E,2,{0x8D,0xC4,0x00,0x00,}},
+ {0x5D5F,2,{0x8D,0xC5,0x00,0x00,}},
+ {0x5D60,2,{0x8D,0xC6,0x00,0x00,}},
+ {0x5D61,2,{0x8D,0xC7,0x00,0x00,}},
+ {0x5D62,2,{0x8D,0xC8,0x00,0x00,}},
+ {0x5D63,2,{0x8D,0xC9,0x00,0x00,}},
+ {0x5D64,2,{0x8D,0xCA,0x00,0x00,}},
+ {0x5D65,2,{0x8D,0xCB,0x00,0x00,}},
+ {0x5D66,2,{0x8D,0xCC,0x00,0x00,}},
+ {0x5D67,2,{0x8D,0xCD,0x00,0x00,}},
+ {0x5D68,2,{0x8D,0xCE,0x00,0x00,}},
+ {0x5D69,2,{0xE1,0xD4,0x00,0x00,}},
+ {0x5D6A,2,{0x8D,0xCF,0x00,0x00,}},
+ {0x5D6B,2,{0xE1,0xD1,0x00,0x00,}},
+ {0x5D6C,2,{0xE1,0xCD,0x00,0x00,}},
+ {0x5D6D,2,{0x8D,0xD0,0x00,0x00,}},
+ {0x5D6E,2,{0x8D,0xD1,0x00,0x00,}},
+ {0x5D6F,2,{0xE1,0xCF,0x00,0x00,}},
+ {0x5D70,2,{0x8D,0xD2,0x00,0x00,}},
+ {0x5D71,2,{0x8D,0xD3,0x00,0x00,}},
+ {0x5D72,2,{0x8D,0xD4,0x00,0x00,}},
+ {0x5D73,2,{0x8D,0xD5,0x00,0x00,}},
+ {0x5D74,2,{0xE1,0xD5,0x00,0x00,}},
+ {0x5D75,2,{0x8D,0xD6,0x00,0x00,}},
+ {0x5D76,2,{0x8D,0xD7,0x00,0x00,}},
+ {0x5D77,2,{0x8D,0xD8,0x00,0x00,}},
+ {0x5D78,2,{0x8D,0xD9,0x00,0x00,}},
+ {0x5D79,2,{0x8D,0xDA,0x00,0x00,}},
+ {0x5D7A,2,{0x8D,0xDB,0x00,0x00,}},
+ {0x5D7B,2,{0x8D,0xDC,0x00,0x00,}},
+ {0x5D7C,2,{0x8D,0xDD,0x00,0x00,}},
+ {0x5D7D,2,{0x8D,0xDE,0x00,0x00,}},
+ {0x5D7E,2,{0x8D,0xDF,0x00,0x00,}},
+ {0x5D7F,2,{0x8D,0xE0,0x00,0x00,}},
+ {0x5D80,2,{0x8D,0xE1,0x00,0x00,}},
+ {0x5D81,2,{0x8D,0xE2,0x00,0x00,}},
+ {0x5D82,2,{0xE1,0xD6,0x00,0x00,}},
+ {0x5D83,2,{0x8D,0xE3,0x00,0x00,}},
+ {0x5D84,2,{0x8D,0xE4,0x00,0x00,}},
+ {0x5D85,2,{0x8D,0xE5,0x00,0x00,}},
+ {0x5D86,2,{0x8D,0xE6,0x00,0x00,}},
+ {0x5D87,2,{0x8D,0xE7,0x00,0x00,}},
+ {0x5D88,2,{0x8D,0xE8,0x00,0x00,}},
+ {0x5D89,2,{0x8D,0xE9,0x00,0x00,}},
+ {0x5D8A,2,{0x8D,0xEA,0x00,0x00,}},
+ {0x5D8B,2,{0x8D,0xEB,0x00,0x00,}},
+ {0x5D8C,2,{0x8D,0xEC,0x00,0x00,}},
+ {0x5D8D,2,{0x8D,0xED,0x00,0x00,}},
+ {0x5D8E,2,{0x8D,0xEE,0x00,0x00,}},
+ {0x5D8F,2,{0x8D,0xEF,0x00,0x00,}},
+ {0x5D90,2,{0x8D,0xF0,0x00,0x00,}},
+ {0x5D91,2,{0x8D,0xF1,0x00,0x00,}},
+ {0x5D92,2,{0x8D,0xF2,0x00,0x00,}},
+ {0x5D93,2,{0x8D,0xF3,0x00,0x00,}},
+ {0x5D94,2,{0x8D,0xF4,0x00,0x00,}},
+ {0x5D95,2,{0x8D,0xF5,0x00,0x00,}},
+ {0x5D96,2,{0x8D,0xF6,0x00,0x00,}},
+ {0x5D97,2,{0x8D,0xF7,0x00,0x00,}},
+ {0x5D98,2,{0x8D,0xF8,0x00,0x00,}},
+ {0x5D99,2,{0xE1,0xD7,0x00,0x00,}},
+ {0x5D9A,2,{0x8D,0xF9,0x00,0x00,}},
+ {0x5D9B,2,{0x8D,0xFA,0x00,0x00,}},
+ {0x5D9C,2,{0x8D,0xFB,0x00,0x00,}},
+ {0x5D9D,2,{0xE1,0xD8,0x00,0x00,}},
+ {0x5D9E,2,{0x8D,0xFC,0x00,0x00,}},
+ {0x5D9F,2,{0x8D,0xFD,0x00,0x00,}},
+ {0x5DA0,2,{0x8D,0xFE,0x00,0x00,}},
+ {0x5DA1,2,{0x8E,0x40,0x00,0x00,}},
+ {0x5DA2,2,{0x8E,0x41,0x00,0x00,}},
+ {0x5DA3,2,{0x8E,0x42,0x00,0x00,}},
+ {0x5DA4,2,{0x8E,0x43,0x00,0x00,}},
+ {0x5DA5,2,{0x8E,0x44,0x00,0x00,}},
+ {0x5DA6,2,{0x8E,0x45,0x00,0x00,}},
+ {0x5DA7,2,{0x8E,0x46,0x00,0x00,}},
+ {0x5DA8,2,{0x8E,0x47,0x00,0x00,}},
+ {0x5DA9,2,{0x8E,0x48,0x00,0x00,}},
+ {0x5DAA,2,{0x8E,0x49,0x00,0x00,}},
+ {0x5DAB,2,{0x8E,0x4A,0x00,0x00,}},
+ {0x5DAC,2,{0x8E,0x4B,0x00,0x00,}},
+ {0x5DAD,2,{0x8E,0x4C,0x00,0x00,}},
+ {0x5DAE,2,{0x8E,0x4D,0x00,0x00,}},
+ {0x5DAF,2,{0x8E,0x4E,0x00,0x00,}},
+ {0x5DB0,2,{0x8E,0x4F,0x00,0x00,}},
+ {0x5DB1,2,{0x8E,0x50,0x00,0x00,}},
+ {0x5DB2,2,{0x8E,0x51,0x00,0x00,}},
+ {0x5DB3,2,{0x8E,0x52,0x00,0x00,}},
+ {0x5DB4,2,{0x8E,0x53,0x00,0x00,}},
+ {0x5DB5,2,{0x8E,0x54,0x00,0x00,}},
+ {0x5DB6,2,{0x8E,0x55,0x00,0x00,}},
+ {0x5DB7,2,{0xE1,0xDA,0x00,0x00,}},
+ {0x5DB8,2,{0x8E,0x56,0x00,0x00,}},
+ {0x5DB9,2,{0x8E,0x57,0x00,0x00,}},
+ {0x5DBA,2,{0x8E,0x58,0x00,0x00,}},
+ {0x5DBB,2,{0x8E,0x59,0x00,0x00,}},
+ {0x5DBC,2,{0x8E,0x5A,0x00,0x00,}},
+ {0x5DBD,2,{0x8E,0x5B,0x00,0x00,}},
+ {0x5DBE,2,{0x8E,0x5C,0x00,0x00,}},
+ {0x5DBF,2,{0x8E,0x5D,0x00,0x00,}},
+ {0x5DC0,2,{0x8E,0x5E,0x00,0x00,}},
+ {0x5DC1,2,{0x8E,0x5F,0x00,0x00,}},
+ {0x5DC2,2,{0x8E,0x60,0x00,0x00,}},
+ {0x5DC3,2,{0x8E,0x61,0x00,0x00,}},
+ {0x5DC4,2,{0x8E,0x62,0x00,0x00,}},
+ {0x5DC5,2,{0xE1,0xDB,0x00,0x00,}},
+ {0x5DC6,2,{0x8E,0x63,0x00,0x00,}},
+ {0x5DC7,2,{0x8E,0x64,0x00,0x00,}},
+ {0x5DC8,2,{0x8E,0x65,0x00,0x00,}},
+ {0x5DC9,2,{0x8E,0x66,0x00,0x00,}},
+ {0x5DCA,2,{0x8E,0x67,0x00,0x00,}},
+ {0x5DCB,2,{0x8E,0x68,0x00,0x00,}},
+ {0x5DCC,2,{0x8E,0x69,0x00,0x00,}},
+ {0x5DCD,2,{0xCE,0xA1,0x00,0x00,}},
+ {0x5DCE,2,{0x8E,0x6A,0x00,0x00,}},
+ {0x5DCF,2,{0x8E,0x6B,0x00,0x00,}},
+ {0x5DD0,2,{0x8E,0x6C,0x00,0x00,}},
+ {0x5DD1,2,{0x8E,0x6D,0x00,0x00,}},
+ {0x5DD2,2,{0x8E,0x6E,0x00,0x00,}},
+ {0x5DD3,2,{0x8E,0x6F,0x00,0x00,}},
+ {0x5DD4,2,{0x8E,0x70,0x00,0x00,}},
+ {0x5DD5,2,{0x8E,0x71,0x00,0x00,}},
+ {0x5DD6,2,{0x8E,0x72,0x00,0x00,}},
+ {0x5DD7,2,{0x8E,0x73,0x00,0x00,}},
+ {0x5DD8,2,{0x8E,0x74,0x00,0x00,}},
+ {0x5DD9,2,{0x8E,0x75,0x00,0x00,}},
+ {0x5DDA,2,{0x8E,0x76,0x00,0x00,}},
+ {0x5DDB,2,{0xE7,0xDD,0x00,0x00,}},
+ {0x5DDC,2,{0x8E,0x77,0x00,0x00,}},
+ {0x5DDD,2,{0xB4,0xA8,0x00,0x00,}},
+ {0x5DDE,2,{0xD6,0xDD,0x00,0x00,}},
+ {0x5DDF,2,{0x8E,0x78,0x00,0x00,}},
+ {0x5DE0,2,{0x8E,0x79,0x00,0x00,}},
+ {0x5DE1,2,{0xD1,0xB2,0x00,0x00,}},
+ {0x5DE2,2,{0xB3,0xB2,0x00,0x00,}},
+ {0x5DE3,2,{0x8E,0x7A,0x00,0x00,}},
+ {0x5DE4,2,{0x8E,0x7B,0x00,0x00,}},
+ {0x5DE5,2,{0xB9,0xA4,0x00,0x00,}},
+ {0x5DE6,2,{0xD7,0xF3,0x00,0x00,}},
+ {0x5DE7,2,{0xC7,0xC9,0x00,0x00,}},
+ {0x5DE8,2,{0xBE,0xDE,0x00,0x00,}},
+ {0x5DE9,2,{0xB9,0xAE,0x00,0x00,}},
+ {0x5DEA,2,{0x8E,0x7C,0x00,0x00,}},
+ {0x5DEB,2,{0xCE,0xD7,0x00,0x00,}},
+ {0x5DEC,2,{0x8E,0x7D,0x00,0x00,}},
+ {0x5DED,2,{0x8E,0x7E,0x00,0x00,}},
+ {0x5DEE,2,{0xB2,0xEE,0x00,0x00,}},
+ {0x5DEF,2,{0xDB,0xCF,0x00,0x00,}},
+ {0x5DF0,2,{0x8E,0x80,0x00,0x00,}},
+ {0x5DF1,2,{0xBC,0xBA,0x00,0x00,}},
+ {0x5DF2,2,{0xD2,0xD1,0x00,0x00,}},
+ {0x5DF3,2,{0xCB,0xC8,0x00,0x00,}},
+ {0x5DF4,2,{0xB0,0xCD,0x00,0x00,}},
+ {0x5DF5,2,{0x8E,0x81,0x00,0x00,}},
+ {0x5DF6,2,{0x8E,0x82,0x00,0x00,}},
+ {0x5DF7,2,{0xCF,0xEF,0x00,0x00,}},
+ {0x5DF8,2,{0x8E,0x83,0x00,0x00,}},
+ {0x5DF9,2,{0x8E,0x84,0x00,0x00,}},
+ {0x5DFA,2,{0x8E,0x85,0x00,0x00,}},
+ {0x5DFB,2,{0x8E,0x86,0x00,0x00,}},
+ {0x5DFC,2,{0x8E,0x87,0x00,0x00,}},
+ {0x5DFD,2,{0xD9,0xE3,0x00,0x00,}},
+ {0x5DFE,2,{0xBD,0xED,0x00,0x00,}},
+ {0x5DFF,2,{0x8E,0x88,0x00,0x00,}},
+ {0x5E00,2,{0x8E,0x89,0x00,0x00,}},
+ {0x5E01,2,{0xB1,0xD2,0x00,0x00,}},
+ {0x5E02,2,{0xCA,0xD0,0x00,0x00,}},
+ {0x5E03,2,{0xB2,0xBC,0x00,0x00,}},
+ {0x5E04,2,{0x8E,0x8A,0x00,0x00,}},
+ {0x5E05,2,{0xCB,0xA7,0x00,0x00,}},
+ {0x5E06,2,{0xB7,0xAB,0x00,0x00,}},
+ {0x5E07,2,{0x8E,0x8B,0x00,0x00,}},
+ {0x5E08,2,{0xCA,0xA6,0x00,0x00,}},
+ {0x5E09,2,{0x8E,0x8C,0x00,0x00,}},
+ {0x5E0A,2,{0x8E,0x8D,0x00,0x00,}},
+ {0x5E0B,2,{0x8E,0x8E,0x00,0x00,}},
+ {0x5E0C,2,{0xCF,0xA3,0x00,0x00,}},
+ {0x5E0D,2,{0x8E,0x8F,0x00,0x00,}},
+ {0x5E0E,2,{0x8E,0x90,0x00,0x00,}},
+ {0x5E0F,2,{0xE0,0xF8,0x00,0x00,}},
+ {0x5E10,2,{0xD5,0xCA,0x00,0x00,}},
+ {0x5E11,2,{0xE0,0xFB,0x00,0x00,}},
+ {0x5E12,2,{0x8E,0x91,0x00,0x00,}},
+ {0x5E13,2,{0x8E,0x92,0x00,0x00,}},
+ {0x5E14,2,{0xE0,0xFA,0x00,0x00,}},
+ {0x5E15,2,{0xC5,0xC1,0x00,0x00,}},
+ {0x5E16,2,{0xCC,0xFB,0x00,0x00,}},
+ {0x5E17,2,{0x8E,0x93,0x00,0x00,}},
+ {0x5E18,2,{0xC1,0xB1,0x00,0x00,}},
+ {0x5E19,2,{0xE0,0xF9,0x00,0x00,}},
+ {0x5E1A,2,{0xD6,0xE3,0x00,0x00,}},
+ {0x5E1B,2,{0xB2,0xAF,0x00,0x00,}},
+ {0x5E1C,2,{0xD6,0xC4,0x00,0x00,}},
+ {0x5E1D,2,{0xB5,0xDB,0x00,0x00,}},
+ {0x5E1E,2,{0x8E,0x94,0x00,0x00,}},
+ {0x5E1F,2,{0x8E,0x95,0x00,0x00,}},
+ {0x5E20,2,{0x8E,0x96,0x00,0x00,}},
+ {0x5E21,2,{0x8E,0x97,0x00,0x00,}},
+ {0x5E22,2,{0x8E,0x98,0x00,0x00,}},
+ {0x5E23,2,{0x8E,0x99,0x00,0x00,}},
+ {0x5E24,2,{0x8E,0x9A,0x00,0x00,}},
+ {0x5E25,2,{0x8E,0x9B,0x00,0x00,}},
+ {0x5E26,2,{0xB4,0xF8,0x00,0x00,}},
+ {0x5E27,2,{0xD6,0xA1,0x00,0x00,}},
+ {0x5E28,2,{0x8E,0x9C,0x00,0x00,}},
+ {0x5E29,2,{0x8E,0x9D,0x00,0x00,}},
+ {0x5E2A,2,{0x8E,0x9E,0x00,0x00,}},
+ {0x5E2B,2,{0x8E,0x9F,0x00,0x00,}},
+ {0x5E2C,2,{0x8E,0xA0,0x00,0x00,}},
+ {0x5E2D,2,{0xCF,0xAF,0x00,0x00,}},
+ {0x5E2E,2,{0xB0,0xEF,0x00,0x00,}},
+ {0x5E2F,2,{0x8E,0xA1,0x00,0x00,}},
+ {0x5E30,2,{0x8E,0xA2,0x00,0x00,}},
+ {0x5E31,2,{0xE0,0xFC,0x00,0x00,}},
+ {0x5E32,2,{0x8E,0xA3,0x00,0x00,}},
+ {0x5E33,2,{0x8E,0xA4,0x00,0x00,}},
+ {0x5E34,2,{0x8E,0xA5,0x00,0x00,}},
+ {0x5E35,2,{0x8E,0xA6,0x00,0x00,}},
+ {0x5E36,2,{0x8E,0xA7,0x00,0x00,}},
+ {0x5E37,2,{0xE1,0xA1,0x00,0x00,}},
+ {0x5E38,2,{0xB3,0xA3,0x00,0x00,}},
+ {0x5E39,2,{0x8E,0xA8,0x00,0x00,}},
+ {0x5E3A,2,{0x8E,0xA9,0x00,0x00,}},
+ {0x5E3B,2,{0xE0,0xFD,0x00,0x00,}},
+ {0x5E3C,2,{0xE0,0xFE,0x00,0x00,}},
+ {0x5E3D,2,{0xC3,0xB1,0x00,0x00,}},
+ {0x5E3E,2,{0x8E,0xAA,0x00,0x00,}},
+ {0x5E3F,2,{0x8E,0xAB,0x00,0x00,}},
+ {0x5E40,2,{0x8E,0xAC,0x00,0x00,}},
+ {0x5E41,2,{0x8E,0xAD,0x00,0x00,}},
+ {0x5E42,2,{0xC3,0xDD,0x00,0x00,}},
+ {0x5E43,2,{0x8E,0xAE,0x00,0x00,}},
+ {0x5E44,2,{0xE1,0xA2,0x00,0x00,}},
+ {0x5E45,2,{0xB7,0xF9,0x00,0x00,}},
+ {0x5E46,2,{0x8E,0xAF,0x00,0x00,}},
+ {0x5E47,2,{0x8E,0xB0,0x00,0x00,}},
+ {0x5E48,2,{0x8E,0xB1,0x00,0x00,}},
+ {0x5E49,2,{0x8E,0xB2,0x00,0x00,}},
+ {0x5E4A,2,{0x8E,0xB3,0x00,0x00,}},
+ {0x5E4B,2,{0x8E,0xB4,0x00,0x00,}},
+ {0x5E4C,2,{0xBB,0xCF,0x00,0x00,}},
+ {0x5E4D,2,{0x8E,0xB5,0x00,0x00,}},
+ {0x5E4E,2,{0x8E,0xB6,0x00,0x00,}},
+ {0x5E4F,2,{0x8E,0xB7,0x00,0x00,}},
+ {0x5E50,2,{0x8E,0xB8,0x00,0x00,}},
+ {0x5E51,2,{0x8E,0xB9,0x00,0x00,}},
+ {0x5E52,2,{0x8E,0xBA,0x00,0x00,}},
+ {0x5E53,2,{0x8E,0xBB,0x00,0x00,}},
+ {0x5E54,2,{0xE1,0xA3,0x00,0x00,}},
+ {0x5E55,2,{0xC4,0xBB,0x00,0x00,}},
+ {0x5E56,2,{0x8E,0xBC,0x00,0x00,}},
+ {0x5E57,2,{0x8E,0xBD,0x00,0x00,}},
+ {0x5E58,2,{0x8E,0xBE,0x00,0x00,}},
+ {0x5E59,2,{0x8E,0xBF,0x00,0x00,}},
+ {0x5E5A,2,{0x8E,0xC0,0x00,0x00,}},
+ {0x5E5B,2,{0xE1,0xA4,0x00,0x00,}},
+ {0x5E5C,2,{0x8E,0xC1,0x00,0x00,}},
+ {0x5E5D,2,{0x8E,0xC2,0x00,0x00,}},
+ {0x5E5E,2,{0xE1,0xA5,0x00,0x00,}},
+ {0x5E5F,2,{0x8E,0xC3,0x00,0x00,}},
+ {0x5E60,2,{0x8E,0xC4,0x00,0x00,}},
+ {0x5E61,2,{0xE1,0xA6,0x00,0x00,}},
+ {0x5E62,2,{0xB4,0xB1,0x00,0x00,}},
+ {0x5E63,2,{0x8E,0xC5,0x00,0x00,}},
+ {0x5E64,2,{0x8E,0xC6,0x00,0x00,}},
+ {0x5E65,2,{0x8E,0xC7,0x00,0x00,}},
+ {0x5E66,2,{0x8E,0xC8,0x00,0x00,}},
+ {0x5E67,2,{0x8E,0xC9,0x00,0x00,}},
+ {0x5E68,2,{0x8E,0xCA,0x00,0x00,}},
+ {0x5E69,2,{0x8E,0xCB,0x00,0x00,}},
+ {0x5E6A,2,{0x8E,0xCC,0x00,0x00,}},
+ {0x5E6B,2,{0x8E,0xCD,0x00,0x00,}},
+ {0x5E6C,2,{0x8E,0xCE,0x00,0x00,}},
+ {0x5E6D,2,{0x8E,0xCF,0x00,0x00,}},
+ {0x5E6E,2,{0x8E,0xD0,0x00,0x00,}},
+ {0x5E6F,2,{0x8E,0xD1,0x00,0x00,}},
+ {0x5E70,2,{0x8E,0xD2,0x00,0x00,}},
+ {0x5E71,2,{0x8E,0xD3,0x00,0x00,}},
+ {0x5E72,2,{0xB8,0xC9,0x00,0x00,}},
+ {0x5E73,2,{0xC6,0xBD,0x00,0x00,}},
+ {0x5E74,2,{0xC4,0xEA,0x00,0x00,}},
+ {0x5E75,2,{0x8E,0xD4,0x00,0x00,}},
+ {0x5E76,2,{0xB2,0xA2,0x00,0x00,}},
+ {0x5E77,2,{0x8E,0xD5,0x00,0x00,}},
+ {0x5E78,2,{0xD0,0xD2,0x00,0x00,}},
+ {0x5E79,2,{0x8E,0xD6,0x00,0x00,}},
+ {0x5E7A,2,{0xE7,0xDB,0x00,0x00,}},
+ {0x5E7B,2,{0xBB,0xC3,0x00,0x00,}},
+ {0x5E7C,2,{0xD3,0xD7,0x00,0x00,}},
+ {0x5E7D,2,{0xD3,0xC4,0x00,0x00,}},
+ {0x5E7E,2,{0x8E,0xD7,0x00,0x00,}},
+ {0x5E7F,2,{0xB9,0xE3,0x00,0x00,}},
+ {0x5E80,2,{0xE2,0xCF,0x00,0x00,}},
+ {0x5E81,2,{0x8E,0xD8,0x00,0x00,}},
+ {0x5E82,2,{0x8E,0xD9,0x00,0x00,}},
+ {0x5E83,2,{0x8E,0xDA,0x00,0x00,}},
+ {0x5E84,2,{0xD7,0xAF,0x00,0x00,}},
+ {0x5E85,2,{0x8E,0xDB,0x00,0x00,}},
+ {0x5E86,2,{0xC7,0xEC,0x00,0x00,}},
+ {0x5E87,2,{0xB1,0xD3,0x00,0x00,}},
+ {0x5E88,2,{0x8E,0xDC,0x00,0x00,}},
+ {0x5E89,2,{0x8E,0xDD,0x00,0x00,}},
+ {0x5E8A,2,{0xB4,0xB2,0x00,0x00,}},
+ {0x5E8B,2,{0xE2,0xD1,0x00,0x00,}},
+ {0x5E8C,2,{0x8E,0xDE,0x00,0x00,}},
+ {0x5E8D,2,{0x8E,0xDF,0x00,0x00,}},
+ {0x5E8E,2,{0x8E,0xE0,0x00,0x00,}},
+ {0x5E8F,2,{0xD0,0xF2,0x00,0x00,}},
+ {0x5E90,2,{0xC2,0xAE,0x00,0x00,}},
+ {0x5E91,2,{0xE2,0xD0,0x00,0x00,}},
+ {0x5E92,2,{0x8E,0xE1,0x00,0x00,}},
+ {0x5E93,2,{0xBF,0xE2,0x00,0x00,}},
+ {0x5E94,2,{0xD3,0xA6,0x00,0x00,}},
+ {0x5E95,2,{0xB5,0xD7,0x00,0x00,}},
+ {0x5E96,2,{0xE2,0xD2,0x00,0x00,}},
+ {0x5E97,2,{0xB5,0xEA,0x00,0x00,}},
+ {0x5E98,2,{0x8E,0xE2,0x00,0x00,}},
+ {0x5E99,2,{0xC3,0xED,0x00,0x00,}},
+ {0x5E9A,2,{0xB8,0xFD,0x00,0x00,}},
+ {0x5E9B,2,{0x8E,0xE3,0x00,0x00,}},
+ {0x5E9C,2,{0xB8,0xAE,0x00,0x00,}},
+ {0x5E9D,2,{0x8E,0xE4,0x00,0x00,}},
+ {0x5E9E,2,{0xC5,0xD3,0x00,0x00,}},
+ {0x5E9F,2,{0xB7,0xCF,0x00,0x00,}},
+ {0x5EA0,2,{0xE2,0xD4,0x00,0x00,}},
+ {0x5EA1,2,{0x8E,0xE5,0x00,0x00,}},
+ {0x5EA2,2,{0x8E,0xE6,0x00,0x00,}},
+ {0x5EA3,2,{0x8E,0xE7,0x00,0x00,}},
+ {0x5EA4,2,{0x8E,0xE8,0x00,0x00,}},
+ {0x5EA5,2,{0xE2,0xD3,0x00,0x00,}},
+ {0x5EA6,2,{0xB6,0xC8,0x00,0x00,}},
+ {0x5EA7,2,{0xD7,0xF9,0x00,0x00,}},
+ {0x5EA8,2,{0x8E,0xE9,0x00,0x00,}},
+ {0x5EA9,2,{0x8E,0xEA,0x00,0x00,}},
+ {0x5EAA,2,{0x8E,0xEB,0x00,0x00,}},
+ {0x5EAB,2,{0x8E,0xEC,0x00,0x00,}},
+ {0x5EAC,2,{0x8E,0xED,0x00,0x00,}},
+ {0x5EAD,2,{0xCD,0xA5,0x00,0x00,}},
+ {0x5EAE,2,{0x8E,0xEE,0x00,0x00,}},
+ {0x5EAF,2,{0x8E,0xEF,0x00,0x00,}},
+ {0x5EB0,2,{0x8E,0xF0,0x00,0x00,}},
+ {0x5EB1,2,{0x8E,0xF1,0x00,0x00,}},
+ {0x5EB2,2,{0x8E,0xF2,0x00,0x00,}},
+ {0x5EB3,2,{0xE2,0xD8,0x00,0x00,}},
+ {0x5EB4,2,{0x8E,0xF3,0x00,0x00,}},
+ {0x5EB5,2,{0xE2,0xD6,0x00,0x00,}},
+ {0x5EB6,2,{0xCA,0xFC,0x00,0x00,}},
+ {0x5EB7,2,{0xBF,0xB5,0x00,0x00,}},
+ {0x5EB8,2,{0xD3,0xB9,0x00,0x00,}},
+ {0x5EB9,2,{0xE2,0xD5,0x00,0x00,}},
+ {0x5EBA,2,{0x8E,0xF4,0x00,0x00,}},
+ {0x5EBB,2,{0x8E,0xF5,0x00,0x00,}},
+ {0x5EBC,2,{0x8E,0xF6,0x00,0x00,}},
+ {0x5EBD,2,{0x8E,0xF7,0x00,0x00,}},
+ {0x5EBE,2,{0xE2,0xD7,0x00,0x00,}},
+ {0x5EBF,2,{0x8E,0xF8,0x00,0x00,}},
+ {0x5EC0,2,{0x8E,0xF9,0x00,0x00,}},
+ {0x5EC1,2,{0x8E,0xFA,0x00,0x00,}},
+ {0x5EC2,2,{0x8E,0xFB,0x00,0x00,}},
+ {0x5EC3,2,{0x8E,0xFC,0x00,0x00,}},
+ {0x5EC4,2,{0x8E,0xFD,0x00,0x00,}},
+ {0x5EC5,2,{0x8E,0xFE,0x00,0x00,}},
+ {0x5EC6,2,{0x8F,0x40,0x00,0x00,}},
+ {0x5EC7,2,{0x8F,0x41,0x00,0x00,}},
+ {0x5EC8,2,{0x8F,0x42,0x00,0x00,}},
+ {0x5EC9,2,{0xC1,0xAE,0x00,0x00,}},
+ {0x5ECA,2,{0xC0,0xC8,0x00,0x00,}},
+ {0x5ECB,2,{0x8F,0x43,0x00,0x00,}},
+ {0x5ECC,2,{0x8F,0x44,0x00,0x00,}},
+ {0x5ECD,2,{0x8F,0x45,0x00,0x00,}},
+ {0x5ECE,2,{0x8F,0x46,0x00,0x00,}},
+ {0x5ECF,2,{0x8F,0x47,0x00,0x00,}},
+ {0x5ED0,2,{0x8F,0x48,0x00,0x00,}},
+ {0x5ED1,2,{0xE2,0xDB,0x00,0x00,}},
+ {0x5ED2,2,{0xE2,0xDA,0x00,0x00,}},
+ {0x5ED3,2,{0xC0,0xAA,0x00,0x00,}},
+ {0x5ED4,2,{0x8F,0x49,0x00,0x00,}},
+ {0x5ED5,2,{0x8F,0x4A,0x00,0x00,}},
+ {0x5ED6,2,{0xC1,0xCE,0x00,0x00,}},
+ {0x5ED7,2,{0x8F,0x4B,0x00,0x00,}},
+ {0x5ED8,2,{0x8F,0x4C,0x00,0x00,}},
+ {0x5ED9,2,{0x8F,0x4D,0x00,0x00,}},
+ {0x5EDA,2,{0x8F,0x4E,0x00,0x00,}},
+ {0x5EDB,2,{0xE2,0xDC,0x00,0x00,}},
+ {0x5EDC,2,{0x8F,0x4F,0x00,0x00,}},
+ {0x5EDD,2,{0x8F,0x50,0x00,0x00,}},
+ {0x5EDE,2,{0x8F,0x51,0x00,0x00,}},
+ {0x5EDF,2,{0x8F,0x52,0x00,0x00,}},
+ {0x5EE0,2,{0x8F,0x53,0x00,0x00,}},
+ {0x5EE1,2,{0x8F,0x54,0x00,0x00,}},
+ {0x5EE2,2,{0x8F,0x55,0x00,0x00,}},
+ {0x5EE3,2,{0x8F,0x56,0x00,0x00,}},
+ {0x5EE4,2,{0x8F,0x57,0x00,0x00,}},
+ {0x5EE5,2,{0x8F,0x58,0x00,0x00,}},
+ {0x5EE6,2,{0x8F,0x59,0x00,0x00,}},
+ {0x5EE7,2,{0x8F,0x5A,0x00,0x00,}},
+ {0x5EE8,2,{0xE2,0xDD,0x00,0x00,}},
+ {0x5EE9,2,{0x8F,0x5B,0x00,0x00,}},
+ {0x5EEA,2,{0xE2,0xDE,0x00,0x00,}},
+ {0x5EEB,2,{0x8F,0x5C,0x00,0x00,}},
+ {0x5EEC,2,{0x8F,0x5D,0x00,0x00,}},
+ {0x5EED,2,{0x8F,0x5E,0x00,0x00,}},
+ {0x5EEE,2,{0x8F,0x5F,0x00,0x00,}},
+ {0x5EEF,2,{0x8F,0x60,0x00,0x00,}},
+ {0x5EF0,2,{0x8F,0x61,0x00,0x00,}},
+ {0x5EF1,2,{0x8F,0x62,0x00,0x00,}},
+ {0x5EF2,2,{0x8F,0x63,0x00,0x00,}},
+ {0x5EF3,2,{0x8F,0x64,0x00,0x00,}},
+ {0x5EF4,2,{0xDB,0xC8,0x00,0x00,}},
+ {0x5EF5,2,{0x8F,0x65,0x00,0x00,}},
+ {0x5EF6,2,{0xD1,0xD3,0x00,0x00,}},
+ {0x5EF7,2,{0xCD,0xA2,0x00,0x00,}},
+ {0x5EF8,2,{0x8F,0x66,0x00,0x00,}},
+ {0x5EF9,2,{0x8F,0x67,0x00,0x00,}},
+ {0x5EFA,2,{0xBD,0xA8,0x00,0x00,}},
+ {0x5EFB,2,{0x8F,0x68,0x00,0x00,}},
+ {0x5EFC,2,{0x8F,0x69,0x00,0x00,}},
+ {0x5EFD,2,{0x8F,0x6A,0x00,0x00,}},
+ {0x5EFE,2,{0xDE,0xC3,0x00,0x00,}},
+ {0x5EFF,2,{0xD8,0xA5,0x00,0x00,}},
+ {0x5F00,2,{0xBF,0xAA,0x00,0x00,}},
+ {0x5F01,2,{0xDB,0xCD,0x00,0x00,}},
+ {0x5F02,2,{0xD2,0xEC,0x00,0x00,}},
+ {0x5F03,2,{0xC6,0xFA,0x00,0x00,}},
+ {0x5F04,2,{0xC5,0xAA,0x00,0x00,}},
+ {0x5F05,2,{0x8F,0x6B,0x00,0x00,}},
+ {0x5F06,2,{0x8F,0x6C,0x00,0x00,}},
+ {0x5F07,2,{0x8F,0x6D,0x00,0x00,}},
+ {0x5F08,2,{0xDE,0xC4,0x00,0x00,}},
+ {0x5F09,2,{0x8F,0x6E,0x00,0x00,}},
+ {0x5F0A,2,{0xB1,0xD7,0x00,0x00,}},
+ {0x5F0B,2,{0xDF,0xAE,0x00,0x00,}},
+ {0x5F0C,2,{0x8F,0x6F,0x00,0x00,}},
+ {0x5F0D,2,{0x8F,0x70,0x00,0x00,}},
+ {0x5F0E,2,{0x8F,0x71,0x00,0x00,}},
+ {0x5F0F,2,{0xCA,0xBD,0x00,0x00,}},
+ {0x5F10,2,{0x8F,0x72,0x00,0x00,}},
+ {0x5F11,2,{0xDF,0xB1,0x00,0x00,}},
+ {0x5F12,2,{0x8F,0x73,0x00,0x00,}},
+ {0x5F13,2,{0xB9,0xAD,0x00,0x00,}},
+ {0x5F14,2,{0x8F,0x74,0x00,0x00,}},
+ {0x5F15,2,{0xD2,0xFD,0x00,0x00,}},
+ {0x5F16,2,{0x8F,0x75,0x00,0x00,}},
+ {0x5F17,2,{0xB8,0xA5,0x00,0x00,}},
+ {0x5F18,2,{0xBA,0xEB,0x00,0x00,}},
+ {0x5F19,2,{0x8F,0x76,0x00,0x00,}},
+ {0x5F1A,2,{0x8F,0x77,0x00,0x00,}},
+ {0x5F1B,2,{0xB3,0xDA,0x00,0x00,}},
+ {0x5F1C,2,{0x8F,0x78,0x00,0x00,}},
+ {0x5F1D,2,{0x8F,0x79,0x00,0x00,}},
+ {0x5F1E,2,{0x8F,0x7A,0x00,0x00,}},
+ {0x5F1F,2,{0xB5,0xDC,0x00,0x00,}},
+ {0x5F20,2,{0xD5,0xC5,0x00,0x00,}},
+ {0x5F21,2,{0x8F,0x7B,0x00,0x00,}},
+ {0x5F22,2,{0x8F,0x7C,0x00,0x00,}},
+ {0x5F23,2,{0x8F,0x7D,0x00,0x00,}},
+ {0x5F24,2,{0x8F,0x7E,0x00,0x00,}},
+ {0x5F25,2,{0xC3,0xD6,0x00,0x00,}},
+ {0x5F26,2,{0xCF,0xD2,0x00,0x00,}},
+ {0x5F27,2,{0xBB,0xA1,0x00,0x00,}},
+ {0x5F28,2,{0x8F,0x80,0x00,0x00,}},
+ {0x5F29,2,{0xE5,0xF3,0x00,0x00,}},
+ {0x5F2A,2,{0xE5,0xF2,0x00,0x00,}},
+ {0x5F2B,2,{0x8F,0x81,0x00,0x00,}},
+ {0x5F2C,2,{0x8F,0x82,0x00,0x00,}},
+ {0x5F2D,2,{0xE5,0xF4,0x00,0x00,}},
+ {0x5F2E,2,{0x8F,0x83,0x00,0x00,}},
+ {0x5F2F,2,{0xCD,0xE4,0x00,0x00,}},
+ {0x5F30,2,{0x8F,0x84,0x00,0x00,}},
+ {0x5F31,2,{0xC8,0xF5,0x00,0x00,}},
+ {0x5F32,2,{0x8F,0x85,0x00,0x00,}},
+ {0x5F33,2,{0x8F,0x86,0x00,0x00,}},
+ {0x5F34,2,{0x8F,0x87,0x00,0x00,}},
+ {0x5F35,2,{0x8F,0x88,0x00,0x00,}},
+ {0x5F36,2,{0x8F,0x89,0x00,0x00,}},
+ {0x5F37,2,{0x8F,0x8A,0x00,0x00,}},
+ {0x5F38,2,{0x8F,0x8B,0x00,0x00,}},
+ {0x5F39,2,{0xB5,0xAF,0x00,0x00,}},
+ {0x5F3A,2,{0xC7,0xBF,0x00,0x00,}},
+ {0x5F3B,2,{0x8F,0x8C,0x00,0x00,}},
+ {0x5F3C,2,{0xE5,0xF6,0x00,0x00,}},
+ {0x5F3D,2,{0x8F,0x8D,0x00,0x00,}},
+ {0x5F3E,2,{0x8F,0x8E,0x00,0x00,}},
+ {0x5F3F,2,{0x8F,0x8F,0x00,0x00,}},
+ {0x5F40,2,{0xEC,0xB0,0x00,0x00,}},
+ {0x5F41,2,{0x8F,0x90,0x00,0x00,}},
+ {0x5F42,2,{0x8F,0x91,0x00,0x00,}},
+ {0x5F43,2,{0x8F,0x92,0x00,0x00,}},
+ {0x5F44,2,{0x8F,0x93,0x00,0x00,}},
+ {0x5F45,2,{0x8F,0x94,0x00,0x00,}},
+ {0x5F46,2,{0x8F,0x95,0x00,0x00,}},
+ {0x5F47,2,{0x8F,0x96,0x00,0x00,}},
+ {0x5F48,2,{0x8F,0x97,0x00,0x00,}},
+ {0x5F49,2,{0x8F,0x98,0x00,0x00,}},
+ {0x5F4A,2,{0x8F,0x99,0x00,0x00,}},
+ {0x5F4B,2,{0x8F,0x9A,0x00,0x00,}},
+ {0x5F4C,2,{0x8F,0x9B,0x00,0x00,}},
+ {0x5F4D,2,{0x8F,0x9C,0x00,0x00,}},
+ {0x5F4E,2,{0x8F,0x9D,0x00,0x00,}},
+ {0x5F4F,2,{0x8F,0x9E,0x00,0x00,}},
+ {0x5F50,2,{0xE5,0xE6,0x00,0x00,}},
+ {0x5F51,2,{0x8F,0x9F,0x00,0x00,}},
+ {0x5F52,2,{0xB9,0xE9,0x00,0x00,}},
+ {0x5F53,2,{0xB5,0xB1,0x00,0x00,}},
+ {0x5F54,2,{0x8F,0xA0,0x00,0x00,}},
+ {0x5F55,2,{0xC2,0xBC,0x00,0x00,}},
+ {0x5F56,2,{0xE5,0xE8,0x00,0x00,}},
+ {0x5F57,2,{0xE5,0xE7,0x00,0x00,}},
+ {0x5F58,2,{0xE5,0xE9,0x00,0x00,}},
+ {0x5F59,2,{0x8F,0xA1,0x00,0x00,}},
+ {0x5F5A,2,{0x8F,0xA2,0x00,0x00,}},
+ {0x5F5B,2,{0x8F,0xA3,0x00,0x00,}},
+ {0x5F5C,2,{0x8F,0xA4,0x00,0x00,}},
+ {0x5F5D,2,{0xD2,0xCD,0x00,0x00,}},
+ {0x5F5E,2,{0x8F,0xA5,0x00,0x00,}},
+ {0x5F5F,2,{0x8F,0xA6,0x00,0x00,}},
+ {0x5F60,2,{0x8F,0xA7,0x00,0x00,}},
+ {0x5F61,2,{0xE1,0xEA,0x00,0x00,}},
+ {0x5F62,2,{0xD0,0xCE,0x00,0x00,}},
+ {0x5F63,2,{0x8F,0xA8,0x00,0x00,}},
+ {0x5F64,2,{0xCD,0xAE,0x00,0x00,}},
+ {0x5F65,2,{0x8F,0xA9,0x00,0x00,}},
+ {0x5F66,2,{0xD1,0xE5,0x00,0x00,}},
+ {0x5F67,2,{0x8F,0xAA,0x00,0x00,}},
+ {0x5F68,2,{0x8F,0xAB,0x00,0x00,}},
+ {0x5F69,2,{0xB2,0xCA,0x00,0x00,}},
+ {0x5F6A,2,{0xB1,0xEB,0x00,0x00,}},
+ {0x5F6B,2,{0x8F,0xAC,0x00,0x00,}},
+ {0x5F6C,2,{0xB1,0xF2,0x00,0x00,}},
+ {0x5F6D,2,{0xC5,0xED,0x00,0x00,}},
+ {0x5F6E,2,{0x8F,0xAD,0x00,0x00,}},
+ {0x5F6F,2,{0x8F,0xAE,0x00,0x00,}},
+ {0x5F70,2,{0xD5,0xC3,0x00,0x00,}},
+ {0x5F71,2,{0xD3,0xB0,0x00,0x00,}},
+ {0x5F72,2,{0x8F,0xAF,0x00,0x00,}},
+ {0x5F73,2,{0xE1,0xDC,0x00,0x00,}},
+ {0x5F74,2,{0x8F,0xB0,0x00,0x00,}},
+ {0x5F75,2,{0x8F,0xB1,0x00,0x00,}},
+ {0x5F76,2,{0x8F,0xB2,0x00,0x00,}},
+ {0x5F77,2,{0xE1,0xDD,0x00,0x00,}},
+ {0x5F78,2,{0x8F,0xB3,0x00,0x00,}},
+ {0x5F79,2,{0xD2,0xDB,0x00,0x00,}},
+ {0x5F7A,2,{0x8F,0xB4,0x00,0x00,}},
+ {0x5F7B,2,{0xB3,0xB9,0x00,0x00,}},
+ {0x5F7C,2,{0xB1,0xCB,0x00,0x00,}},
+ {0x5F7D,2,{0x8F,0xB5,0x00,0x00,}},
+ {0x5F7E,2,{0x8F,0xB6,0x00,0x00,}},
+ {0x5F7F,2,{0x8F,0xB7,0x00,0x00,}},
+ {0x5F80,2,{0xCD,0xF9,0x00,0x00,}},
+ {0x5F81,2,{0xD5,0xF7,0x00,0x00,}},
+ {0x5F82,2,{0xE1,0xDE,0x00,0x00,}},
+ {0x5F83,2,{0x8F,0xB8,0x00,0x00,}},
+ {0x5F84,2,{0xBE,0xB6,0x00,0x00,}},
+ {0x5F85,2,{0xB4,0xFD,0x00,0x00,}},
+ {0x5F86,2,{0x8F,0xB9,0x00,0x00,}},
+ {0x5F87,2,{0xE1,0xDF,0x00,0x00,}},
+ {0x5F88,2,{0xBA,0xDC,0x00,0x00,}},
+ {0x5F89,2,{0xE1,0xE0,0x00,0x00,}},
+ {0x5F8A,2,{0xBB,0xB2,0x00,0x00,}},
+ {0x5F8B,2,{0xC2,0xC9,0x00,0x00,}},
+ {0x5F8C,2,{0xE1,0xE1,0x00,0x00,}},
+ {0x5F8D,2,{0x8F,0xBA,0x00,0x00,}},
+ {0x5F8E,2,{0x8F,0xBB,0x00,0x00,}},
+ {0x5F8F,2,{0x8F,0xBC,0x00,0x00,}},
+ {0x5F90,2,{0xD0,0xEC,0x00,0x00,}},
+ {0x5F91,2,{0x8F,0xBD,0x00,0x00,}},
+ {0x5F92,2,{0xCD,0xBD,0x00,0x00,}},
+ {0x5F93,2,{0x8F,0xBE,0x00,0x00,}},
+ {0x5F94,2,{0x8F,0xBF,0x00,0x00,}},
+ {0x5F95,2,{0xE1,0xE2,0x00,0x00,}},
+ {0x5F96,2,{0x8F,0xC0,0x00,0x00,}},
+ {0x5F97,2,{0xB5,0xC3,0x00,0x00,}},
+ {0x5F98,2,{0xC5,0xC7,0x00,0x00,}},
+ {0x5F99,2,{0xE1,0xE3,0x00,0x00,}},
+ {0x5F9A,2,{0x8F,0xC1,0x00,0x00,}},
+ {0x5F9B,2,{0x8F,0xC2,0x00,0x00,}},
+ {0x5F9C,2,{0xE1,0xE4,0x00,0x00,}},
+ {0x5F9D,2,{0x8F,0xC3,0x00,0x00,}},
+ {0x5F9E,2,{0x8F,0xC4,0x00,0x00,}},
+ {0x5F9F,2,{0x8F,0xC5,0x00,0x00,}},
+ {0x5FA0,2,{0x8F,0xC6,0x00,0x00,}},
+ {0x5FA1,2,{0xD3,0xF9,0x00,0x00,}},
+ {0x5FA2,2,{0x8F,0xC7,0x00,0x00,}},
+ {0x5FA3,2,{0x8F,0xC8,0x00,0x00,}},
+ {0x5FA4,2,{0x8F,0xC9,0x00,0x00,}},
+ {0x5FA5,2,{0x8F,0xCA,0x00,0x00,}},
+ {0x5FA6,2,{0x8F,0xCB,0x00,0x00,}},
+ {0x5FA7,2,{0x8F,0xCC,0x00,0x00,}},
+ {0x5FA8,2,{0xE1,0xE5,0x00,0x00,}},
+ {0x5FA9,2,{0x8F,0xCD,0x00,0x00,}},
+ {0x5FAA,2,{0xD1,0xAD,0x00,0x00,}},
+ {0x5FAB,2,{0x8F,0xCE,0x00,0x00,}},
+ {0x5FAC,2,{0x8F,0xCF,0x00,0x00,}},
+ {0x5FAD,2,{0xE1,0xE6,0x00,0x00,}},
+ {0x5FAE,2,{0xCE,0xA2,0x00,0x00,}},
+ {0x5FAF,2,{0x8F,0xD0,0x00,0x00,}},
+ {0x5FB0,2,{0x8F,0xD1,0x00,0x00,}},
+ {0x5FB1,2,{0x8F,0xD2,0x00,0x00,}},
+ {0x5FB2,2,{0x8F,0xD3,0x00,0x00,}},
+ {0x5FB3,2,{0x8F,0xD4,0x00,0x00,}},
+ {0x5FB4,2,{0x8F,0xD5,0x00,0x00,}},
+ {0x5FB5,2,{0xE1,0xE7,0x00,0x00,}},
+ {0x5FB6,2,{0x8F,0xD6,0x00,0x00,}},
+ {0x5FB7,2,{0xB5,0xC2,0x00,0x00,}},
+ {0x5FB8,2,{0x8F,0xD7,0x00,0x00,}},
+ {0x5FB9,2,{0x8F,0xD8,0x00,0x00,}},
+ {0x5FBA,2,{0x8F,0xD9,0x00,0x00,}},
+ {0x5FBB,2,{0x8F,0xDA,0x00,0x00,}},
+ {0x5FBC,2,{0xE1,0xE8,0x00,0x00,}},
+ {0x5FBD,2,{0xBB,0xD5,0x00,0x00,}},
+ {0x5FBE,2,{0x8F,0xDB,0x00,0x00,}},
+ {0x5FBF,2,{0x8F,0xDC,0x00,0x00,}},
+ {0x5FC0,2,{0x8F,0xDD,0x00,0x00,}},
+ {0x5FC1,2,{0x8F,0xDE,0x00,0x00,}},
+ {0x5FC2,2,{0x8F,0xDF,0x00,0x00,}},
+ {0x5FC3,2,{0xD0,0xC4,0x00,0x00,}},
+ {0x5FC4,2,{0xE2,0xE0,0x00,0x00,}},
+ {0x5FC5,2,{0xB1,0xD8,0x00,0x00,}},
+ {0x5FC6,2,{0xD2,0xE4,0x00,0x00,}},
+ {0x5FC7,2,{0x8F,0xE0,0x00,0x00,}},
+ {0x5FC8,2,{0x8F,0xE1,0x00,0x00,}},
+ {0x5FC9,2,{0xE2,0xE1,0x00,0x00,}},
+ {0x5FCA,2,{0x8F,0xE2,0x00,0x00,}},
+ {0x5FCB,2,{0x8F,0xE3,0x00,0x00,}},
+ {0x5FCC,2,{0xBC,0xC9,0x00,0x00,}},
+ {0x5FCD,2,{0xC8,0xCC,0x00,0x00,}},
+ {0x5FCE,2,{0x8F,0xE4,0x00,0x00,}},
+ {0x5FCF,2,{0xE2,0xE3,0x00,0x00,}},
+ {0x5FD0,2,{0xEC,0xFE,0x00,0x00,}},
+ {0x5FD1,2,{0xEC,0xFD,0x00,0x00,}},
+ {0x5FD2,2,{0xDF,0xAF,0x00,0x00,}},
+ {0x5FD3,2,{0x8F,0xE5,0x00,0x00,}},
+ {0x5FD4,2,{0x8F,0xE6,0x00,0x00,}},
+ {0x5FD5,2,{0x8F,0xE7,0x00,0x00,}},
+ {0x5FD6,2,{0xE2,0xE2,0x00,0x00,}},
+ {0x5FD7,2,{0xD6,0xBE,0x00,0x00,}},
+ {0x5FD8,2,{0xCD,0xFC,0x00,0x00,}},
+ {0x5FD9,2,{0xC3,0xA6,0x00,0x00,}},
+ {0x5FDA,2,{0x8F,0xE8,0x00,0x00,}},
+ {0x5FDB,2,{0x8F,0xE9,0x00,0x00,}},
+ {0x5FDC,2,{0x8F,0xEA,0x00,0x00,}},
+ {0x5FDD,2,{0xE3,0xC3,0x00,0x00,}},
+ {0x5FDE,2,{0x8F,0xEB,0x00,0x00,}},
+ {0x5FDF,2,{0x8F,0xEC,0x00,0x00,}},
+ {0x5FE0,2,{0xD6,0xD2,0x00,0x00,}},
+ {0x5FE1,2,{0xE2,0xE7,0x00,0x00,}},
+ {0x5FE2,2,{0x8F,0xED,0x00,0x00,}},
+ {0x5FE3,2,{0x8F,0xEE,0x00,0x00,}},
+ {0x5FE4,2,{0xE2,0xE8,0x00,0x00,}},
+ {0x5FE5,2,{0x8F,0xEF,0x00,0x00,}},
+ {0x5FE6,2,{0x8F,0xF0,0x00,0x00,}},
+ {0x5FE7,2,{0xD3,0xC7,0x00,0x00,}},
+ {0x5FE8,2,{0x8F,0xF1,0x00,0x00,}},
+ {0x5FE9,2,{0x8F,0xF2,0x00,0x00,}},
+ {0x5FEA,2,{0xE2,0xEC,0x00,0x00,}},
+ {0x5FEB,2,{0xBF,0xEC,0x00,0x00,}},
+ {0x5FEC,2,{0x8F,0xF3,0x00,0x00,}},
+ {0x5FED,2,{0xE2,0xED,0x00,0x00,}},
+ {0x5FEE,2,{0xE2,0xE5,0x00,0x00,}},
+ {0x5FEF,2,{0x8F,0xF4,0x00,0x00,}},
+ {0x5FF0,2,{0x8F,0xF5,0x00,0x00,}},
+ {0x5FF1,2,{0xB3,0xC0,0x00,0x00,}},
+ {0x5FF2,2,{0x8F,0xF6,0x00,0x00,}},
+ {0x5FF3,2,{0x8F,0xF7,0x00,0x00,}},
+ {0x5FF4,2,{0x8F,0xF8,0x00,0x00,}},
+ {0x5FF5,2,{0xC4,0xEE,0x00,0x00,}},
+ {0x5FF6,2,{0x8F,0xF9,0x00,0x00,}},
+ {0x5FF7,2,{0x8F,0xFA,0x00,0x00,}},
+ {0x5FF8,2,{0xE2,0xEE,0x00,0x00,}},
+ {0x5FF9,2,{0x8F,0xFB,0x00,0x00,}},
+ {0x5FFA,2,{0x8F,0xFC,0x00,0x00,}},
+ {0x5FFB,2,{0xD0,0xC3,0x00,0x00,}},
+ {0x5FFC,2,{0x8F,0xFD,0x00,0x00,}},
+ {0x5FFD,2,{0xBA,0xF6,0x00,0x00,}},
+ {0x5FFE,2,{0xE2,0xE9,0x00,0x00,}},
+ {0x5FFF,2,{0xB7,0xDE,0x00,0x00,}},
+ {0x6000,2,{0xBB,0xB3,0x00,0x00,}},
+ {0x6001,2,{0xCC,0xAC,0x00,0x00,}},
+ {0x6002,2,{0xCB,0xCB,0x00,0x00,}},
+ {0x6003,2,{0xE2,0xE4,0x00,0x00,}},
+ {0x6004,2,{0xE2,0xE6,0x00,0x00,}},
+ {0x6005,2,{0xE2,0xEA,0x00,0x00,}},
+ {0x6006,2,{0xE2,0xEB,0x00,0x00,}},
+ {0x6007,2,{0x8F,0xFE,0x00,0x00,}},
+ {0x6008,2,{0x90,0x40,0x00,0x00,}},
+ {0x6009,2,{0x90,0x41,0x00,0x00,}},
+ {0x600A,2,{0xE2,0xF7,0x00,0x00,}},
+ {0x600B,2,{0x90,0x42,0x00,0x00,}},
+ {0x600C,2,{0x90,0x43,0x00,0x00,}},
+ {0x600D,2,{0xE2,0xF4,0x00,0x00,}},
+ {0x600E,2,{0xD4,0xF5,0x00,0x00,}},
+ {0x600F,2,{0xE2,0xF3,0x00,0x00,}},
+ {0x6010,2,{0x90,0x44,0x00,0x00,}},
+ {0x6011,2,{0x90,0x45,0x00,0x00,}},
+ {0x6012,2,{0xC5,0xAD,0x00,0x00,}},
+ {0x6013,2,{0x90,0x46,0x00,0x00,}},
+ {0x6014,2,{0xD5,0xFA,0x00,0x00,}},
+ {0x6015,2,{0xC5,0xC2,0x00,0x00,}},
+ {0x6016,2,{0xB2,0xC0,0x00,0x00,}},
+ {0x6017,2,{0x90,0x47,0x00,0x00,}},
+ {0x6018,2,{0x90,0x48,0x00,0x00,}},
+ {0x6019,2,{0xE2,0xEF,0x00,0x00,}},
+ {0x601A,2,{0x90,0x49,0x00,0x00,}},
+ {0x601B,2,{0xE2,0xF2,0x00,0x00,}},
+ {0x601C,2,{0xC1,0xAF,0x00,0x00,}},
+ {0x601D,2,{0xCB,0xBC,0x00,0x00,}},
+ {0x601E,2,{0x90,0x4A,0x00,0x00,}},
+ {0x601F,2,{0x90,0x4B,0x00,0x00,}},
+ {0x6020,2,{0xB5,0xA1,0x00,0x00,}},
+ {0x6021,2,{0xE2,0xF9,0x00,0x00,}},
+ {0x6022,2,{0x90,0x4C,0x00,0x00,}},
+ {0x6023,2,{0x90,0x4D,0x00,0x00,}},
+ {0x6024,2,{0x90,0x4E,0x00,0x00,}},
+ {0x6025,2,{0xBC,0xB1,0x00,0x00,}},
+ {0x6026,2,{0xE2,0xF1,0x00,0x00,}},
+ {0x6027,2,{0xD0,0xD4,0x00,0x00,}},
+ {0x6028,2,{0xD4,0xB9,0x00,0x00,}},
+ {0x6029,2,{0xE2,0xF5,0x00,0x00,}},
+ {0x602A,2,{0xB9,0xD6,0x00,0x00,}},
+ {0x602B,2,{0xE2,0xF6,0x00,0x00,}},
+ {0x602C,2,{0x90,0x4F,0x00,0x00,}},
+ {0x602D,2,{0x90,0x50,0x00,0x00,}},
+ {0x602E,2,{0x90,0x51,0x00,0x00,}},
+ {0x602F,2,{0xC7,0xD3,0x00,0x00,}},
+ {0x6030,2,{0x90,0x52,0x00,0x00,}},
+ {0x6031,2,{0x90,0x53,0x00,0x00,}},
+ {0x6032,2,{0x90,0x54,0x00,0x00,}},
+ {0x6033,2,{0x90,0x55,0x00,0x00,}},
+ {0x6034,2,{0x90,0x56,0x00,0x00,}},
+ {0x6035,2,{0xE2,0xF0,0x00,0x00,}},
+ {0x6036,2,{0x90,0x57,0x00,0x00,}},
+ {0x6037,2,{0x90,0x58,0x00,0x00,}},
+ {0x6038,2,{0x90,0x59,0x00,0x00,}},
+ {0x6039,2,{0x90,0x5A,0x00,0x00,}},
+ {0x603A,2,{0x90,0x5B,0x00,0x00,}},
+ {0x603B,2,{0xD7,0xDC,0x00,0x00,}},
+ {0x603C,2,{0xED,0xA1,0x00,0x00,}},
+ {0x603D,2,{0x90,0x5C,0x00,0x00,}},
+ {0x603E,2,{0x90,0x5D,0x00,0x00,}},
+ {0x603F,2,{0xE2,0xF8,0x00,0x00,}},
+ {0x6040,2,{0x90,0x5E,0x00,0x00,}},
+ {0x6041,2,{0xED,0xA5,0x00,0x00,}},
+ {0x6042,2,{0xE2,0xFE,0x00,0x00,}},
+ {0x6043,2,{0xCA,0xD1,0x00,0x00,}},
+ {0x6044,2,{0x90,0x5F,0x00,0x00,}},
+ {0x6045,2,{0x90,0x60,0x00,0x00,}},
+ {0x6046,2,{0x90,0x61,0x00,0x00,}},
+ {0x6047,2,{0x90,0x62,0x00,0x00,}},
+ {0x6048,2,{0x90,0x63,0x00,0x00,}},
+ {0x6049,2,{0x90,0x64,0x00,0x00,}},
+ {0x604A,2,{0x90,0x65,0x00,0x00,}},
+ {0x604B,2,{0xC1,0xB5,0x00,0x00,}},
+ {0x604C,2,{0x90,0x66,0x00,0x00,}},
+ {0x604D,2,{0xBB,0xD0,0x00,0x00,}},
+ {0x604E,2,{0x90,0x67,0x00,0x00,}},
+ {0x604F,2,{0x90,0x68,0x00,0x00,}},
+ {0x6050,2,{0xBF,0xD6,0x00,0x00,}},
+ {0x6051,2,{0x90,0x69,0x00,0x00,}},
+ {0x6052,2,{0xBA,0xE3,0x00,0x00,}},
+ {0x6053,2,{0x90,0x6A,0x00,0x00,}},
+ {0x6054,2,{0x90,0x6B,0x00,0x00,}},
+ {0x6055,2,{0xCB,0xA1,0x00,0x00,}},
+ {0x6056,2,{0x90,0x6C,0x00,0x00,}},
+ {0x6057,2,{0x90,0x6D,0x00,0x00,}},
+ {0x6058,2,{0x90,0x6E,0x00,0x00,}},
+ {0x6059,2,{0xED,0xA6,0x00,0x00,}},
+ {0x605A,2,{0xED,0xA3,0x00,0x00,}},
+ {0x605B,2,{0x90,0x6F,0x00,0x00,}},
+ {0x605C,2,{0x90,0x70,0x00,0x00,}},
+ {0x605D,2,{0xED,0xA2,0x00,0x00,}},
+ {0x605E,2,{0x90,0x71,0x00,0x00,}},
+ {0x605F,2,{0x90,0x72,0x00,0x00,}},
+ {0x6060,2,{0x90,0x73,0x00,0x00,}},
+ {0x6061,2,{0x90,0x74,0x00,0x00,}},
+ {0x6062,2,{0xBB,0xD6,0x00,0x00,}},
+ {0x6063,2,{0xED,0xA7,0x00,0x00,}},
+ {0x6064,2,{0xD0,0xF4,0x00,0x00,}},
+ {0x6065,2,{0x90,0x75,0x00,0x00,}},
+ {0x6066,2,{0x90,0x76,0x00,0x00,}},
+ {0x6067,2,{0xED,0xA4,0x00,0x00,}},
+ {0x6068,2,{0xBA,0xDE,0x00,0x00,}},
+ {0x6069,2,{0xB6,0xF7,0x00,0x00,}},
+ {0x606A,2,{0xE3,0xA1,0x00,0x00,}},
+ {0x606B,2,{0xB6,0xB2,0x00,0x00,}},
+ {0x606C,2,{0xCC,0xF1,0x00,0x00,}},
+ {0x606D,2,{0xB9,0xA7,0x00,0x00,}},
+ {0x606E,2,{0x90,0x77,0x00,0x00,}},
+ {0x606F,2,{0xCF,0xA2,0x00,0x00,}},
+ {0x6070,2,{0xC7,0xA1,0x00,0x00,}},
+ {0x6071,2,{0x90,0x78,0x00,0x00,}},
+ {0x6072,2,{0x90,0x79,0x00,0x00,}},
+ {0x6073,2,{0xBF,0xD2,0x00,0x00,}},
+ {0x6074,2,{0x90,0x7A,0x00,0x00,}},
+ {0x6075,2,{0x90,0x7B,0x00,0x00,}},
+ {0x6076,2,{0xB6,0xF1,0x00,0x00,}},
+ {0x6077,2,{0x90,0x7C,0x00,0x00,}},
+ {0x6078,2,{0xE2,0xFA,0x00,0x00,}},
+ {0x6079,2,{0xE2,0xFB,0x00,0x00,}},
+ {0x607A,2,{0xE2,0xFD,0x00,0x00,}},
+ {0x607B,2,{0xE2,0xFC,0x00,0x00,}},
+ {0x607C,2,{0xC4,0xD5,0x00,0x00,}},
+ {0x607D,2,{0xE3,0xA2,0x00,0x00,}},
+ {0x607E,2,{0x90,0x7D,0x00,0x00,}},
+ {0x607F,2,{0xD3,0xC1,0x00,0x00,}},
+ {0x6080,2,{0x90,0x7E,0x00,0x00,}},
+ {0x6081,2,{0x90,0x80,0x00,0x00,}},
+ {0x6082,2,{0x90,0x81,0x00,0x00,}},
+ {0x6083,2,{0xE3,0xA7,0x00,0x00,}},
+ {0x6084,2,{0xC7,0xC4,0x00,0x00,}},
+ {0x6085,2,{0x90,0x82,0x00,0x00,}},
+ {0x6086,2,{0x90,0x83,0x00,0x00,}},
+ {0x6087,2,{0x90,0x84,0x00,0x00,}},
+ {0x6088,2,{0x90,0x85,0x00,0x00,}},
+ {0x6089,2,{0xCF,0xA4,0x00,0x00,}},
+ {0x608A,2,{0x90,0x86,0x00,0x00,}},
+ {0x608B,2,{0x90,0x87,0x00,0x00,}},
+ {0x608C,2,{0xE3,0xA9,0x00,0x00,}},
+ {0x608D,2,{0xBA,0xB7,0x00,0x00,}},
+ {0x608E,2,{0x90,0x88,0x00,0x00,}},
+ {0x608F,2,{0x90,0x89,0x00,0x00,}},
+ {0x6090,2,{0x90,0x8A,0x00,0x00,}},
+ {0x6091,2,{0x90,0x8B,0x00,0x00,}},
+ {0x6092,2,{0xE3,0xA8,0x00,0x00,}},
+ {0x6093,2,{0x90,0x8C,0x00,0x00,}},
+ {0x6094,2,{0xBB,0xDA,0x00,0x00,}},
+ {0x6095,2,{0x90,0x8D,0x00,0x00,}},
+ {0x6096,2,{0xE3,0xA3,0x00,0x00,}},
+ {0x6097,2,{0x90,0x8E,0x00,0x00,}},
+ {0x6098,2,{0x90,0x8F,0x00,0x00,}},
+ {0x6099,2,{0x90,0x90,0x00,0x00,}},
+ {0x609A,2,{0xE3,0xA4,0x00,0x00,}},
+ {0x609B,2,{0xE3,0xAA,0x00,0x00,}},
+ {0x609C,2,{0x90,0x91,0x00,0x00,}},
+ {0x609D,2,{0xE3,0xA6,0x00,0x00,}},
+ {0x609E,2,{0x90,0x92,0x00,0x00,}},
+ {0x609F,2,{0xCE,0xF2,0x00,0x00,}},
+ {0x60A0,2,{0xD3,0xC6,0x00,0x00,}},
+ {0x60A1,2,{0x90,0x93,0x00,0x00,}},
+ {0x60A2,2,{0x90,0x94,0x00,0x00,}},
+ {0x60A3,2,{0xBB,0xBC,0x00,0x00,}},
+ {0x60A4,2,{0x90,0x95,0x00,0x00,}},
+ {0x60A5,2,{0x90,0x96,0x00,0x00,}},
+ {0x60A6,2,{0xD4,0xC3,0x00,0x00,}},
+ {0x60A7,2,{0x90,0x97,0x00,0x00,}},
+ {0x60A8,2,{0xC4,0xFA,0x00,0x00,}},
+ {0x60A9,2,{0x90,0x98,0x00,0x00,}},
+ {0x60AA,2,{0x90,0x99,0x00,0x00,}},
+ {0x60AB,2,{0xED,0xA8,0x00,0x00,}},
+ {0x60AC,2,{0xD0,0xFC,0x00,0x00,}},
+ {0x60AD,2,{0xE3,0xA5,0x00,0x00,}},
+ {0x60AE,2,{0x90,0x9A,0x00,0x00,}},
+ {0x60AF,2,{0xC3,0xF5,0x00,0x00,}},
+ {0x60B0,2,{0x90,0x9B,0x00,0x00,}},
+ {0x60B1,2,{0xE3,0xAD,0x00,0x00,}},
+ {0x60B2,2,{0xB1,0xAF,0x00,0x00,}},
+ {0x60B3,2,{0x90,0x9C,0x00,0x00,}},
+ {0x60B4,2,{0xE3,0xB2,0x00,0x00,}},
+ {0x60B5,2,{0x90,0x9D,0x00,0x00,}},
+ {0x60B6,2,{0x90,0x9E,0x00,0x00,}},
+ {0x60B7,2,{0x90,0x9F,0x00,0x00,}},
+ {0x60B8,2,{0xBC,0xC2,0x00,0x00,}},
+ {0x60B9,2,{0x90,0xA0,0x00,0x00,}},
+ {0x60BA,2,{0x90,0xA1,0x00,0x00,}},
+ {0x60BB,2,{0xE3,0xAC,0x00,0x00,}},
+ {0x60BC,2,{0xB5,0xBF,0x00,0x00,}},
+ {0x60BD,2,{0x90,0xA2,0x00,0x00,}},
+ {0x60BE,2,{0x90,0xA3,0x00,0x00,}},
+ {0x60BF,2,{0x90,0xA4,0x00,0x00,}},
+ {0x60C0,2,{0x90,0xA5,0x00,0x00,}},
+ {0x60C1,2,{0x90,0xA6,0x00,0x00,}},
+ {0x60C2,2,{0x90,0xA7,0x00,0x00,}},
+ {0x60C3,2,{0x90,0xA8,0x00,0x00,}},
+ {0x60C4,2,{0x90,0xA9,0x00,0x00,}},
+ {0x60C5,2,{0xC7,0xE9,0x00,0x00,}},
+ {0x60C6,2,{0xE3,0xB0,0x00,0x00,}},
+ {0x60C7,2,{0x90,0xAA,0x00,0x00,}},
+ {0x60C8,2,{0x90,0xAB,0x00,0x00,}},
+ {0x60C9,2,{0x90,0xAC,0x00,0x00,}},
+ {0x60CA,2,{0xBE,0xAA,0x00,0x00,}},
+ {0x60CB,2,{0xCD,0xEF,0x00,0x00,}},
+ {0x60CC,2,{0x90,0xAD,0x00,0x00,}},
+ {0x60CD,2,{0x90,0xAE,0x00,0x00,}},
+ {0x60CE,2,{0x90,0xAF,0x00,0x00,}},
+ {0x60CF,2,{0x90,0xB0,0x00,0x00,}},
+ {0x60D0,2,{0x90,0xB1,0x00,0x00,}},
+ {0x60D1,2,{0xBB,0xF3,0x00,0x00,}},
+ {0x60D2,2,{0x90,0xB2,0x00,0x00,}},
+ {0x60D3,2,{0x90,0xB3,0x00,0x00,}},
+ {0x60D4,2,{0x90,0xB4,0x00,0x00,}},
+ {0x60D5,2,{0xCC,0xE8,0x00,0x00,}},
+ {0x60D6,2,{0x90,0xB5,0x00,0x00,}},
+ {0x60D7,2,{0x90,0xB6,0x00,0x00,}},
+ {0x60D8,2,{0xE3,0xAF,0x00,0x00,}},
+ {0x60D9,2,{0x90,0xB7,0x00,0x00,}},
+ {0x60DA,2,{0xE3,0xB1,0x00,0x00,}},
+ {0x60DB,2,{0x90,0xB8,0x00,0x00,}},
+ {0x60DC,2,{0xCF,0xA7,0x00,0x00,}},
+ {0x60DD,2,{0xE3,0xAE,0x00,0x00,}},
+ {0x60DE,2,{0x90,0xB9,0x00,0x00,}},
+ {0x60DF,2,{0xCE,0xA9,0x00,0x00,}},
+ {0x60E0,2,{0xBB,0xDD,0x00,0x00,}},
+ {0x60E1,2,{0x90,0xBA,0x00,0x00,}},
+ {0x60E2,2,{0x90,0xBB,0x00,0x00,}},
+ {0x60E3,2,{0x90,0xBC,0x00,0x00,}},
+ {0x60E4,2,{0x90,0xBD,0x00,0x00,}},
+ {0x60E5,2,{0x90,0xBE,0x00,0x00,}},
+ {0x60E6,2,{0xB5,0xEB,0x00,0x00,}},
+ {0x60E7,2,{0xBE,0xE5,0x00,0x00,}},
+ {0x60E8,2,{0xB2,0xD2,0x00,0x00,}},
+ {0x60E9,2,{0xB3,0xCD,0x00,0x00,}},
+ {0x60EA,2,{0x90,0xBF,0x00,0x00,}},
+ {0x60EB,2,{0xB1,0xB9,0x00,0x00,}},
+ {0x60EC,2,{0xE3,0xAB,0x00,0x00,}},
+ {0x60ED,2,{0xB2,0xD1,0x00,0x00,}},
+ {0x60EE,2,{0xB5,0xAC,0x00,0x00,}},
+ {0x60EF,2,{0xB9,0xDF,0x00,0x00,}},
+ {0x60F0,2,{0xB6,0xE8,0x00,0x00,}},
+ {0x60F1,2,{0x90,0xC0,0x00,0x00,}},
+ {0x60F2,2,{0x90,0xC1,0x00,0x00,}},
+ {0x60F3,2,{0xCF,0xEB,0x00,0x00,}},
+ {0x60F4,2,{0xE3,0xB7,0x00,0x00,}},
+ {0x60F5,2,{0x90,0xC2,0x00,0x00,}},
+ {0x60F6,2,{0xBB,0xCC,0x00,0x00,}},
+ {0x60F7,2,{0x90,0xC3,0x00,0x00,}},
+ {0x60F8,2,{0x90,0xC4,0x00,0x00,}},
+ {0x60F9,2,{0xC8,0xC7,0x00,0x00,}},
+ {0x60FA,2,{0xD0,0xCA,0x00,0x00,}},
+ {0x60FB,2,{0x90,0xC5,0x00,0x00,}},
+ {0x60FC,2,{0x90,0xC6,0x00,0x00,}},
+ {0x60FD,2,{0x90,0xC7,0x00,0x00,}},
+ {0x60FE,2,{0x90,0xC8,0x00,0x00,}},
+ {0x60FF,2,{0x90,0xC9,0x00,0x00,}},
+ {0x6100,2,{0xE3,0xB8,0x00,0x00,}},
+ {0x6101,2,{0xB3,0xEE,0x00,0x00,}},
+ {0x6102,2,{0x90,0xCA,0x00,0x00,}},
+ {0x6103,2,{0x90,0xCB,0x00,0x00,}},
+ {0x6104,2,{0x90,0xCC,0x00,0x00,}},
+ {0x6105,2,{0x90,0xCD,0x00,0x00,}},
+ {0x6106,2,{0xED,0xA9,0x00,0x00,}},
+ {0x6107,2,{0x90,0xCE,0x00,0x00,}},
+ {0x6108,2,{0xD3,0xFA,0x00,0x00,}},
+ {0x6109,2,{0xD3,0xE4,0x00,0x00,}},
+ {0x610A,2,{0x90,0xCF,0x00,0x00,}},
+ {0x610B,2,{0x90,0xD0,0x00,0x00,}},
+ {0x610C,2,{0x90,0xD1,0x00,0x00,}},
+ {0x610D,2,{0xED,0xAA,0x00,0x00,}},
+ {0x610E,2,{0xE3,0xB9,0x00,0x00,}},
+ {0x610F,2,{0xD2,0xE2,0x00,0x00,}},
+ {0x6110,2,{0x90,0xD2,0x00,0x00,}},
+ {0x6111,2,{0x90,0xD3,0x00,0x00,}},
+ {0x6112,2,{0x90,0xD4,0x00,0x00,}},
+ {0x6113,2,{0x90,0xD5,0x00,0x00,}},
+ {0x6114,2,{0x90,0xD6,0x00,0x00,}},
+ {0x6115,2,{0xE3,0xB5,0x00,0x00,}},
+ {0x6116,2,{0x90,0xD7,0x00,0x00,}},
+ {0x6117,2,{0x90,0xD8,0x00,0x00,}},
+ {0x6118,2,{0x90,0xD9,0x00,0x00,}},
+ {0x6119,2,{0x90,0xDA,0x00,0x00,}},
+ {0x611A,2,{0xD3,0xDE,0x00,0x00,}},
+ {0x611B,2,{0x90,0xDB,0x00,0x00,}},
+ {0x611C,2,{0x90,0xDC,0x00,0x00,}},
+ {0x611D,2,{0x90,0xDD,0x00,0x00,}},
+ {0x611E,2,{0x90,0xDE,0x00,0x00,}},
+ {0x611F,2,{0xB8,0xD0,0x00,0x00,}},
+ {0x6120,2,{0xE3,0xB3,0x00,0x00,}},
+ {0x6121,2,{0x90,0xDF,0x00,0x00,}},
+ {0x6122,2,{0x90,0xE0,0x00,0x00,}},
+ {0x6123,2,{0xE3,0xB6,0x00,0x00,}},
+ {0x6124,2,{0xB7,0xDF,0x00,0x00,}},
+ {0x6125,2,{0x90,0xE1,0x00,0x00,}},
+ {0x6126,2,{0xE3,0xB4,0x00,0x00,}},
+ {0x6127,2,{0xC0,0xA2,0x00,0x00,}},
+ {0x6128,2,{0x90,0xE2,0x00,0x00,}},
+ {0x6129,2,{0x90,0xE3,0x00,0x00,}},
+ {0x612A,2,{0x90,0xE4,0x00,0x00,}},
+ {0x612B,2,{0xE3,0xBA,0x00,0x00,}},
+ {0x612C,2,{0x90,0xE5,0x00,0x00,}},
+ {0x612D,2,{0x90,0xE6,0x00,0x00,}},
+ {0x612E,2,{0x90,0xE7,0x00,0x00,}},
+ {0x612F,2,{0x90,0xE8,0x00,0x00,}},
+ {0x6130,2,{0x90,0xE9,0x00,0x00,}},
+ {0x6131,2,{0x90,0xEA,0x00,0x00,}},
+ {0x6132,2,{0x90,0xEB,0x00,0x00,}},
+ {0x6133,2,{0x90,0xEC,0x00,0x00,}},
+ {0x6134,2,{0x90,0xED,0x00,0x00,}},
+ {0x6135,2,{0x90,0xEE,0x00,0x00,}},
+ {0x6136,2,{0x90,0xEF,0x00,0x00,}},
+ {0x6137,2,{0x90,0xF0,0x00,0x00,}},
+ {0x6138,2,{0x90,0xF1,0x00,0x00,}},
+ {0x6139,2,{0x90,0xF2,0x00,0x00,}},
+ {0x613A,2,{0x90,0xF3,0x00,0x00,}},
+ {0x613B,2,{0x90,0xF4,0x00,0x00,}},
+ {0x613C,2,{0x90,0xF5,0x00,0x00,}},
+ {0x613D,2,{0x90,0xF6,0x00,0x00,}},
+ {0x613E,2,{0x90,0xF7,0x00,0x00,}},
+ {0x613F,2,{0xD4,0xB8,0x00,0x00,}},
+ {0x6140,2,{0x90,0xF8,0x00,0x00,}},
+ {0x6141,2,{0x90,0xF9,0x00,0x00,}},
+ {0x6142,2,{0x90,0xFA,0x00,0x00,}},
+ {0x6143,2,{0x90,0xFB,0x00,0x00,}},
+ {0x6144,2,{0x90,0xFC,0x00,0x00,}},
+ {0x6145,2,{0x90,0xFD,0x00,0x00,}},
+ {0x6146,2,{0x90,0xFE,0x00,0x00,}},
+ {0x6147,2,{0x91,0x40,0x00,0x00,}},
+ {0x6148,2,{0xB4,0xC8,0x00,0x00,}},
+ {0x6149,2,{0x91,0x41,0x00,0x00,}},
+ {0x614A,2,{0xE3,0xBB,0x00,0x00,}},
+ {0x614B,2,{0x91,0x42,0x00,0x00,}},
+ {0x614C,2,{0xBB,0xC5,0x00,0x00,}},
+ {0x614D,2,{0x91,0x43,0x00,0x00,}},
+ {0x614E,2,{0xC9,0xF7,0x00,0x00,}},
+ {0x614F,2,{0x91,0x44,0x00,0x00,}},
+ {0x6150,2,{0x91,0x45,0x00,0x00,}},
+ {0x6151,2,{0xC9,0xE5,0x00,0x00,}},
+ {0x6152,2,{0x91,0x46,0x00,0x00,}},
+ {0x6153,2,{0x91,0x47,0x00,0x00,}},
+ {0x6154,2,{0x91,0x48,0x00,0x00,}},
+ {0x6155,2,{0xC4,0xBD,0x00,0x00,}},
+ {0x6156,2,{0x91,0x49,0x00,0x00,}},
+ {0x6157,2,{0x91,0x4A,0x00,0x00,}},
+ {0x6158,2,{0x91,0x4B,0x00,0x00,}},
+ {0x6159,2,{0x91,0x4C,0x00,0x00,}},
+ {0x615A,2,{0x91,0x4D,0x00,0x00,}},
+ {0x615B,2,{0x91,0x4E,0x00,0x00,}},
+ {0x615C,2,{0x91,0x4F,0x00,0x00,}},
+ {0x615D,2,{0xED,0xAB,0x00,0x00,}},
+ {0x615E,2,{0x91,0x50,0x00,0x00,}},
+ {0x615F,2,{0x91,0x51,0x00,0x00,}},
+ {0x6160,2,{0x91,0x52,0x00,0x00,}},
+ {0x6161,2,{0x91,0x53,0x00,0x00,}},
+ {0x6162,2,{0xC2,0xFD,0x00,0x00,}},
+ {0x6163,2,{0x91,0x54,0x00,0x00,}},
+ {0x6164,2,{0x91,0x55,0x00,0x00,}},
+ {0x6165,2,{0x91,0x56,0x00,0x00,}},
+ {0x6166,2,{0x91,0x57,0x00,0x00,}},
+ {0x6167,2,{0xBB,0xDB,0x00,0x00,}},
+ {0x6168,2,{0xBF,0xAE,0x00,0x00,}},
+ {0x6169,2,{0x91,0x58,0x00,0x00,}},
+ {0x616A,2,{0x91,0x59,0x00,0x00,}},
+ {0x616B,2,{0x91,0x5A,0x00,0x00,}},
+ {0x616C,2,{0x91,0x5B,0x00,0x00,}},
+ {0x616D,2,{0x91,0x5C,0x00,0x00,}},
+ {0x616E,2,{0x91,0x5D,0x00,0x00,}},
+ {0x616F,2,{0x91,0x5E,0x00,0x00,}},
+ {0x6170,2,{0xCE,0xBF,0x00,0x00,}},
+ {0x6171,2,{0x91,0x5F,0x00,0x00,}},
+ {0x6172,2,{0x91,0x60,0x00,0x00,}},
+ {0x6173,2,{0x91,0x61,0x00,0x00,}},
+ {0x6174,2,{0x91,0x62,0x00,0x00,}},
+ {0x6175,2,{0xE3,0xBC,0x00,0x00,}},
+ {0x6176,2,{0x91,0x63,0x00,0x00,}},
+ {0x6177,2,{0xBF,0xB6,0x00,0x00,}},
+ {0x6178,2,{0x91,0x64,0x00,0x00,}},
+ {0x6179,2,{0x91,0x65,0x00,0x00,}},
+ {0x617A,2,{0x91,0x66,0x00,0x00,}},
+ {0x617B,2,{0x91,0x67,0x00,0x00,}},
+ {0x617C,2,{0x91,0x68,0x00,0x00,}},
+ {0x617D,2,{0x91,0x69,0x00,0x00,}},
+ {0x617E,2,{0x91,0x6A,0x00,0x00,}},
+ {0x617F,2,{0x91,0x6B,0x00,0x00,}},
+ {0x6180,2,{0x91,0x6C,0x00,0x00,}},
+ {0x6181,2,{0x91,0x6D,0x00,0x00,}},
+ {0x6182,2,{0x91,0x6E,0x00,0x00,}},
+ {0x6183,2,{0x91,0x6F,0x00,0x00,}},
+ {0x6184,2,{0x91,0x70,0x00,0x00,}},
+ {0x6185,2,{0x91,0x71,0x00,0x00,}},
+ {0x6186,2,{0x91,0x72,0x00,0x00,}},
+ {0x6187,2,{0x91,0x73,0x00,0x00,}},
+ {0x6188,2,{0x91,0x74,0x00,0x00,}},
+ {0x6189,2,{0x91,0x75,0x00,0x00,}},
+ {0x618A,2,{0x91,0x76,0x00,0x00,}},
+ {0x618B,2,{0xB1,0xEF,0x00,0x00,}},
+ {0x618C,2,{0x91,0x77,0x00,0x00,}},
+ {0x618D,2,{0x91,0x78,0x00,0x00,}},
+ {0x618E,2,{0xD4,0xF7,0x00,0x00,}},
+ {0x618F,2,{0x91,0x79,0x00,0x00,}},
+ {0x6190,2,{0x91,0x7A,0x00,0x00,}},
+ {0x6191,2,{0x91,0x7B,0x00,0x00,}},
+ {0x6192,2,{0x91,0x7C,0x00,0x00,}},
+ {0x6193,2,{0x91,0x7D,0x00,0x00,}},
+ {0x6194,2,{0xE3,0xBE,0x00,0x00,}},
+ {0x6195,2,{0x91,0x7E,0x00,0x00,}},
+ {0x6196,2,{0x91,0x80,0x00,0x00,}},
+ {0x6197,2,{0x91,0x81,0x00,0x00,}},
+ {0x6198,2,{0x91,0x82,0x00,0x00,}},
+ {0x6199,2,{0x91,0x83,0x00,0x00,}},
+ {0x619A,2,{0x91,0x84,0x00,0x00,}},
+ {0x619B,2,{0x91,0x85,0x00,0x00,}},
+ {0x619C,2,{0x91,0x86,0x00,0x00,}},
+ {0x619D,2,{0xED,0xAD,0x00,0x00,}},
+ {0x619E,2,{0x91,0x87,0x00,0x00,}},
+ {0x619F,2,{0x91,0x88,0x00,0x00,}},
+ {0x61A0,2,{0x91,0x89,0x00,0x00,}},
+ {0x61A1,2,{0x91,0x8A,0x00,0x00,}},
+ {0x61A2,2,{0x91,0x8B,0x00,0x00,}},
+ {0x61A3,2,{0x91,0x8C,0x00,0x00,}},
+ {0x61A4,2,{0x91,0x8D,0x00,0x00,}},
+ {0x61A5,2,{0x91,0x8E,0x00,0x00,}},
+ {0x61A6,2,{0x91,0x8F,0x00,0x00,}},
+ {0x61A7,2,{0xE3,0xBF,0x00,0x00,}},
+ {0x61A8,2,{0xBA,0xA9,0x00,0x00,}},
+ {0x61A9,2,{0xED,0xAC,0x00,0x00,}},
+ {0x61AA,2,{0x91,0x90,0x00,0x00,}},
+ {0x61AB,2,{0x91,0x91,0x00,0x00,}},
+ {0x61AC,2,{0xE3,0xBD,0x00,0x00,}},
+ {0x61AD,2,{0x91,0x92,0x00,0x00,}},
+ {0x61AE,2,{0x91,0x93,0x00,0x00,}},
+ {0x61AF,2,{0x91,0x94,0x00,0x00,}},
+ {0x61B0,2,{0x91,0x95,0x00,0x00,}},
+ {0x61B1,2,{0x91,0x96,0x00,0x00,}},
+ {0x61B2,2,{0x91,0x97,0x00,0x00,}},
+ {0x61B3,2,{0x91,0x98,0x00,0x00,}},
+ {0x61B4,2,{0x91,0x99,0x00,0x00,}},
+ {0x61B5,2,{0x91,0x9A,0x00,0x00,}},
+ {0x61B6,2,{0x91,0x9B,0x00,0x00,}},
+ {0x61B7,2,{0xE3,0xC0,0x00,0x00,}},
+ {0x61B8,2,{0x91,0x9C,0x00,0x00,}},
+ {0x61B9,2,{0x91,0x9D,0x00,0x00,}},
+ {0x61BA,2,{0x91,0x9E,0x00,0x00,}},
+ {0x61BB,2,{0x91,0x9F,0x00,0x00,}},
+ {0x61BC,2,{0x91,0xA0,0x00,0x00,}},
+ {0x61BD,2,{0x91,0xA1,0x00,0x00,}},
+ {0x61BE,2,{0xBA,0xB6,0x00,0x00,}},
+ {0x61BF,2,{0x91,0xA2,0x00,0x00,}},
+ {0x61C0,2,{0x91,0xA3,0x00,0x00,}},
+ {0x61C1,2,{0x91,0xA4,0x00,0x00,}},
+ {0x61C2,2,{0xB6,0xAE,0x00,0x00,}},
+ {0x61C3,2,{0x91,0xA5,0x00,0x00,}},
+ {0x61C4,2,{0x91,0xA6,0x00,0x00,}},
+ {0x61C5,2,{0x91,0xA7,0x00,0x00,}},
+ {0x61C6,2,{0x91,0xA8,0x00,0x00,}},
+ {0x61C7,2,{0x91,0xA9,0x00,0x00,}},
+ {0x61C8,2,{0xD0,0xB8,0x00,0x00,}},
+ {0x61C9,2,{0x91,0xAA,0x00,0x00,}},
+ {0x61CA,2,{0xB0,0xC3,0x00,0x00,}},
+ {0x61CB,2,{0xED,0xAE,0x00,0x00,}},
+ {0x61CC,2,{0x91,0xAB,0x00,0x00,}},
+ {0x61CD,2,{0x91,0xAC,0x00,0x00,}},
+ {0x61CE,2,{0x91,0xAD,0x00,0x00,}},
+ {0x61CF,2,{0x91,0xAE,0x00,0x00,}},
+ {0x61D0,2,{0x91,0xAF,0x00,0x00,}},
+ {0x61D1,2,{0xED,0xAF,0x00,0x00,}},
+ {0x61D2,2,{0xC0,0xC1,0x00,0x00,}},
+ {0x61D3,2,{0x91,0xB0,0x00,0x00,}},
+ {0x61D4,2,{0xE3,0xC1,0x00,0x00,}},
+ {0x61D5,2,{0x91,0xB1,0x00,0x00,}},
+ {0x61D6,2,{0x91,0xB2,0x00,0x00,}},
+ {0x61D7,2,{0x91,0xB3,0x00,0x00,}},
+ {0x61D8,2,{0x91,0xB4,0x00,0x00,}},
+ {0x61D9,2,{0x91,0xB5,0x00,0x00,}},
+ {0x61DA,2,{0x91,0xB6,0x00,0x00,}},
+ {0x61DB,2,{0x91,0xB7,0x00,0x00,}},
+ {0x61DC,2,{0x91,0xB8,0x00,0x00,}},
+ {0x61DD,2,{0x91,0xB9,0x00,0x00,}},
+ {0x61DE,2,{0x91,0xBA,0x00,0x00,}},
+ {0x61DF,2,{0x91,0xBB,0x00,0x00,}},
+ {0x61E0,2,{0x91,0xBC,0x00,0x00,}},
+ {0x61E1,2,{0x91,0xBD,0x00,0x00,}},
+ {0x61E2,2,{0x91,0xBE,0x00,0x00,}},
+ {0x61E3,2,{0x91,0xBF,0x00,0x00,}},
+ {0x61E4,2,{0x91,0xC0,0x00,0x00,}},
+ {0x61E5,2,{0x91,0xC1,0x00,0x00,}},
+ {0x61E6,2,{0xC5,0xB3,0x00,0x00,}},
+ {0x61E7,2,{0x91,0xC2,0x00,0x00,}},
+ {0x61E8,2,{0x91,0xC3,0x00,0x00,}},
+ {0x61E9,2,{0x91,0xC4,0x00,0x00,}},
+ {0x61EA,2,{0x91,0xC5,0x00,0x00,}},
+ {0x61EB,2,{0x91,0xC6,0x00,0x00,}},
+ {0x61EC,2,{0x91,0xC7,0x00,0x00,}},
+ {0x61ED,2,{0x91,0xC8,0x00,0x00,}},
+ {0x61EE,2,{0x91,0xC9,0x00,0x00,}},
+ {0x61EF,2,{0x91,0xCA,0x00,0x00,}},
+ {0x61F0,2,{0x91,0xCB,0x00,0x00,}},
+ {0x61F1,2,{0x91,0xCC,0x00,0x00,}},
+ {0x61F2,2,{0x91,0xCD,0x00,0x00,}},
+ {0x61F3,2,{0x91,0xCE,0x00,0x00,}},
+ {0x61F4,2,{0x91,0xCF,0x00,0x00,}},
+ {0x61F5,2,{0xE3,0xC2,0x00,0x00,}},
+ {0x61F6,2,{0x91,0xD0,0x00,0x00,}},
+ {0x61F7,2,{0x91,0xD1,0x00,0x00,}},
+ {0x61F8,2,{0x91,0xD2,0x00,0x00,}},
+ {0x61F9,2,{0x91,0xD3,0x00,0x00,}},
+ {0x61FA,2,{0x91,0xD4,0x00,0x00,}},
+ {0x61FB,2,{0x91,0xD5,0x00,0x00,}},
+ {0x61FC,2,{0x91,0xD6,0x00,0x00,}},
+ {0x61FD,2,{0x91,0xD7,0x00,0x00,}},
+ {0x61FE,2,{0x91,0xD8,0x00,0x00,}},
+ {0x61FF,2,{0xDC,0xB2,0x00,0x00,}},
+ {0x6200,2,{0x91,0xD9,0x00,0x00,}},
+ {0x6201,2,{0x91,0xDA,0x00,0x00,}},
+ {0x6202,2,{0x91,0xDB,0x00,0x00,}},
+ {0x6203,2,{0x91,0xDC,0x00,0x00,}},
+ {0x6204,2,{0x91,0xDD,0x00,0x00,}},
+ {0x6205,2,{0x91,0xDE,0x00,0x00,}},
+ {0x6206,2,{0xED,0xB0,0x00,0x00,}},
+ {0x6207,2,{0x91,0xDF,0x00,0x00,}},
+ {0x6208,2,{0xB8,0xEA,0x00,0x00,}},
+ {0x6209,2,{0x91,0xE0,0x00,0x00,}},
+ {0x620A,2,{0xCE,0xEC,0x00,0x00,}},
+ {0x620B,2,{0xEA,0xA7,0x00,0x00,}},
+ {0x620C,2,{0xD0,0xE7,0x00,0x00,}},
+ {0x620D,2,{0xCA,0xF9,0x00,0x00,}},
+ {0x620E,2,{0xC8,0xD6,0x00,0x00,}},
+ {0x620F,2,{0xCF,0xB7,0x00,0x00,}},
+ {0x6210,2,{0xB3,0xC9,0x00,0x00,}},
+ {0x6211,2,{0xCE,0xD2,0x00,0x00,}},
+ {0x6212,2,{0xBD,0xE4,0x00,0x00,}},
+ {0x6213,2,{0x91,0xE1,0x00,0x00,}},
+ {0x6214,2,{0x91,0xE2,0x00,0x00,}},
+ {0x6215,2,{0xE3,0xDE,0x00,0x00,}},
+ {0x6216,2,{0xBB,0xF2,0x00,0x00,}},
+ {0x6217,2,{0xEA,0xA8,0x00,0x00,}},
+ {0x6218,2,{0xD5,0xBD,0x00,0x00,}},
+ {0x6219,2,{0x91,0xE3,0x00,0x00,}},
+ {0x621A,2,{0xC6,0xDD,0x00,0x00,}},
+ {0x621B,2,{0xEA,0xA9,0x00,0x00,}},
+ {0x621C,2,{0x91,0xE4,0x00,0x00,}},
+ {0x621D,2,{0x91,0xE5,0x00,0x00,}},
+ {0x621E,2,{0x91,0xE6,0x00,0x00,}},
+ {0x621F,2,{0xEA,0xAA,0x00,0x00,}},
+ {0x6220,2,{0x91,0xE7,0x00,0x00,}},
+ {0x6221,2,{0xEA,0xAC,0x00,0x00,}},
+ {0x6222,2,{0xEA,0xAB,0x00,0x00,}},
+ {0x6223,2,{0x91,0xE8,0x00,0x00,}},
+ {0x6224,2,{0xEA,0xAE,0x00,0x00,}},
+ {0x6225,2,{0xEA,0xAD,0x00,0x00,}},
+ {0x6226,2,{0x91,0xE9,0x00,0x00,}},
+ {0x6227,2,{0x91,0xEA,0x00,0x00,}},
+ {0x6228,2,{0x91,0xEB,0x00,0x00,}},
+ {0x6229,2,{0x91,0xEC,0x00,0x00,}},
+ {0x622A,2,{0xBD,0xD8,0x00,0x00,}},
+ {0x622B,2,{0x91,0xED,0x00,0x00,}},
+ {0x622C,2,{0xEA,0xAF,0x00,0x00,}},
+ {0x622D,2,{0x91,0xEE,0x00,0x00,}},
+ {0x622E,2,{0xC2,0xBE,0x00,0x00,}},
+ {0x622F,2,{0x91,0xEF,0x00,0x00,}},
+ {0x6230,2,{0x91,0xF0,0x00,0x00,}},
+ {0x6231,2,{0x91,0xF1,0x00,0x00,}},
+ {0x6232,2,{0x91,0xF2,0x00,0x00,}},
+ {0x6233,2,{0xB4,0xC1,0x00,0x00,}},
+ {0x6234,2,{0xB4,0xF7,0x00,0x00,}},
+ {0x6235,2,{0x91,0xF3,0x00,0x00,}},
+ {0x6236,2,{0x91,0xF4,0x00,0x00,}},
+ {0x6237,2,{0xBB,0xA7,0x00,0x00,}},
+ {0x6238,2,{0x91,0xF5,0x00,0x00,}},
+ {0x6239,2,{0x91,0xF6,0x00,0x00,}},
+ {0x623A,2,{0x91,0xF7,0x00,0x00,}},
+ {0x623B,2,{0x91,0xF8,0x00,0x00,}},
+ {0x623C,2,{0x91,0xF9,0x00,0x00,}},
+ {0x623D,2,{0xEC,0xE6,0x00,0x00,}},
+ {0x623E,2,{0xEC,0xE5,0x00,0x00,}},
+ {0x623F,2,{0xB7,0xBF,0x00,0x00,}},
+ {0x6240,2,{0xCB,0xF9,0x00,0x00,}},
+ {0x6241,2,{0xB1,0xE2,0x00,0x00,}},
+ {0x6242,2,{0x91,0xFA,0x00,0x00,}},
+ {0x6243,2,{0xEC,0xE7,0x00,0x00,}},
+ {0x6244,2,{0x91,0xFB,0x00,0x00,}},
+ {0x6245,2,{0x91,0xFC,0x00,0x00,}},
+ {0x6246,2,{0x91,0xFD,0x00,0x00,}},
+ {0x6247,2,{0xC9,0xC8,0x00,0x00,}},
+ {0x6248,2,{0xEC,0xE8,0x00,0x00,}},
+ {0x6249,2,{0xEC,0xE9,0x00,0x00,}},
+ {0x624A,2,{0x91,0xFE,0x00,0x00,}},
+ {0x624B,2,{0xCA,0xD6,0x00,0x00,}},
+ {0x624C,2,{0xDE,0xD0,0x00,0x00,}},
+ {0x624D,2,{0xB2,0xC5,0x00,0x00,}},
+ {0x624E,2,{0xD4,0xFA,0x00,0x00,}},
+ {0x624F,2,{0x92,0x40,0x00,0x00,}},
+ {0x6250,2,{0x92,0x41,0x00,0x00,}},
+ {0x6251,2,{0xC6,0xCB,0x00,0x00,}},
+ {0x6252,2,{0xB0,0xC7,0x00,0x00,}},
+ {0x6253,2,{0xB4,0xF2,0x00,0x00,}},
+ {0x6254,2,{0xC8,0xD3,0x00,0x00,}},
+ {0x6255,2,{0x92,0x42,0x00,0x00,}},
+ {0x6256,2,{0x92,0x43,0x00,0x00,}},
+ {0x6257,2,{0x92,0x44,0x00,0x00,}},
+ {0x6258,2,{0xCD,0xD0,0x00,0x00,}},
+ {0x6259,2,{0x92,0x45,0x00,0x00,}},
+ {0x625A,2,{0x92,0x46,0x00,0x00,}},
+ {0x625B,2,{0xBF,0xB8,0x00,0x00,}},
+ {0x625C,2,{0x92,0x47,0x00,0x00,}},
+ {0x625D,2,{0x92,0x48,0x00,0x00,}},
+ {0x625E,2,{0x92,0x49,0x00,0x00,}},
+ {0x625F,2,{0x92,0x4A,0x00,0x00,}},
+ {0x6260,2,{0x92,0x4B,0x00,0x00,}},
+ {0x6261,2,{0x92,0x4C,0x00,0x00,}},
+ {0x6262,2,{0x92,0x4D,0x00,0x00,}},
+ {0x6263,2,{0xBF,0xDB,0x00,0x00,}},
+ {0x6264,2,{0x92,0x4E,0x00,0x00,}},
+ {0x6265,2,{0x92,0x4F,0x00,0x00,}},
+ {0x6266,2,{0xC7,0xA4,0x00,0x00,}},
+ {0x6267,2,{0xD6,0xB4,0x00,0x00,}},
+ {0x6268,2,{0x92,0x50,0x00,0x00,}},
+ {0x6269,2,{0xC0,0xA9,0x00,0x00,}},
+ {0x626A,2,{0xDE,0xD1,0x00,0x00,}},
+ {0x626B,2,{0xC9,0xA8,0x00,0x00,}},
+ {0x626C,2,{0xD1,0xEF,0x00,0x00,}},
+ {0x626D,2,{0xC5,0xA4,0x00,0x00,}},
+ {0x626E,2,{0xB0,0xE7,0x00,0x00,}},
+ {0x626F,2,{0xB3,0xB6,0x00,0x00,}},
+ {0x6270,2,{0xC8,0xC5,0x00,0x00,}},
+ {0x6271,2,{0x92,0x51,0x00,0x00,}},
+ {0x6272,2,{0x92,0x52,0x00,0x00,}},
+ {0x6273,2,{0xB0,0xE2,0x00,0x00,}},
+ {0x6274,2,{0x92,0x53,0x00,0x00,}},
+ {0x6275,2,{0x92,0x54,0x00,0x00,}},
+ {0x6276,2,{0xB7,0xF6,0x00,0x00,}},
+ {0x6277,2,{0x92,0x55,0x00,0x00,}},
+ {0x6278,2,{0x92,0x56,0x00,0x00,}},
+ {0x6279,2,{0xC5,0xFA,0x00,0x00,}},
+ {0x627A,2,{0x92,0x57,0x00,0x00,}},
+ {0x627B,2,{0x92,0x58,0x00,0x00,}},
+ {0x627C,2,{0xB6,0xF3,0x00,0x00,}},
+ {0x627D,2,{0x92,0x59,0x00,0x00,}},
+ {0x627E,2,{0xD5,0xD2,0x00,0x00,}},
+ {0x627F,2,{0xB3,0xD0,0x00,0x00,}},
+ {0x6280,2,{0xBC,0xBC,0x00,0x00,}},
+ {0x6281,2,{0x92,0x5A,0x00,0x00,}},
+ {0x6282,2,{0x92,0x5B,0x00,0x00,}},
+ {0x6283,2,{0x92,0x5C,0x00,0x00,}},
+ {0x6284,2,{0xB3,0xAD,0x00,0x00,}},
+ {0x6285,2,{0x92,0x5D,0x00,0x00,}},
+ {0x6286,2,{0x92,0x5E,0x00,0x00,}},
+ {0x6287,2,{0x92,0x5F,0x00,0x00,}},
+ {0x6288,2,{0x92,0x60,0x00,0x00,}},
+ {0x6289,2,{0xBE,0xF1,0x00,0x00,}},
+ {0x628A,2,{0xB0,0xD1,0x00,0x00,}},
+ {0x628B,2,{0x92,0x61,0x00,0x00,}},
+ {0x628C,2,{0x92,0x62,0x00,0x00,}},
+ {0x628D,2,{0x92,0x63,0x00,0x00,}},
+ {0x628E,2,{0x92,0x64,0x00,0x00,}},
+ {0x628F,2,{0x92,0x65,0x00,0x00,}},
+ {0x6290,2,{0x92,0x66,0x00,0x00,}},
+ {0x6291,2,{0xD2,0xD6,0x00,0x00,}},
+ {0x6292,2,{0xCA,0xE3,0x00,0x00,}},
+ {0x6293,2,{0xD7,0xA5,0x00,0x00,}},
+ {0x6294,2,{0x92,0x67,0x00,0x00,}},
+ {0x6295,2,{0xCD,0xB6,0x00,0x00,}},
+ {0x6296,2,{0xB6,0xB6,0x00,0x00,}},
+ {0x6297,2,{0xBF,0xB9,0x00,0x00,}},
+ {0x6298,2,{0xD5,0xDB,0x00,0x00,}},
+ {0x6299,2,{0x92,0x68,0x00,0x00,}},
+ {0x629A,2,{0xB8,0xA7,0x00,0x00,}},
+ {0x629B,2,{0xC5,0xD7,0x00,0x00,}},
+ {0x629C,2,{0x92,0x69,0x00,0x00,}},
+ {0x629D,2,{0x92,0x6A,0x00,0x00,}},
+ {0x629E,2,{0x92,0x6B,0x00,0x00,}},
+ {0x629F,2,{0xDE,0xD2,0x00,0x00,}},
+ {0x62A0,2,{0xBF,0xD9,0x00,0x00,}},
+ {0x62A1,2,{0xC2,0xD5,0x00,0x00,}},
+ {0x62A2,2,{0xC7,0xC0,0x00,0x00,}},
+ {0x62A3,2,{0x92,0x6C,0x00,0x00,}},
+ {0x62A4,2,{0xBB,0xA4,0x00,0x00,}},
+ {0x62A5,2,{0xB1,0xA8,0x00,0x00,}},
+ {0x62A6,2,{0x92,0x6D,0x00,0x00,}},
+ {0x62A7,2,{0x92,0x6E,0x00,0x00,}},
+ {0x62A8,2,{0xC5,0xEA,0x00,0x00,}},
+ {0x62A9,2,{0x92,0x6F,0x00,0x00,}},
+ {0x62AA,2,{0x92,0x70,0x00,0x00,}},
+ {0x62AB,2,{0xC5,0xFB,0x00,0x00,}},
+ {0x62AC,2,{0xCC,0xA7,0x00,0x00,}},
+ {0x62AD,2,{0x92,0x71,0x00,0x00,}},
+ {0x62AE,2,{0x92,0x72,0x00,0x00,}},
+ {0x62AF,2,{0x92,0x73,0x00,0x00,}},
+ {0x62B0,2,{0x92,0x74,0x00,0x00,}},
+ {0x62B1,2,{0xB1,0xA7,0x00,0x00,}},
+ {0x62B2,2,{0x92,0x75,0x00,0x00,}},
+ {0x62B3,2,{0x92,0x76,0x00,0x00,}},
+ {0x62B4,2,{0x92,0x77,0x00,0x00,}},
+ {0x62B5,2,{0xB5,0xD6,0x00,0x00,}},
+ {0x62B6,2,{0x92,0x78,0x00,0x00,}},
+ {0x62B7,2,{0x92,0x79,0x00,0x00,}},
+ {0x62B8,2,{0x92,0x7A,0x00,0x00,}},
+ {0x62B9,2,{0xC4,0xA8,0x00,0x00,}},
+ {0x62BA,2,{0x92,0x7B,0x00,0x00,}},
+ {0x62BB,2,{0xDE,0xD3,0x00,0x00,}},
+ {0x62BC,2,{0xD1,0xBA,0x00,0x00,}},
+ {0x62BD,2,{0xB3,0xE9,0x00,0x00,}},
+ {0x62BE,2,{0x92,0x7C,0x00,0x00,}},
+ {0x62BF,2,{0xC3,0xF2,0x00,0x00,}},
+ {0x62C0,2,{0x92,0x7D,0x00,0x00,}},
+ {0x62C1,2,{0x92,0x7E,0x00,0x00,}},
+ {0x62C2,2,{0xB7,0xF7,0x00,0x00,}},
+ {0x62C3,2,{0x92,0x80,0x00,0x00,}},
+ {0x62C4,2,{0xD6,0xF4,0x00,0x00,}},
+ {0x62C5,2,{0xB5,0xA3,0x00,0x00,}},
+ {0x62C6,2,{0xB2,0xF0,0x00,0x00,}},
+ {0x62C7,2,{0xC4,0xB4,0x00,0x00,}},
+ {0x62C8,2,{0xC4,0xE9,0x00,0x00,}},
+ {0x62C9,2,{0xC0,0xAD,0x00,0x00,}},
+ {0x62CA,2,{0xDE,0xD4,0x00,0x00,}},
+ {0x62CB,2,{0x92,0x81,0x00,0x00,}},
+ {0x62CC,2,{0xB0,0xE8,0x00,0x00,}},
+ {0x62CD,2,{0xC5,0xC4,0x00,0x00,}},
+ {0x62CE,2,{0xC1,0xE0,0x00,0x00,}},
+ {0x62CF,2,{0x92,0x82,0x00,0x00,}},
+ {0x62D0,2,{0xB9,0xD5,0x00,0x00,}},
+ {0x62D1,2,{0x92,0x83,0x00,0x00,}},
+ {0x62D2,2,{0xBE,0xDC,0x00,0x00,}},
+ {0x62D3,2,{0xCD,0xD8,0x00,0x00,}},
+ {0x62D4,2,{0xB0,0xCE,0x00,0x00,}},
+ {0x62D5,2,{0x92,0x84,0x00,0x00,}},
+ {0x62D6,2,{0xCD,0xCF,0x00,0x00,}},
+ {0x62D7,2,{0xDE,0xD6,0x00,0x00,}},
+ {0x62D8,2,{0xBE,0xD0,0x00,0x00,}},
+ {0x62D9,2,{0xD7,0xBE,0x00,0x00,}},
+ {0x62DA,2,{0xDE,0xD5,0x00,0x00,}},
+ {0x62DB,2,{0xD5,0xD0,0x00,0x00,}},
+ {0x62DC,2,{0xB0,0xDD,0x00,0x00,}},
+ {0x62DD,2,{0x92,0x85,0x00,0x00,}},
+ {0x62DE,2,{0x92,0x86,0x00,0x00,}},
+ {0x62DF,2,{0xC4,0xE2,0x00,0x00,}},
+ {0x62E0,2,{0x92,0x87,0x00,0x00,}},
+ {0x62E1,2,{0x92,0x88,0x00,0x00,}},
+ {0x62E2,2,{0xC2,0xA3,0x00,0x00,}},
+ {0x62E3,2,{0xBC,0xF0,0x00,0x00,}},
+ {0x62E4,2,{0x92,0x89,0x00,0x00,}},
+ {0x62E5,2,{0xD3,0xB5,0x00,0x00,}},
+ {0x62E6,2,{0xC0,0xB9,0x00,0x00,}},
+ {0x62E7,2,{0xC5,0xA1,0x00,0x00,}},
+ {0x62E8,2,{0xB2,0xA6,0x00,0x00,}},
+ {0x62E9,2,{0xD4,0xF1,0x00,0x00,}},
+ {0x62EA,2,{0x92,0x8A,0x00,0x00,}},
+ {0x62EB,2,{0x92,0x8B,0x00,0x00,}},
+ {0x62EC,2,{0xC0,0xA8,0x00,0x00,}},
+ {0x62ED,2,{0xCA,0xC3,0x00,0x00,}},
+ {0x62EE,2,{0xDE,0xD7,0x00,0x00,}},
+ {0x62EF,2,{0xD5,0xFC,0x00,0x00,}},
+ {0x62F0,2,{0x92,0x8C,0x00,0x00,}},
+ {0x62F1,2,{0xB9,0xB0,0x00,0x00,}},
+ {0x62F2,2,{0x92,0x8D,0x00,0x00,}},
+ {0x62F3,2,{0xC8,0xAD,0x00,0x00,}},
+ {0x62F4,2,{0xCB,0xA9,0x00,0x00,}},
+ {0x62F5,2,{0x92,0x8E,0x00,0x00,}},
+ {0x62F6,2,{0xDE,0xD9,0x00,0x00,}},
+ {0x62F7,2,{0xBF,0xBD,0x00,0x00,}},
+ {0x62F8,2,{0x92,0x8F,0x00,0x00,}},
+ {0x62F9,2,{0x92,0x90,0x00,0x00,}},
+ {0x62FA,2,{0x92,0x91,0x00,0x00,}},
+ {0x62FB,2,{0x92,0x92,0x00,0x00,}},
+ {0x62FC,2,{0xC6,0xB4,0x00,0x00,}},
+ {0x62FD,2,{0xD7,0xA7,0x00,0x00,}},
+ {0x62FE,2,{0xCA,0xB0,0x00,0x00,}},
+ {0x62FF,2,{0xC4,0xC3,0x00,0x00,}},
+ {0x6300,2,{0x92,0x93,0x00,0x00,}},
+ {0x6301,2,{0xB3,0xD6,0x00,0x00,}},
+ {0x6302,2,{0xB9,0xD2,0x00,0x00,}},
+ {0x6303,2,{0x92,0x94,0x00,0x00,}},
+ {0x6304,2,{0x92,0x95,0x00,0x00,}},
+ {0x6305,2,{0x92,0x96,0x00,0x00,}},
+ {0x6306,2,{0x92,0x97,0x00,0x00,}},
+ {0x6307,2,{0xD6,0xB8,0x00,0x00,}},
+ {0x6308,2,{0xEA,0xFC,0x00,0x00,}},
+ {0x6309,2,{0xB0,0xB4,0x00,0x00,}},
+ {0x630A,2,{0x92,0x98,0x00,0x00,}},
+ {0x630B,2,{0x92,0x99,0x00,0x00,}},
+ {0x630C,2,{0x92,0x9A,0x00,0x00,}},
+ {0x630D,2,{0x92,0x9B,0x00,0x00,}},
+ {0x630E,2,{0xBF,0xE6,0x00,0x00,}},
+ {0x630F,2,{0x92,0x9C,0x00,0x00,}},
+ {0x6310,2,{0x92,0x9D,0x00,0x00,}},
+ {0x6311,2,{0xCC,0xF4,0x00,0x00,}},
+ {0x6312,2,{0x92,0x9E,0x00,0x00,}},
+ {0x6313,2,{0x92,0x9F,0x00,0x00,}},
+ {0x6314,2,{0x92,0xA0,0x00,0x00,}},
+ {0x6315,2,{0x92,0xA1,0x00,0x00,}},
+ {0x6316,2,{0xCD,0xDA,0x00,0x00,}},
+ {0x6317,2,{0x92,0xA2,0x00,0x00,}},
+ {0x6318,2,{0x92,0xA3,0x00,0x00,}},
+ {0x6319,2,{0x92,0xA4,0x00,0x00,}},
+ {0x631A,2,{0xD6,0xBF,0x00,0x00,}},
+ {0x631B,2,{0xC2,0xCE,0x00,0x00,}},
+ {0x631C,2,{0x92,0xA5,0x00,0x00,}},
+ {0x631D,2,{0xCE,0xCE,0x00,0x00,}},
+ {0x631E,2,{0xCC,0xA2,0x00,0x00,}},
+ {0x631F,2,{0xD0,0xAE,0x00,0x00,}},
+ {0x6320,2,{0xC4,0xD3,0x00,0x00,}},
+ {0x6321,2,{0xB5,0xB2,0x00,0x00,}},
+ {0x6322,2,{0xDE,0xD8,0x00,0x00,}},
+ {0x6323,2,{0xD5,0xF5,0x00,0x00,}},
+ {0x6324,2,{0xBC,0xB7,0x00,0x00,}},
+ {0x6325,2,{0xBB,0xD3,0x00,0x00,}},
+ {0x6326,2,{0x92,0xA6,0x00,0x00,}},
+ {0x6327,2,{0x92,0xA7,0x00,0x00,}},
+ {0x6328,2,{0xB0,0xA4,0x00,0x00,}},
+ {0x6329,2,{0x92,0xA8,0x00,0x00,}},
+ {0x632A,2,{0xC5,0xB2,0x00,0x00,}},
+ {0x632B,2,{0xB4,0xEC,0x00,0x00,}},
+ {0x632C,2,{0x92,0xA9,0x00,0x00,}},
+ {0x632D,2,{0x92,0xAA,0x00,0x00,}},
+ {0x632E,2,{0x92,0xAB,0x00,0x00,}},
+ {0x632F,2,{0xD5,0xF1,0x00,0x00,}},
+ {0x6330,2,{0x92,0xAC,0x00,0x00,}},
+ {0x6331,2,{0x92,0xAD,0x00,0x00,}},
+ {0x6332,2,{0xEA,0xFD,0x00,0x00,}},
+ {0x6333,2,{0x92,0xAE,0x00,0x00,}},
+ {0x6334,2,{0x92,0xAF,0x00,0x00,}},
+ {0x6335,2,{0x92,0xB0,0x00,0x00,}},
+ {0x6336,2,{0x92,0xB1,0x00,0x00,}},
+ {0x6337,2,{0x92,0xB2,0x00,0x00,}},
+ {0x6338,2,{0x92,0xB3,0x00,0x00,}},
+ {0x6339,2,{0xDE,0xDA,0x00,0x00,}},
+ {0x633A,2,{0xCD,0xA6,0x00,0x00,}},
+ {0x633B,2,{0x92,0xB4,0x00,0x00,}},
+ {0x633C,2,{0x92,0xB5,0x00,0x00,}},
+ {0x633D,2,{0xCD,0xEC,0x00,0x00,}},
+ {0x633E,2,{0x92,0xB6,0x00,0x00,}},
+ {0x633F,2,{0x92,0xB7,0x00,0x00,}},
+ {0x6340,2,{0x92,0xB8,0x00,0x00,}},
+ {0x6341,2,{0x92,0xB9,0x00,0x00,}},
+ {0x6342,2,{0xCE,0xE6,0x00,0x00,}},
+ {0x6343,2,{0xDE,0xDC,0x00,0x00,}},
+ {0x6344,2,{0x92,0xBA,0x00,0x00,}},
+ {0x6345,2,{0xCD,0xB1,0x00,0x00,}},
+ {0x6346,2,{0xC0,0xA6,0x00,0x00,}},
+ {0x6347,2,{0x92,0xBB,0x00,0x00,}},
+ {0x6348,2,{0x92,0xBC,0x00,0x00,}},
+ {0x6349,2,{0xD7,0xBD,0x00,0x00,}},
+ {0x634A,2,{0x92,0xBD,0x00,0x00,}},
+ {0x634B,2,{0xDE,0xDB,0x00,0x00,}},
+ {0x634C,2,{0xB0,0xC6,0x00,0x00,}},
+ {0x634D,2,{0xBA,0xB4,0x00,0x00,}},
+ {0x634E,2,{0xC9,0xD3,0x00,0x00,}},
+ {0x634F,2,{0xC4,0xF3,0x00,0x00,}},
+ {0x6350,2,{0xBE,0xE8,0x00,0x00,}},
+ {0x6351,2,{0x92,0xBE,0x00,0x00,}},
+ {0x6352,2,{0x92,0xBF,0x00,0x00,}},
+ {0x6353,2,{0x92,0xC0,0x00,0x00,}},
+ {0x6354,2,{0x92,0xC1,0x00,0x00,}},
+ {0x6355,2,{0xB2,0xB6,0x00,0x00,}},
+ {0x6356,2,{0x92,0xC2,0x00,0x00,}},
+ {0x6357,2,{0x92,0xC3,0x00,0x00,}},
+ {0x6358,2,{0x92,0xC4,0x00,0x00,}},
+ {0x6359,2,{0x92,0xC5,0x00,0x00,}},
+ {0x635A,2,{0x92,0xC6,0x00,0x00,}},
+ {0x635B,2,{0x92,0xC7,0x00,0x00,}},
+ {0x635C,2,{0x92,0xC8,0x00,0x00,}},
+ {0x635D,2,{0x92,0xC9,0x00,0x00,}},
+ {0x635E,2,{0xC0,0xCC,0x00,0x00,}},
+ {0x635F,2,{0xCB,0xF0,0x00,0x00,}},
+ {0x6360,2,{0x92,0xCA,0x00,0x00,}},
+ {0x6361,2,{0xBC,0xF1,0x00,0x00,}},
+ {0x6362,2,{0xBB,0xBB,0x00,0x00,}},
+ {0x6363,2,{0xB5,0xB7,0x00,0x00,}},
+ {0x6364,2,{0x92,0xCB,0x00,0x00,}},
+ {0x6365,2,{0x92,0xCC,0x00,0x00,}},
+ {0x6366,2,{0x92,0xCD,0x00,0x00,}},
+ {0x6367,2,{0xC5,0xF5,0x00,0x00,}},
+ {0x6368,2,{0x92,0xCE,0x00,0x00,}},
+ {0x6369,2,{0xDE,0xE6,0x00,0x00,}},
+ {0x636A,2,{0x92,0xCF,0x00,0x00,}},
+ {0x636B,2,{0x92,0xD0,0x00,0x00,}},
+ {0x636C,2,{0x92,0xD1,0x00,0x00,}},
+ {0x636D,2,{0xDE,0xE3,0x00,0x00,}},
+ {0x636E,2,{0xBE,0xDD,0x00,0x00,}},
+ {0x636F,2,{0x92,0xD2,0x00,0x00,}},
+ {0x6370,2,{0x92,0xD3,0x00,0x00,}},
+ {0x6371,2,{0xDE,0xDF,0x00,0x00,}},
+ {0x6372,2,{0x92,0xD4,0x00,0x00,}},
+ {0x6373,2,{0x92,0xD5,0x00,0x00,}},
+ {0x6374,2,{0x92,0xD6,0x00,0x00,}},
+ {0x6375,2,{0x92,0xD7,0x00,0x00,}},
+ {0x6376,2,{0xB4,0xB7,0x00,0x00,}},
+ {0x6377,2,{0xBD,0xDD,0x00,0x00,}},
+ {0x6378,2,{0x92,0xD8,0x00,0x00,}},
+ {0x6379,2,{0x92,0xD9,0x00,0x00,}},
+ {0x637A,2,{0xDE,0xE0,0x00,0x00,}},
+ {0x637B,2,{0xC4,0xED,0x00,0x00,}},
+ {0x637C,2,{0x92,0xDA,0x00,0x00,}},
+ {0x637D,2,{0x92,0xDB,0x00,0x00,}},
+ {0x637E,2,{0x92,0xDC,0x00,0x00,}},
+ {0x637F,2,{0x92,0xDD,0x00,0x00,}},
+ {0x6380,2,{0xCF,0xC6,0x00,0x00,}},
+ {0x6381,2,{0x92,0xDE,0x00,0x00,}},
+ {0x6382,2,{0xB5,0xE0,0x00,0x00,}},
+ {0x6383,2,{0x92,0xDF,0x00,0x00,}},
+ {0x6384,2,{0x92,0xE0,0x00,0x00,}},
+ {0x6385,2,{0x92,0xE1,0x00,0x00,}},
+ {0x6386,2,{0x92,0xE2,0x00,0x00,}},
+ {0x6387,2,{0xB6,0xDE,0x00,0x00,}},
+ {0x6388,2,{0xCA,0xDA,0x00,0x00,}},
+ {0x6389,2,{0xB5,0xF4,0x00,0x00,}},
+ {0x638A,2,{0xDE,0xE5,0x00,0x00,}},
+ {0x638B,2,{0x92,0xE3,0x00,0x00,}},
+ {0x638C,2,{0xD5,0xC6,0x00,0x00,}},
+ {0x638D,2,{0x92,0xE4,0x00,0x00,}},
+ {0x638E,2,{0xDE,0xE1,0x00,0x00,}},
+ {0x638F,2,{0xCC,0xCD,0x00,0x00,}},
+ {0x6390,2,{0xC6,0xFE,0x00,0x00,}},
+ {0x6391,2,{0x92,0xE5,0x00,0x00,}},
+ {0x6392,2,{0xC5,0xC5,0x00,0x00,}},
+ {0x6393,2,{0x92,0xE6,0x00,0x00,}},
+ {0x6394,2,{0x92,0xE7,0x00,0x00,}},
+ {0x6395,2,{0x92,0xE8,0x00,0x00,}},
+ {0x6396,2,{0xD2,0xB4,0x00,0x00,}},
+ {0x6397,2,{0x92,0xE9,0x00,0x00,}},
+ {0x6398,2,{0xBE,0xF2,0x00,0x00,}},
+ {0x6399,2,{0x92,0xEA,0x00,0x00,}},
+ {0x639A,2,{0x92,0xEB,0x00,0x00,}},
+ {0x639B,2,{0x92,0xEC,0x00,0x00,}},
+ {0x639C,2,{0x92,0xED,0x00,0x00,}},
+ {0x639D,2,{0x92,0xEE,0x00,0x00,}},
+ {0x639E,2,{0x92,0xEF,0x00,0x00,}},
+ {0x639F,2,{0x92,0xF0,0x00,0x00,}},
+ {0x63A0,2,{0xC2,0xD3,0x00,0x00,}},
+ {0x63A1,2,{0x92,0xF1,0x00,0x00,}},
+ {0x63A2,2,{0xCC,0xBD,0x00,0x00,}},
+ {0x63A3,2,{0xB3,0xB8,0x00,0x00,}},
+ {0x63A4,2,{0x92,0xF2,0x00,0x00,}},
+ {0x63A5,2,{0xBD,0xD3,0x00,0x00,}},
+ {0x63A6,2,{0x92,0xF3,0x00,0x00,}},
+ {0x63A7,2,{0xBF,0xD8,0x00,0x00,}},
+ {0x63A8,2,{0xCD,0xC6,0x00,0x00,}},
+ {0x63A9,2,{0xD1,0xDA,0x00,0x00,}},
+ {0x63AA,2,{0xB4,0xEB,0x00,0x00,}},
+ {0x63AB,2,{0x92,0xF4,0x00,0x00,}},
+ {0x63AC,2,{0xDE,0xE4,0x00,0x00,}},
+ {0x63AD,2,{0xDE,0xDD,0x00,0x00,}},
+ {0x63AE,2,{0xDE,0xE7,0x00,0x00,}},
+ {0x63AF,2,{0x92,0xF5,0x00,0x00,}},
+ {0x63B0,2,{0xEA,0xFE,0x00,0x00,}},
+ {0x63B1,2,{0x92,0xF6,0x00,0x00,}},
+ {0x63B2,2,{0x92,0xF7,0x00,0x00,}},
+ {0x63B3,2,{0xC2,0xB0,0x00,0x00,}},
+ {0x63B4,2,{0xDE,0xE2,0x00,0x00,}},
+ {0x63B5,2,{0x92,0xF8,0x00,0x00,}},
+ {0x63B6,2,{0x92,0xF9,0x00,0x00,}},
+ {0x63B7,2,{0xD6,0xC0,0x00,0x00,}},
+ {0x63B8,2,{0xB5,0xA7,0x00,0x00,}},
+ {0x63B9,2,{0x92,0xFA,0x00,0x00,}},
+ {0x63BA,2,{0xB2,0xF4,0x00,0x00,}},
+ {0x63BB,2,{0x92,0xFB,0x00,0x00,}},
+ {0x63BC,2,{0xDE,0xE8,0x00,0x00,}},
+ {0x63BD,2,{0x92,0xFC,0x00,0x00,}},
+ {0x63BE,2,{0xDE,0xF2,0x00,0x00,}},
+ {0x63BF,2,{0x92,0xFD,0x00,0x00,}},
+ {0x63C0,2,{0x92,0xFE,0x00,0x00,}},
+ {0x63C1,2,{0x93,0x40,0x00,0x00,}},
+ {0x63C2,2,{0x93,0x41,0x00,0x00,}},
+ {0x63C3,2,{0x93,0x42,0x00,0x00,}},
+ {0x63C4,2,{0xDE,0xED,0x00,0x00,}},
+ {0x63C5,2,{0x93,0x43,0x00,0x00,}},
+ {0x63C6,2,{0xDE,0xF1,0x00,0x00,}},
+ {0x63C7,2,{0x93,0x44,0x00,0x00,}},
+ {0x63C8,2,{0x93,0x45,0x00,0x00,}},
+ {0x63C9,2,{0xC8,0xE0,0x00,0x00,}},
+ {0x63CA,2,{0x93,0x46,0x00,0x00,}},
+ {0x63CB,2,{0x93,0x47,0x00,0x00,}},
+ {0x63CC,2,{0x93,0x48,0x00,0x00,}},
+ {0x63CD,2,{0xD7,0xE1,0x00,0x00,}},
+ {0x63CE,2,{0xDE,0xEF,0x00,0x00,}},
+ {0x63CF,2,{0xC3,0xE8,0x00,0x00,}},
+ {0x63D0,2,{0xCC,0xE1,0x00,0x00,}},
+ {0x63D1,2,{0x93,0x49,0x00,0x00,}},
+ {0x63D2,2,{0xB2,0xE5,0x00,0x00,}},
+ {0x63D3,2,{0x93,0x4A,0x00,0x00,}},
+ {0x63D4,2,{0x93,0x4B,0x00,0x00,}},
+ {0x63D5,2,{0x93,0x4C,0x00,0x00,}},
+ {0x63D6,2,{0xD2,0xBE,0x00,0x00,}},
+ {0x63D7,2,{0x93,0x4D,0x00,0x00,}},
+ {0x63D8,2,{0x93,0x4E,0x00,0x00,}},
+ {0x63D9,2,{0x93,0x4F,0x00,0x00,}},
+ {0x63DA,2,{0x93,0x50,0x00,0x00,}},
+ {0x63DB,2,{0x93,0x51,0x00,0x00,}},
+ {0x63DC,2,{0x93,0x52,0x00,0x00,}},
+ {0x63DD,2,{0x93,0x53,0x00,0x00,}},
+ {0x63DE,2,{0xDE,0xEE,0x00,0x00,}},
+ {0x63DF,2,{0x93,0x54,0x00,0x00,}},
+ {0x63E0,2,{0xDE,0xEB,0x00,0x00,}},
+ {0x63E1,2,{0xCE,0xD5,0x00,0x00,}},
+ {0x63E2,2,{0x93,0x55,0x00,0x00,}},
+ {0x63E3,2,{0xB4,0xA7,0x00,0x00,}},
+ {0x63E4,2,{0x93,0x56,0x00,0x00,}},
+ {0x63E5,2,{0x93,0x57,0x00,0x00,}},
+ {0x63E6,2,{0x93,0x58,0x00,0x00,}},
+ {0x63E7,2,{0x93,0x59,0x00,0x00,}},
+ {0x63E8,2,{0x93,0x5A,0x00,0x00,}},
+ {0x63E9,2,{0xBF,0xAB,0x00,0x00,}},
+ {0x63EA,2,{0xBE,0xBE,0x00,0x00,}},
+ {0x63EB,2,{0x93,0x5B,0x00,0x00,}},
+ {0x63EC,2,{0x93,0x5C,0x00,0x00,}},
+ {0x63ED,2,{0xBD,0xD2,0x00,0x00,}},
+ {0x63EE,2,{0x93,0x5D,0x00,0x00,}},
+ {0x63EF,2,{0x93,0x5E,0x00,0x00,}},
+ {0x63F0,2,{0x93,0x5F,0x00,0x00,}},
+ {0x63F1,2,{0x93,0x60,0x00,0x00,}},
+ {0x63F2,2,{0xDE,0xE9,0x00,0x00,}},
+ {0x63F3,2,{0x93,0x61,0x00,0x00,}},
+ {0x63F4,2,{0xD4,0xAE,0x00,0x00,}},
+ {0x63F5,2,{0x93,0x62,0x00,0x00,}},
+ {0x63F6,2,{0xDE,0xDE,0x00,0x00,}},
+ {0x63F7,2,{0x93,0x63,0x00,0x00,}},
+ {0x63F8,2,{0xDE,0xEA,0x00,0x00,}},
+ {0x63F9,2,{0x93,0x64,0x00,0x00,}},
+ {0x63FA,2,{0x93,0x65,0x00,0x00,}},
+ {0x63FB,2,{0x93,0x66,0x00,0x00,}},
+ {0x63FC,2,{0x93,0x67,0x00,0x00,}},
+ {0x63FD,2,{0xC0,0xBF,0x00,0x00,}},
+ {0x63FE,2,{0x93,0x68,0x00,0x00,}},
+ {0x63FF,2,{0xDE,0xEC,0x00,0x00,}},
+ {0x6400,2,{0xB2,0xF3,0x00,0x00,}},
+ {0x6401,2,{0xB8,0xE9,0x00,0x00,}},
+ {0x6402,2,{0xC2,0xA7,0x00,0x00,}},
+ {0x6403,2,{0x93,0x69,0x00,0x00,}},
+ {0x6404,2,{0x93,0x6A,0x00,0x00,}},
+ {0x6405,2,{0xBD,0xC1,0x00,0x00,}},
+ {0x6406,2,{0x93,0x6B,0x00,0x00,}},
+ {0x6407,2,{0x93,0x6C,0x00,0x00,}},
+ {0x6408,2,{0x93,0x6D,0x00,0x00,}},
+ {0x6409,2,{0x93,0x6E,0x00,0x00,}},
+ {0x640A,2,{0x93,0x6F,0x00,0x00,}},
+ {0x640B,2,{0xDE,0xF5,0x00,0x00,}},
+ {0x640C,2,{0xDE,0xF8,0x00,0x00,}},
+ {0x640D,2,{0x93,0x70,0x00,0x00,}},
+ {0x640E,2,{0x93,0x71,0x00,0x00,}},
+ {0x640F,2,{0xB2,0xAB,0x00,0x00,}},
+ {0x6410,2,{0xB4,0xA4,0x00,0x00,}},
+ {0x6411,2,{0x93,0x72,0x00,0x00,}},
+ {0x6412,2,{0x93,0x73,0x00,0x00,}},
+ {0x6413,2,{0xB4,0xEA,0x00,0x00,}},
+ {0x6414,2,{0xC9,0xA6,0x00,0x00,}},
+ {0x6415,2,{0x93,0x74,0x00,0x00,}},
+ {0x6416,2,{0x93,0x75,0x00,0x00,}},
+ {0x6417,2,{0x93,0x76,0x00,0x00,}},
+ {0x6418,2,{0x93,0x77,0x00,0x00,}},
+ {0x6419,2,{0x93,0x78,0x00,0x00,}},
+ {0x641A,2,{0x93,0x79,0x00,0x00,}},
+ {0x641B,2,{0xDE,0xF6,0x00,0x00,}},
+ {0x641C,2,{0xCB,0xD1,0x00,0x00,}},
+ {0x641D,2,{0x93,0x7A,0x00,0x00,}},
+ {0x641E,2,{0xB8,0xE3,0x00,0x00,}},
+ {0x641F,2,{0x93,0x7B,0x00,0x00,}},
+ {0x6420,2,{0xDE,0xF7,0x00,0x00,}},
+ {0x6421,2,{0xDE,0xFA,0x00,0x00,}},
+ {0x6422,2,{0x93,0x7C,0x00,0x00,}},
+ {0x6423,2,{0x93,0x7D,0x00,0x00,}},
+ {0x6424,2,{0x93,0x7E,0x00,0x00,}},
+ {0x6425,2,{0x93,0x80,0x00,0x00,}},
+ {0x6426,2,{0xDE,0xF9,0x00,0x00,}},
+ {0x6427,2,{0x93,0x81,0x00,0x00,}},
+ {0x6428,2,{0x93,0x82,0x00,0x00,}},
+ {0x6429,2,{0x93,0x83,0x00,0x00,}},
+ {0x642A,2,{0xCC,0xC2,0x00,0x00,}},
+ {0x642B,2,{0x93,0x84,0x00,0x00,}},
+ {0x642C,2,{0xB0,0xE1,0x00,0x00,}},
+ {0x642D,2,{0xB4,0xEE,0x00,0x00,}},
+ {0x642E,2,{0x93,0x85,0x00,0x00,}},
+ {0x642F,2,{0x93,0x86,0x00,0x00,}},
+ {0x6430,2,{0x93,0x87,0x00,0x00,}},
+ {0x6431,2,{0x93,0x88,0x00,0x00,}},
+ {0x6432,2,{0x93,0x89,0x00,0x00,}},
+ {0x6433,2,{0x93,0x8A,0x00,0x00,}},
+ {0x6434,2,{0xE5,0xBA,0x00,0x00,}},
+ {0x6435,2,{0x93,0x8B,0x00,0x00,}},
+ {0x6436,2,{0x93,0x8C,0x00,0x00,}},
+ {0x6437,2,{0x93,0x8D,0x00,0x00,}},
+ {0x6438,2,{0x93,0x8E,0x00,0x00,}},
+ {0x6439,2,{0x93,0x8F,0x00,0x00,}},
+ {0x643A,2,{0xD0,0xAF,0x00,0x00,}},
+ {0x643B,2,{0x93,0x90,0x00,0x00,}},
+ {0x643C,2,{0x93,0x91,0x00,0x00,}},
+ {0x643D,2,{0xB2,0xEB,0x00,0x00,}},
+ {0x643E,2,{0x93,0x92,0x00,0x00,}},
+ {0x643F,2,{0xEB,0xA1,0x00,0x00,}},
+ {0x6440,2,{0x93,0x93,0x00,0x00,}},
+ {0x6441,2,{0xDE,0xF4,0x00,0x00,}},
+ {0x6442,2,{0x93,0x94,0x00,0x00,}},
+ {0x6443,2,{0x93,0x95,0x00,0x00,}},
+ {0x6444,2,{0xC9,0xE3,0x00,0x00,}},
+ {0x6445,2,{0xDE,0xF3,0x00,0x00,}},
+ {0x6446,2,{0xB0,0xDA,0x00,0x00,}},
+ {0x6447,2,{0xD2,0xA1,0x00,0x00,}},
+ {0x6448,2,{0xB1,0xF7,0x00,0x00,}},
+ {0x6449,2,{0x93,0x96,0x00,0x00,}},
+ {0x644A,2,{0xCC,0xAF,0x00,0x00,}},
+ {0x644B,2,{0x93,0x97,0x00,0x00,}},
+ {0x644C,2,{0x93,0x98,0x00,0x00,}},
+ {0x644D,2,{0x93,0x99,0x00,0x00,}},
+ {0x644E,2,{0x93,0x9A,0x00,0x00,}},
+ {0x644F,2,{0x93,0x9B,0x00,0x00,}},
+ {0x6450,2,{0x93,0x9C,0x00,0x00,}},
+ {0x6451,2,{0x93,0x9D,0x00,0x00,}},
+ {0x6452,2,{0xDE,0xF0,0x00,0x00,}},
+ {0x6453,2,{0x93,0x9E,0x00,0x00,}},
+ {0x6454,2,{0xCB,0xA4,0x00,0x00,}},
+ {0x6455,2,{0x93,0x9F,0x00,0x00,}},
+ {0x6456,2,{0x93,0xA0,0x00,0x00,}},
+ {0x6457,2,{0x93,0xA1,0x00,0x00,}},
+ {0x6458,2,{0xD5,0xAA,0x00,0x00,}},
+ {0x6459,2,{0x93,0xA2,0x00,0x00,}},
+ {0x645A,2,{0x93,0xA3,0x00,0x00,}},
+ {0x645B,2,{0x93,0xA4,0x00,0x00,}},
+ {0x645C,2,{0x93,0xA5,0x00,0x00,}},
+ {0x645D,2,{0x93,0xA6,0x00,0x00,}},
+ {0x645E,2,{0xDE,0xFB,0x00,0x00,}},
+ {0x645F,2,{0x93,0xA7,0x00,0x00,}},
+ {0x6460,2,{0x93,0xA8,0x00,0x00,}},
+ {0x6461,2,{0x93,0xA9,0x00,0x00,}},
+ {0x6462,2,{0x93,0xAA,0x00,0x00,}},
+ {0x6463,2,{0x93,0xAB,0x00,0x00,}},
+ {0x6464,2,{0x93,0xAC,0x00,0x00,}},
+ {0x6465,2,{0x93,0xAD,0x00,0x00,}},
+ {0x6466,2,{0x93,0xAE,0x00,0x00,}},
+ {0x6467,2,{0xB4,0xDD,0x00,0x00,}},
+ {0x6468,2,{0x93,0xAF,0x00,0x00,}},
+ {0x6469,2,{0xC4,0xA6,0x00,0x00,}},
+ {0x646A,2,{0x93,0xB0,0x00,0x00,}},
+ {0x646B,2,{0x93,0xB1,0x00,0x00,}},
+ {0x646C,2,{0x93,0xB2,0x00,0x00,}},
+ {0x646D,2,{0xDE,0xFD,0x00,0x00,}},
+ {0x646E,2,{0x93,0xB3,0x00,0x00,}},
+ {0x646F,2,{0x93,0xB4,0x00,0x00,}},
+ {0x6470,2,{0x93,0xB5,0x00,0x00,}},
+ {0x6471,2,{0x93,0xB6,0x00,0x00,}},
+ {0x6472,2,{0x93,0xB7,0x00,0x00,}},
+ {0x6473,2,{0x93,0xB8,0x00,0x00,}},
+ {0x6474,2,{0x93,0xB9,0x00,0x00,}},
+ {0x6475,2,{0x93,0xBA,0x00,0x00,}},
+ {0x6476,2,{0x93,0xBB,0x00,0x00,}},
+ {0x6477,2,{0x93,0xBC,0x00,0x00,}},
+ {0x6478,2,{0xC3,0xFE,0x00,0x00,}},
+ {0x6479,2,{0xC4,0xA1,0x00,0x00,}},
+ {0x647A,2,{0xDF,0xA1,0x00,0x00,}},
+ {0x647B,2,{0x93,0xBD,0x00,0x00,}},
+ {0x647C,2,{0x93,0xBE,0x00,0x00,}},
+ {0x647D,2,{0x93,0xBF,0x00,0x00,}},
+ {0x647E,2,{0x93,0xC0,0x00,0x00,}},
+ {0x647F,2,{0x93,0xC1,0x00,0x00,}},
+ {0x6480,2,{0x93,0xC2,0x00,0x00,}},
+ {0x6481,2,{0x93,0xC3,0x00,0x00,}},
+ {0x6482,2,{0xC1,0xCC,0x00,0x00,}},
+ {0x6483,2,{0x93,0xC4,0x00,0x00,}},
+ {0x6484,2,{0xDE,0xFC,0x00,0x00,}},
+ {0x6485,2,{0xBE,0xEF,0x00,0x00,}},
+ {0x6486,2,{0x93,0xC5,0x00,0x00,}},
+ {0x6487,2,{0xC6,0xB2,0x00,0x00,}},
+ {0x6488,2,{0x93,0xC6,0x00,0x00,}},
+ {0x6489,2,{0x93,0xC7,0x00,0x00,}},
+ {0x648A,2,{0x93,0xC8,0x00,0x00,}},
+ {0x648B,2,{0x93,0xC9,0x00,0x00,}},
+ {0x648C,2,{0x93,0xCA,0x00,0x00,}},
+ {0x648D,2,{0x93,0xCB,0x00,0x00,}},
+ {0x648E,2,{0x93,0xCC,0x00,0x00,}},
+ {0x648F,2,{0x93,0xCD,0x00,0x00,}},
+ {0x6490,2,{0x93,0xCE,0x00,0x00,}},
+ {0x6491,2,{0xB3,0xC5,0x00,0x00,}},
+ {0x6492,2,{0xC8,0xF6,0x00,0x00,}},
+ {0x6493,2,{0x93,0xCF,0x00,0x00,}},
+ {0x6494,2,{0x93,0xD0,0x00,0x00,}},
+ {0x6495,2,{0xCB,0xBA,0x00,0x00,}},
+ {0x6496,2,{0xDE,0xFE,0x00,0x00,}},
+ {0x6497,2,{0x93,0xD1,0x00,0x00,}},
+ {0x6498,2,{0x93,0xD2,0x00,0x00,}},
+ {0x6499,2,{0xDF,0xA4,0x00,0x00,}},
+ {0x649A,2,{0x93,0xD3,0x00,0x00,}},
+ {0x649B,2,{0x93,0xD4,0x00,0x00,}},
+ {0x649C,2,{0x93,0xD5,0x00,0x00,}},
+ {0x649D,2,{0x93,0xD6,0x00,0x00,}},
+ {0x649E,2,{0xD7,0xB2,0x00,0x00,}},
+ {0x649F,2,{0x93,0xD7,0x00,0x00,}},
+ {0x64A0,2,{0x93,0xD8,0x00,0x00,}},
+ {0x64A1,2,{0x93,0xD9,0x00,0x00,}},
+ {0x64A2,2,{0x93,0xDA,0x00,0x00,}},
+ {0x64A3,2,{0x93,0xDB,0x00,0x00,}},
+ {0x64A4,2,{0xB3,0xB7,0x00,0x00,}},
+ {0x64A5,2,{0x93,0xDC,0x00,0x00,}},
+ {0x64A6,2,{0x93,0xDD,0x00,0x00,}},
+ {0x64A7,2,{0x93,0xDE,0x00,0x00,}},
+ {0x64A8,2,{0x93,0xDF,0x00,0x00,}},
+ {0x64A9,2,{0xC1,0xC3,0x00,0x00,}},
+ {0x64AA,2,{0x93,0xE0,0x00,0x00,}},
+ {0x64AB,2,{0x93,0xE1,0x00,0x00,}},
+ {0x64AC,2,{0xC7,0xCB,0x00,0x00,}},
+ {0x64AD,2,{0xB2,0xA5,0x00,0x00,}},
+ {0x64AE,2,{0xB4,0xE9,0x00,0x00,}},
+ {0x64AF,2,{0x93,0xE2,0x00,0x00,}},
+ {0x64B0,2,{0xD7,0xAB,0x00,0x00,}},
+ {0x64B1,2,{0x93,0xE3,0x00,0x00,}},
+ {0x64B2,2,{0x93,0xE4,0x00,0x00,}},
+ {0x64B3,2,{0x93,0xE5,0x00,0x00,}},
+ {0x64B4,2,{0x93,0xE6,0x00,0x00,}},
+ {0x64B5,2,{0xC4,0xEC,0x00,0x00,}},
+ {0x64B6,2,{0x93,0xE7,0x00,0x00,}},
+ {0x64B7,2,{0xDF,0xA2,0x00,0x00,}},
+ {0x64B8,2,{0xDF,0xA3,0x00,0x00,}},
+ {0x64B9,2,{0x93,0xE8,0x00,0x00,}},
+ {0x64BA,2,{0xDF,0xA5,0x00,0x00,}},
+ {0x64BB,2,{0x93,0xE9,0x00,0x00,}},
+ {0x64BC,2,{0xBA,0xB3,0x00,0x00,}},
+ {0x64BD,2,{0x93,0xEA,0x00,0x00,}},
+ {0x64BE,2,{0x93,0xEB,0x00,0x00,}},
+ {0x64BF,2,{0x93,0xEC,0x00,0x00,}},
+ {0x64C0,2,{0xDF,0xA6,0x00,0x00,}},
+ {0x64C1,2,{0x93,0xED,0x00,0x00,}},
+ {0x64C2,2,{0xC0,0xDE,0x00,0x00,}},
+ {0x64C3,2,{0x93,0xEE,0x00,0x00,}},
+ {0x64C4,2,{0x93,0xEF,0x00,0x00,}},
+ {0x64C5,2,{0xC9,0xC3,0x00,0x00,}},
+ {0x64C6,2,{0x93,0xF0,0x00,0x00,}},
+ {0x64C7,2,{0x93,0xF1,0x00,0x00,}},
+ {0x64C8,2,{0x93,0xF2,0x00,0x00,}},
+ {0x64C9,2,{0x93,0xF3,0x00,0x00,}},
+ {0x64CA,2,{0x93,0xF4,0x00,0x00,}},
+ {0x64CB,2,{0x93,0xF5,0x00,0x00,}},
+ {0x64CC,2,{0x93,0xF6,0x00,0x00,}},
+ {0x64CD,2,{0xB2,0xD9,0x00,0x00,}},
+ {0x64CE,2,{0xC7,0xE6,0x00,0x00,}},
+ {0x64CF,2,{0x93,0xF7,0x00,0x00,}},
+ {0x64D0,2,{0xDF,0xA7,0x00,0x00,}},
+ {0x64D1,2,{0x93,0xF8,0x00,0x00,}},
+ {0x64D2,2,{0xC7,0xDC,0x00,0x00,}},
+ {0x64D3,2,{0x93,0xF9,0x00,0x00,}},
+ {0x64D4,2,{0x93,0xFA,0x00,0x00,}},
+ {0x64D5,2,{0x93,0xFB,0x00,0x00,}},
+ {0x64D6,2,{0x93,0xFC,0x00,0x00,}},
+ {0x64D7,2,{0xDF,0xA8,0x00,0x00,}},
+ {0x64D8,2,{0xEB,0xA2,0x00,0x00,}},
+ {0x64D9,2,{0x93,0xFD,0x00,0x00,}},
+ {0x64DA,2,{0x93,0xFE,0x00,0x00,}},
+ {0x64DB,2,{0x94,0x40,0x00,0x00,}},
+ {0x64DC,2,{0x94,0x41,0x00,0x00,}},
+ {0x64DD,2,{0x94,0x42,0x00,0x00,}},
+ {0x64DE,2,{0xCB,0xD3,0x00,0x00,}},
+ {0x64DF,2,{0x94,0x43,0x00,0x00,}},
+ {0x64E0,2,{0x94,0x44,0x00,0x00,}},
+ {0x64E1,2,{0x94,0x45,0x00,0x00,}},
+ {0x64E2,2,{0xDF,0xAA,0x00,0x00,}},
+ {0x64E3,2,{0x94,0x46,0x00,0x00,}},
+ {0x64E4,2,{0xDF,0xA9,0x00,0x00,}},
+ {0x64E5,2,{0x94,0x47,0x00,0x00,}},
+ {0x64E6,2,{0xB2,0xC1,0x00,0x00,}},
+ {0x64E7,2,{0x94,0x48,0x00,0x00,}},
+ {0x64E8,2,{0x94,0x49,0x00,0x00,}},
+ {0x64E9,2,{0x94,0x4A,0x00,0x00,}},
+ {0x64EA,2,{0x94,0x4B,0x00,0x00,}},
+ {0x64EB,2,{0x94,0x4C,0x00,0x00,}},
+ {0x64EC,2,{0x94,0x4D,0x00,0x00,}},
+ {0x64ED,2,{0x94,0x4E,0x00,0x00,}},
+ {0x64EE,2,{0x94,0x4F,0x00,0x00,}},
+ {0x64EF,2,{0x94,0x50,0x00,0x00,}},
+ {0x64F0,2,{0x94,0x51,0x00,0x00,}},
+ {0x64F1,2,{0x94,0x52,0x00,0x00,}},
+ {0x64F2,2,{0x94,0x53,0x00,0x00,}},
+ {0x64F3,2,{0x94,0x54,0x00,0x00,}},
+ {0x64F4,2,{0x94,0x55,0x00,0x00,}},
+ {0x64F5,2,{0x94,0x56,0x00,0x00,}},
+ {0x64F6,2,{0x94,0x57,0x00,0x00,}},
+ {0x64F7,2,{0x94,0x58,0x00,0x00,}},
+ {0x64F8,2,{0x94,0x59,0x00,0x00,}},
+ {0x64F9,2,{0x94,0x5A,0x00,0x00,}},
+ {0x64FA,2,{0x94,0x5B,0x00,0x00,}},
+ {0x64FB,2,{0x94,0x5C,0x00,0x00,}},
+ {0x64FC,2,{0x94,0x5D,0x00,0x00,}},
+ {0x64FD,2,{0x94,0x5E,0x00,0x00,}},
+ {0x64FE,2,{0x94,0x5F,0x00,0x00,}},
+ {0x64FF,2,{0x94,0x60,0x00,0x00,}},
+ {0x6500,2,{0xC5,0xCA,0x00,0x00,}},
+ {0x6501,2,{0x94,0x61,0x00,0x00,}},
+ {0x6502,2,{0x94,0x62,0x00,0x00,}},
+ {0x6503,2,{0x94,0x63,0x00,0x00,}},
+ {0x6504,2,{0x94,0x64,0x00,0x00,}},
+ {0x6505,2,{0x94,0x65,0x00,0x00,}},
+ {0x6506,2,{0x94,0x66,0x00,0x00,}},
+ {0x6507,2,{0x94,0x67,0x00,0x00,}},
+ {0x6508,2,{0x94,0x68,0x00,0x00,}},
+ {0x6509,2,{0xDF,0xAB,0x00,0x00,}},
+ {0x650A,2,{0x94,0x69,0x00,0x00,}},
+ {0x650B,2,{0x94,0x6A,0x00,0x00,}},
+ {0x650C,2,{0x94,0x6B,0x00,0x00,}},
+ {0x650D,2,{0x94,0x6C,0x00,0x00,}},
+ {0x650E,2,{0x94,0x6D,0x00,0x00,}},
+ {0x650F,2,{0x94,0x6E,0x00,0x00,}},
+ {0x6510,2,{0x94,0x6F,0x00,0x00,}},
+ {0x6511,2,{0x94,0x70,0x00,0x00,}},
+ {0x6512,2,{0xD4,0xDC,0x00,0x00,}},
+ {0x6513,2,{0x94,0x71,0x00,0x00,}},
+ {0x6514,2,{0x94,0x72,0x00,0x00,}},
+ {0x6515,2,{0x94,0x73,0x00,0x00,}},
+ {0x6516,2,{0x94,0x74,0x00,0x00,}},
+ {0x6517,2,{0x94,0x75,0x00,0x00,}},
+ {0x6518,2,{0xC8,0xC1,0x00,0x00,}},
+ {0x6519,2,{0x94,0x76,0x00,0x00,}},
+ {0x651A,2,{0x94,0x77,0x00,0x00,}},
+ {0x651B,2,{0x94,0x78,0x00,0x00,}},
+ {0x651C,2,{0x94,0x79,0x00,0x00,}},
+ {0x651D,2,{0x94,0x7A,0x00,0x00,}},
+ {0x651E,2,{0x94,0x7B,0x00,0x00,}},
+ {0x651F,2,{0x94,0x7C,0x00,0x00,}},
+ {0x6520,2,{0x94,0x7D,0x00,0x00,}},
+ {0x6521,2,{0x94,0x7E,0x00,0x00,}},
+ {0x6522,2,{0x94,0x80,0x00,0x00,}},
+ {0x6523,2,{0x94,0x81,0x00,0x00,}},
+ {0x6524,2,{0x94,0x82,0x00,0x00,}},
+ {0x6525,2,{0xDF,0xAC,0x00,0x00,}},
+ {0x6526,2,{0x94,0x83,0x00,0x00,}},
+ {0x6527,2,{0x94,0x84,0x00,0x00,}},
+ {0x6528,2,{0x94,0x85,0x00,0x00,}},
+ {0x6529,2,{0x94,0x86,0x00,0x00,}},
+ {0x652A,2,{0x94,0x87,0x00,0x00,}},
+ {0x652B,2,{0xBE,0xF0,0x00,0x00,}},
+ {0x652C,2,{0x94,0x88,0x00,0x00,}},
+ {0x652D,2,{0x94,0x89,0x00,0x00,}},
+ {0x652E,2,{0xDF,0xAD,0x00,0x00,}},
+ {0x652F,2,{0xD6,0xA7,0x00,0x00,}},
+ {0x6530,2,{0x94,0x8A,0x00,0x00,}},
+ {0x6531,2,{0x94,0x8B,0x00,0x00,}},
+ {0x6532,2,{0x94,0x8C,0x00,0x00,}},
+ {0x6533,2,{0x94,0x8D,0x00,0x00,}},
+ {0x6534,2,{0xEA,0xB7,0x00,0x00,}},
+ {0x6535,2,{0xEB,0xB6,0x00,0x00,}},
+ {0x6536,2,{0xCA,0xD5,0x00,0x00,}},
+ {0x6537,2,{0x94,0x8E,0x00,0x00,}},
+ {0x6538,2,{0xD8,0xFC,0x00,0x00,}},
+ {0x6539,2,{0xB8,0xC4,0x00,0x00,}},
+ {0x653A,2,{0x94,0x8F,0x00,0x00,}},
+ {0x653B,2,{0xB9,0xA5,0x00,0x00,}},
+ {0x653C,2,{0x94,0x90,0x00,0x00,}},
+ {0x653D,2,{0x94,0x91,0x00,0x00,}},
+ {0x653E,2,{0xB7,0xC5,0x00,0x00,}},
+ {0x653F,2,{0xD5,0xFE,0x00,0x00,}},
+ {0x6540,2,{0x94,0x92,0x00,0x00,}},
+ {0x6541,2,{0x94,0x93,0x00,0x00,}},
+ {0x6542,2,{0x94,0x94,0x00,0x00,}},
+ {0x6543,2,{0x94,0x95,0x00,0x00,}},
+ {0x6544,2,{0x94,0x96,0x00,0x00,}},
+ {0x6545,2,{0xB9,0xCA,0x00,0x00,}},
+ {0x6546,2,{0x94,0x97,0x00,0x00,}},
+ {0x6547,2,{0x94,0x98,0x00,0x00,}},
+ {0x6548,2,{0xD0,0xA7,0x00,0x00,}},
+ {0x6549,2,{0xF4,0xCD,0x00,0x00,}},
+ {0x654A,2,{0x94,0x99,0x00,0x00,}},
+ {0x654B,2,{0x94,0x9A,0x00,0x00,}},
+ {0x654C,2,{0xB5,0xD0,0x00,0x00,}},
+ {0x654D,2,{0x94,0x9B,0x00,0x00,}},
+ {0x654E,2,{0x94,0x9C,0x00,0x00,}},
+ {0x654F,2,{0xC3,0xF4,0x00,0x00,}},
+ {0x6550,2,{0x94,0x9D,0x00,0x00,}},
+ {0x6551,2,{0xBE,0xC8,0x00,0x00,}},
+ {0x6552,2,{0x94,0x9E,0x00,0x00,}},
+ {0x6553,2,{0x94,0x9F,0x00,0x00,}},
+ {0x6554,2,{0x94,0xA0,0x00,0x00,}},
+ {0x6555,2,{0xEB,0xB7,0x00,0x00,}},
+ {0x6556,2,{0xB0,0xBD,0x00,0x00,}},
+ {0x6557,2,{0x94,0xA1,0x00,0x00,}},
+ {0x6558,2,{0x94,0xA2,0x00,0x00,}},
+ {0x6559,2,{0xBD,0xCC,0x00,0x00,}},
+ {0x655A,2,{0x94,0xA3,0x00,0x00,}},
+ {0x655B,2,{0xC1,0xB2,0x00,0x00,}},
+ {0x655C,2,{0x94,0xA4,0x00,0x00,}},
+ {0x655D,2,{0xB1,0xD6,0x00,0x00,}},
+ {0x655E,2,{0xB3,0xA8,0x00,0x00,}},
+ {0x655F,2,{0x94,0xA5,0x00,0x00,}},
+ {0x6560,2,{0x94,0xA6,0x00,0x00,}},
+ {0x6561,2,{0x94,0xA7,0x00,0x00,}},
+ {0x6562,2,{0xB8,0xD2,0x00,0x00,}},
+ {0x6563,2,{0xC9,0xA2,0x00,0x00,}},
+ {0x6564,2,{0x94,0xA8,0x00,0x00,}},
+ {0x6565,2,{0x94,0xA9,0x00,0x00,}},
+ {0x6566,2,{0xB6,0xD8,0x00,0x00,}},
+ {0x6567,2,{0x94,0xAA,0x00,0x00,}},
+ {0x6568,2,{0x94,0xAB,0x00,0x00,}},
+ {0x6569,2,{0x94,0xAC,0x00,0x00,}},
+ {0x656A,2,{0x94,0xAD,0x00,0x00,}},
+ {0x656B,2,{0xEB,0xB8,0x00,0x00,}},
+ {0x656C,2,{0xBE,0xB4,0x00,0x00,}},
+ {0x656D,2,{0x94,0xAE,0x00,0x00,}},
+ {0x656E,2,{0x94,0xAF,0x00,0x00,}},
+ {0x656F,2,{0x94,0xB0,0x00,0x00,}},
+ {0x6570,2,{0xCA,0xFD,0x00,0x00,}},
+ {0x6571,2,{0x94,0xB1,0x00,0x00,}},
+ {0x6572,2,{0xC7,0xC3,0x00,0x00,}},
+ {0x6573,2,{0x94,0xB2,0x00,0x00,}},
+ {0x6574,2,{0xD5,0xFB,0x00,0x00,}},
+ {0x6575,2,{0x94,0xB3,0x00,0x00,}},
+ {0x6576,2,{0x94,0xB4,0x00,0x00,}},
+ {0x6577,2,{0xB7,0xF3,0x00,0x00,}},
+ {0x6578,2,{0x94,0xB5,0x00,0x00,}},
+ {0x6579,2,{0x94,0xB6,0x00,0x00,}},
+ {0x657A,2,{0x94,0xB7,0x00,0x00,}},
+ {0x657B,2,{0x94,0xB8,0x00,0x00,}},
+ {0x657C,2,{0x94,0xB9,0x00,0x00,}},
+ {0x657D,2,{0x94,0xBA,0x00,0x00,}},
+ {0x657E,2,{0x94,0xBB,0x00,0x00,}},
+ {0x657F,2,{0x94,0xBC,0x00,0x00,}},
+ {0x6580,2,{0x94,0xBD,0x00,0x00,}},
+ {0x6581,2,{0x94,0xBE,0x00,0x00,}},
+ {0x6582,2,{0x94,0xBF,0x00,0x00,}},
+ {0x6583,2,{0x94,0xC0,0x00,0x00,}},
+ {0x6584,2,{0x94,0xC1,0x00,0x00,}},
+ {0x6585,2,{0x94,0xC2,0x00,0x00,}},
+ {0x6586,2,{0x94,0xC3,0x00,0x00,}},
+ {0x6587,2,{0xCE,0xC4,0x00,0x00,}},
+ {0x6588,2,{0x94,0xC4,0x00,0x00,}},
+ {0x6589,2,{0x94,0xC5,0x00,0x00,}},
+ {0x658A,2,{0x94,0xC6,0x00,0x00,}},
+ {0x658B,2,{0xD5,0xAB,0x00,0x00,}},
+ {0x658C,2,{0xB1,0xF3,0x00,0x00,}},
+ {0x658D,2,{0x94,0xC7,0x00,0x00,}},
+ {0x658E,2,{0x94,0xC8,0x00,0x00,}},
+ {0x658F,2,{0x94,0xC9,0x00,0x00,}},
+ {0x6590,2,{0xEC,0xB3,0x00,0x00,}},
+ {0x6591,2,{0xB0,0xDF,0x00,0x00,}},
+ {0x6592,2,{0x94,0xCA,0x00,0x00,}},
+ {0x6593,2,{0xEC,0xB5,0x00,0x00,}},
+ {0x6594,2,{0x94,0xCB,0x00,0x00,}},
+ {0x6595,2,{0x94,0xCC,0x00,0x00,}},
+ {0x6596,2,{0x94,0xCD,0x00,0x00,}},
+ {0x6597,2,{0xB6,0xB7,0x00,0x00,}},
+ {0x6598,2,{0x94,0xCE,0x00,0x00,}},
+ {0x6599,2,{0xC1,0xCF,0x00,0x00,}},
+ {0x659A,2,{0x94,0xCF,0x00,0x00,}},
+ {0x659B,2,{0xF5,0xFA,0x00,0x00,}},
+ {0x659C,2,{0xD0,0xB1,0x00,0x00,}},
+ {0x659D,2,{0x94,0xD0,0x00,0x00,}},
+ {0x659E,2,{0x94,0xD1,0x00,0x00,}},
+ {0x659F,2,{0xD5,0xE5,0x00,0x00,}},
+ {0x65A0,2,{0x94,0xD2,0x00,0x00,}},
+ {0x65A1,2,{0xCE,0xD3,0x00,0x00,}},
+ {0x65A2,2,{0x94,0xD3,0x00,0x00,}},
+ {0x65A3,2,{0x94,0xD4,0x00,0x00,}},
+ {0x65A4,2,{0xBD,0xEF,0x00,0x00,}},
+ {0x65A5,2,{0xB3,0xE2,0x00,0x00,}},
+ {0x65A6,2,{0x94,0xD5,0x00,0x00,}},
+ {0x65A7,2,{0xB8,0xAB,0x00,0x00,}},
+ {0x65A8,2,{0x94,0xD6,0x00,0x00,}},
+ {0x65A9,2,{0xD5,0xB6,0x00,0x00,}},
+ {0x65AA,2,{0x94,0xD7,0x00,0x00,}},
+ {0x65AB,2,{0xED,0xBD,0x00,0x00,}},
+ {0x65AC,2,{0x94,0xD8,0x00,0x00,}},
+ {0x65AD,2,{0xB6,0xCF,0x00,0x00,}},
+ {0x65AE,2,{0x94,0xD9,0x00,0x00,}},
+ {0x65AF,2,{0xCB,0xB9,0x00,0x00,}},
+ {0x65B0,2,{0xD0,0xC2,0x00,0x00,}},
+ {0x65B1,2,{0x94,0xDA,0x00,0x00,}},
+ {0x65B2,2,{0x94,0xDB,0x00,0x00,}},
+ {0x65B3,2,{0x94,0xDC,0x00,0x00,}},
+ {0x65B4,2,{0x94,0xDD,0x00,0x00,}},
+ {0x65B5,2,{0x94,0xDE,0x00,0x00,}},
+ {0x65B6,2,{0x94,0xDF,0x00,0x00,}},
+ {0x65B7,2,{0x94,0xE0,0x00,0x00,}},
+ {0x65B8,2,{0x94,0xE1,0x00,0x00,}},
+ {0x65B9,2,{0xB7,0xBD,0x00,0x00,}},
+ {0x65BA,2,{0x94,0xE2,0x00,0x00,}},
+ {0x65BB,2,{0x94,0xE3,0x00,0x00,}},
+ {0x65BC,2,{0xEC,0xB6,0x00,0x00,}},
+ {0x65BD,2,{0xCA,0xA9,0x00,0x00,}},
+ {0x65BE,2,{0x94,0xE4,0x00,0x00,}},
+ {0x65BF,2,{0x94,0xE5,0x00,0x00,}},
+ {0x65C0,2,{0x94,0xE6,0x00,0x00,}},
+ {0x65C1,2,{0xC5,0xD4,0x00,0x00,}},
+ {0x65C2,2,{0x94,0xE7,0x00,0x00,}},
+ {0x65C3,2,{0xEC,0xB9,0x00,0x00,}},
+ {0x65C4,2,{0xEC,0xB8,0x00,0x00,}},
+ {0x65C5,2,{0xC2,0xC3,0x00,0x00,}},
+ {0x65C6,2,{0xEC,0xB7,0x00,0x00,}},
+ {0x65C7,2,{0x94,0xE8,0x00,0x00,}},
+ {0x65C8,2,{0x94,0xE9,0x00,0x00,}},
+ {0x65C9,2,{0x94,0xEA,0x00,0x00,}},
+ {0x65CA,2,{0x94,0xEB,0x00,0x00,}},
+ {0x65CB,2,{0xD0,0xFD,0x00,0x00,}},
+ {0x65CC,2,{0xEC,0xBA,0x00,0x00,}},
+ {0x65CD,2,{0x94,0xEC,0x00,0x00,}},
+ {0x65CE,2,{0xEC,0xBB,0x00,0x00,}},
+ {0x65CF,2,{0xD7,0xE5,0x00,0x00,}},
+ {0x65D0,2,{0x94,0xED,0x00,0x00,}},
+ {0x65D1,2,{0x94,0xEE,0x00,0x00,}},
+ {0x65D2,2,{0xEC,0xBC,0x00,0x00,}},
+ {0x65D3,2,{0x94,0xEF,0x00,0x00,}},
+ {0x65D4,2,{0x94,0xF0,0x00,0x00,}},
+ {0x65D5,2,{0x94,0xF1,0x00,0x00,}},
+ {0x65D6,2,{0xEC,0xBD,0x00,0x00,}},
+ {0x65D7,2,{0xC6,0xEC,0x00,0x00,}},
+ {0x65D8,2,{0x94,0xF2,0x00,0x00,}},
+ {0x65D9,2,{0x94,0xF3,0x00,0x00,}},
+ {0x65DA,2,{0x94,0xF4,0x00,0x00,}},
+ {0x65DB,2,{0x94,0xF5,0x00,0x00,}},
+ {0x65DC,2,{0x94,0xF6,0x00,0x00,}},
+ {0x65DD,2,{0x94,0xF7,0x00,0x00,}},
+ {0x65DE,2,{0x94,0xF8,0x00,0x00,}},
+ {0x65DF,2,{0x94,0xF9,0x00,0x00,}},
+ {0x65E0,2,{0xCE,0xDE,0x00,0x00,}},
+ {0x65E1,2,{0x94,0xFA,0x00,0x00,}},
+ {0x65E2,2,{0xBC,0xC8,0x00,0x00,}},
+ {0x65E3,2,{0x94,0xFB,0x00,0x00,}},
+ {0x65E4,2,{0x94,0xFC,0x00,0x00,}},
+ {0x65E5,2,{0xC8,0xD5,0x00,0x00,}},
+ {0x65E6,2,{0xB5,0xA9,0x00,0x00,}},
+ {0x65E7,2,{0xBE,0xC9,0x00,0x00,}},
+ {0x65E8,2,{0xD6,0xBC,0x00,0x00,}},
+ {0x65E9,2,{0xD4,0xE7,0x00,0x00,}},
+ {0x65EA,2,{0x94,0xFD,0x00,0x00,}},
+ {0x65EB,2,{0x94,0xFE,0x00,0x00,}},
+ {0x65EC,2,{0xD1,0xAE,0x00,0x00,}},
+ {0x65ED,2,{0xD0,0xF1,0x00,0x00,}},
+ {0x65EE,2,{0xEA,0xB8,0x00,0x00,}},
+ {0x65EF,2,{0xEA,0xB9,0x00,0x00,}},
+ {0x65F0,2,{0xEA,0xBA,0x00,0x00,}},
+ {0x65F1,2,{0xBA,0xB5,0x00,0x00,}},
+ {0x65F2,2,{0x95,0x40,0x00,0x00,}},
+ {0x65F3,2,{0x95,0x41,0x00,0x00,}},
+ {0x65F4,2,{0x95,0x42,0x00,0x00,}},
+ {0x65F5,2,{0x95,0x43,0x00,0x00,}},
+ {0x65F6,2,{0xCA,0xB1,0x00,0x00,}},
+ {0x65F7,2,{0xBF,0xF5,0x00,0x00,}},
+ {0x65F8,2,{0x95,0x44,0x00,0x00,}},
+ {0x65F9,2,{0x95,0x45,0x00,0x00,}},
+ {0x65FA,2,{0xCD,0xFA,0x00,0x00,}},
+ {0x65FB,2,{0x95,0x46,0x00,0x00,}},
+ {0x65FC,2,{0x95,0x47,0x00,0x00,}},
+ {0x65FD,2,{0x95,0x48,0x00,0x00,}},
+ {0x65FE,2,{0x95,0x49,0x00,0x00,}},
+ {0x65FF,2,{0x95,0x4A,0x00,0x00,}},
+ {0x6600,2,{0xEA,0xC0,0x00,0x00,}},
+ {0x6601,2,{0x95,0x4B,0x00,0x00,}},
+ {0x6602,2,{0xB0,0xBA,0x00,0x00,}},
+ {0x6603,2,{0xEA,0xBE,0x00,0x00,}},
+ {0x6604,2,{0x95,0x4C,0x00,0x00,}},
+ {0x6605,2,{0x95,0x4D,0x00,0x00,}},
+ {0x6606,2,{0xC0,0xA5,0x00,0x00,}},
+ {0x6607,2,{0x95,0x4E,0x00,0x00,}},
+ {0x6608,2,{0x95,0x4F,0x00,0x00,}},
+ {0x6609,2,{0x95,0x50,0x00,0x00,}},
+ {0x660A,2,{0xEA,0xBB,0x00,0x00,}},
+ {0x660B,2,{0x95,0x51,0x00,0x00,}},
+ {0x660C,2,{0xB2,0xFD,0x00,0x00,}},
+ {0x660D,2,{0x95,0x52,0x00,0x00,}},
+ {0x660E,2,{0xC3,0xF7,0x00,0x00,}},
+ {0x660F,2,{0xBB,0xE8,0x00,0x00,}},
+ {0x6610,2,{0x95,0x53,0x00,0x00,}},
+ {0x6611,2,{0x95,0x54,0x00,0x00,}},
+ {0x6612,2,{0x95,0x55,0x00,0x00,}},
+ {0x6613,2,{0xD2,0xD7,0x00,0x00,}},
+ {0x6614,2,{0xCE,0xF4,0x00,0x00,}},
+ {0x6615,2,{0xEA,0xBF,0x00,0x00,}},
+ {0x6616,2,{0x95,0x56,0x00,0x00,}},
+ {0x6617,2,{0x95,0x57,0x00,0x00,}},
+ {0x6618,2,{0x95,0x58,0x00,0x00,}},
+ {0x6619,2,{0xEA,0xBC,0x00,0x00,}},
+ {0x661A,2,{0x95,0x59,0x00,0x00,}},
+ {0x661B,2,{0x95,0x5A,0x00,0x00,}},
+ {0x661C,2,{0x95,0x5B,0x00,0x00,}},
+ {0x661D,2,{0xEA,0xC3,0x00,0x00,}},
+ {0x661E,2,{0x95,0x5C,0x00,0x00,}},
+ {0x661F,2,{0xD0,0xC7,0x00,0x00,}},
+ {0x6620,2,{0xD3,0xB3,0x00,0x00,}},
+ {0x6621,2,{0x95,0x5D,0x00,0x00,}},
+ {0x6622,2,{0x95,0x5E,0x00,0x00,}},
+ {0x6623,2,{0x95,0x5F,0x00,0x00,}},
+ {0x6624,2,{0x95,0x60,0x00,0x00,}},
+ {0x6625,2,{0xB4,0xBA,0x00,0x00,}},
+ {0x6626,2,{0x95,0x61,0x00,0x00,}},
+ {0x6627,2,{0xC3,0xC1,0x00,0x00,}},
+ {0x6628,2,{0xD7,0xF2,0x00,0x00,}},
+ {0x6629,2,{0x95,0x62,0x00,0x00,}},
+ {0x662A,2,{0x95,0x63,0x00,0x00,}},
+ {0x662B,2,{0x95,0x64,0x00,0x00,}},
+ {0x662C,2,{0x95,0x65,0x00,0x00,}},
+ {0x662D,2,{0xD5,0xD1,0x00,0x00,}},
+ {0x662E,2,{0x95,0x66,0x00,0x00,}},
+ {0x662F,2,{0xCA,0xC7,0x00,0x00,}},
+ {0x6630,2,{0x95,0x67,0x00,0x00,}},
+ {0x6631,2,{0xEA,0xC5,0x00,0x00,}},
+ {0x6632,2,{0x95,0x68,0x00,0x00,}},
+ {0x6633,2,{0x95,0x69,0x00,0x00,}},
+ {0x6634,2,{0xEA,0xC4,0x00,0x00,}},
+ {0x6635,2,{0xEA,0xC7,0x00,0x00,}},
+ {0x6636,2,{0xEA,0xC6,0x00,0x00,}},
+ {0x6637,2,{0x95,0x6A,0x00,0x00,}},
+ {0x6638,2,{0x95,0x6B,0x00,0x00,}},
+ {0x6639,2,{0x95,0x6C,0x00,0x00,}},
+ {0x663A,2,{0x95,0x6D,0x00,0x00,}},
+ {0x663B,2,{0x95,0x6E,0x00,0x00,}},
+ {0x663C,2,{0xD6,0xE7,0x00,0x00,}},
+ {0x663D,2,{0x95,0x6F,0x00,0x00,}},
+ {0x663E,2,{0xCF,0xD4,0x00,0x00,}},
+ {0x663F,2,{0x95,0x70,0x00,0x00,}},
+ {0x6640,2,{0x95,0x71,0x00,0x00,}},
+ {0x6641,2,{0xEA,0xCB,0x00,0x00,}},
+ {0x6642,2,{0x95,0x72,0x00,0x00,}},
+ {0x6643,2,{0xBB,0xCE,0x00,0x00,}},
+ {0x6644,2,{0x95,0x73,0x00,0x00,}},
+ {0x6645,2,{0x95,0x74,0x00,0x00,}},
+ {0x6646,2,{0x95,0x75,0x00,0x00,}},
+ {0x6647,2,{0x95,0x76,0x00,0x00,}},
+ {0x6648,2,{0x95,0x77,0x00,0x00,}},
+ {0x6649,2,{0x95,0x78,0x00,0x00,}},
+ {0x664A,2,{0x95,0x79,0x00,0x00,}},
+ {0x664B,2,{0xBD,0xFA,0x00,0x00,}},
+ {0x664C,2,{0xC9,0xCE,0x00,0x00,}},
+ {0x664D,2,{0x95,0x7A,0x00,0x00,}},
+ {0x664E,2,{0x95,0x7B,0x00,0x00,}},
+ {0x664F,2,{0xEA,0xCC,0x00,0x00,}},
+ {0x6650,2,{0x95,0x7C,0x00,0x00,}},
+ {0x6651,2,{0x95,0x7D,0x00,0x00,}},
+ {0x6652,2,{0xC9,0xB9,0x00,0x00,}},
+ {0x6653,2,{0xCF,0xFE,0x00,0x00,}},
+ {0x6654,2,{0xEA,0xCA,0x00,0x00,}},
+ {0x6655,2,{0xD4,0xCE,0x00,0x00,}},
+ {0x6656,2,{0xEA,0xCD,0x00,0x00,}},
+ {0x6657,2,{0xEA,0xCF,0x00,0x00,}},
+ {0x6658,2,{0x95,0x7E,0x00,0x00,}},
+ {0x6659,2,{0x95,0x80,0x00,0x00,}},
+ {0x665A,2,{0xCD,0xED,0x00,0x00,}},
+ {0x665B,2,{0x95,0x81,0x00,0x00,}},
+ {0x665C,2,{0x95,0x82,0x00,0x00,}},
+ {0x665D,2,{0x95,0x83,0x00,0x00,}},
+ {0x665E,2,{0x95,0x84,0x00,0x00,}},
+ {0x665F,2,{0xEA,0xC9,0x00,0x00,}},
+ {0x6660,2,{0x95,0x85,0x00,0x00,}},
+ {0x6661,2,{0xEA,0xCE,0x00,0x00,}},
+ {0x6662,2,{0x95,0x86,0x00,0x00,}},
+ {0x6663,2,{0x95,0x87,0x00,0x00,}},
+ {0x6664,2,{0xCE,0xEE,0x00,0x00,}},
+ {0x6665,2,{0x95,0x88,0x00,0x00,}},
+ {0x6666,2,{0xBB,0xDE,0x00,0x00,}},
+ {0x6667,2,{0x95,0x89,0x00,0x00,}},
+ {0x6668,2,{0xB3,0xBF,0x00,0x00,}},
+ {0x6669,2,{0x95,0x8A,0x00,0x00,}},
+ {0x666A,2,{0x95,0x8B,0x00,0x00,}},
+ {0x666B,2,{0x95,0x8C,0x00,0x00,}},
+ {0x666C,2,{0x95,0x8D,0x00,0x00,}},
+ {0x666D,2,{0x95,0x8E,0x00,0x00,}},
+ {0x666E,2,{0xC6,0xD5,0x00,0x00,}},
+ {0x666F,2,{0xBE,0xB0,0x00,0x00,}},
+ {0x6670,2,{0xCE,0xFA,0x00,0x00,}},
+ {0x6671,2,{0x95,0x8F,0x00,0x00,}},
+ {0x6672,2,{0x95,0x90,0x00,0x00,}},
+ {0x6673,2,{0x95,0x91,0x00,0x00,}},
+ {0x6674,2,{0xC7,0xE7,0x00,0x00,}},
+ {0x6675,2,{0x95,0x92,0x00,0x00,}},
+ {0x6676,2,{0xBE,0xA7,0x00,0x00,}},
+ {0x6677,2,{0xEA,0xD0,0x00,0x00,}},
+ {0x6678,2,{0x95,0x93,0x00,0x00,}},
+ {0x6679,2,{0x95,0x94,0x00,0x00,}},
+ {0x667A,2,{0xD6,0xC7,0x00,0x00,}},
+ {0x667B,2,{0x95,0x95,0x00,0x00,}},
+ {0x667C,2,{0x95,0x96,0x00,0x00,}},
+ {0x667D,2,{0x95,0x97,0x00,0x00,}},
+ {0x667E,2,{0xC1,0xC0,0x00,0x00,}},
+ {0x667F,2,{0x95,0x98,0x00,0x00,}},
+ {0x6680,2,{0x95,0x99,0x00,0x00,}},
+ {0x6681,2,{0x95,0x9A,0x00,0x00,}},
+ {0x6682,2,{0xD4,0xDD,0x00,0x00,}},
+ {0x6683,2,{0x95,0x9B,0x00,0x00,}},
+ {0x6684,2,{0xEA,0xD1,0x00,0x00,}},
+ {0x6685,2,{0x95,0x9C,0x00,0x00,}},
+ {0x6686,2,{0x95,0x9D,0x00,0x00,}},
+ {0x6687,2,{0xCF,0xBE,0x00,0x00,}},
+ {0x6688,2,{0x95,0x9E,0x00,0x00,}},
+ {0x6689,2,{0x95,0x9F,0x00,0x00,}},
+ {0x668A,2,{0x95,0xA0,0x00,0x00,}},
+ {0x668B,2,{0x95,0xA1,0x00,0x00,}},
+ {0x668C,2,{0xEA,0xD2,0x00,0x00,}},
+ {0x668D,2,{0x95,0xA2,0x00,0x00,}},
+ {0x668E,2,{0x95,0xA3,0x00,0x00,}},
+ {0x668F,2,{0x95,0xA4,0x00,0x00,}},
+ {0x6690,2,{0x95,0xA5,0x00,0x00,}},
+ {0x6691,2,{0xCA,0xEE,0x00,0x00,}},
+ {0x6692,2,{0x95,0xA6,0x00,0x00,}},
+ {0x6693,2,{0x95,0xA7,0x00,0x00,}},
+ {0x6694,2,{0x95,0xA8,0x00,0x00,}},
+ {0x6695,2,{0x95,0xA9,0x00,0x00,}},
+ {0x6696,2,{0xC5,0xAF,0x00,0x00,}},
+ {0x6697,2,{0xB0,0xB5,0x00,0x00,}},
+ {0x6698,2,{0x95,0xAA,0x00,0x00,}},
+ {0x6699,2,{0x95,0xAB,0x00,0x00,}},
+ {0x669A,2,{0x95,0xAC,0x00,0x00,}},
+ {0x669B,2,{0x95,0xAD,0x00,0x00,}},
+ {0x669C,2,{0x95,0xAE,0x00,0x00,}},
+ {0x669D,2,{0xEA,0xD4,0x00,0x00,}},
+ {0x669E,2,{0x95,0xAF,0x00,0x00,}},
+ {0x669F,2,{0x95,0xB0,0x00,0x00,}},
+ {0x66A0,2,{0x95,0xB1,0x00,0x00,}},
+ {0x66A1,2,{0x95,0xB2,0x00,0x00,}},
+ {0x66A2,2,{0x95,0xB3,0x00,0x00,}},
+ {0x66A3,2,{0x95,0xB4,0x00,0x00,}},
+ {0x66A4,2,{0x95,0xB5,0x00,0x00,}},
+ {0x66A5,2,{0x95,0xB6,0x00,0x00,}},
+ {0x66A6,2,{0x95,0xB7,0x00,0x00,}},
+ {0x66A7,2,{0xEA,0xD3,0x00,0x00,}},
+ {0x66A8,2,{0xF4,0xDF,0x00,0x00,}},
+ {0x66A9,2,{0x95,0xB8,0x00,0x00,}},
+ {0x66AA,2,{0x95,0xB9,0x00,0x00,}},
+ {0x66AB,2,{0x95,0xBA,0x00,0x00,}},
+ {0x66AC,2,{0x95,0xBB,0x00,0x00,}},
+ {0x66AD,2,{0x95,0xBC,0x00,0x00,}},
+ {0x66AE,2,{0xC4,0xBA,0x00,0x00,}},
+ {0x66AF,2,{0x95,0xBD,0x00,0x00,}},
+ {0x66B0,2,{0x95,0xBE,0x00,0x00,}},
+ {0x66B1,2,{0x95,0xBF,0x00,0x00,}},
+ {0x66B2,2,{0x95,0xC0,0x00,0x00,}},
+ {0x66B3,2,{0x95,0xC1,0x00,0x00,}},
+ {0x66B4,2,{0xB1,0xA9,0x00,0x00,}},
+ {0x66B5,2,{0x95,0xC2,0x00,0x00,}},
+ {0x66B6,2,{0x95,0xC3,0x00,0x00,}},
+ {0x66B7,2,{0x95,0xC4,0x00,0x00,}},
+ {0x66B8,2,{0x95,0xC5,0x00,0x00,}},
+ {0x66B9,2,{0xE5,0xDF,0x00,0x00,}},
+ {0x66BA,2,{0x95,0xC6,0x00,0x00,}},
+ {0x66BB,2,{0x95,0xC7,0x00,0x00,}},
+ {0x66BC,2,{0x95,0xC8,0x00,0x00,}},
+ {0x66BD,2,{0x95,0xC9,0x00,0x00,}},
+ {0x66BE,2,{0xEA,0xD5,0x00,0x00,}},
+ {0x66BF,2,{0x95,0xCA,0x00,0x00,}},
+ {0x66C0,2,{0x95,0xCB,0x00,0x00,}},
+ {0x66C1,2,{0x95,0xCC,0x00,0x00,}},
+ {0x66C2,2,{0x95,0xCD,0x00,0x00,}},
+ {0x66C3,2,{0x95,0xCE,0x00,0x00,}},
+ {0x66C4,2,{0x95,0xCF,0x00,0x00,}},
+ {0x66C5,2,{0x95,0xD0,0x00,0x00,}},
+ {0x66C6,2,{0x95,0xD1,0x00,0x00,}},
+ {0x66C7,2,{0x95,0xD2,0x00,0x00,}},
+ {0x66C8,2,{0x95,0xD3,0x00,0x00,}},
+ {0x66C9,2,{0x95,0xD4,0x00,0x00,}},
+ {0x66CA,2,{0x95,0xD5,0x00,0x00,}},
+ {0x66CB,2,{0x95,0xD6,0x00,0x00,}},
+ {0x66CC,2,{0x95,0xD7,0x00,0x00,}},
+ {0x66CD,2,{0x95,0xD8,0x00,0x00,}},
+ {0x66CE,2,{0x95,0xD9,0x00,0x00,}},
+ {0x66CF,2,{0x95,0xDA,0x00,0x00,}},
+ {0x66D0,2,{0x95,0xDB,0x00,0x00,}},
+ {0x66D1,2,{0x95,0xDC,0x00,0x00,}},
+ {0x66D2,2,{0x95,0xDD,0x00,0x00,}},
+ {0x66D3,2,{0x95,0xDE,0x00,0x00,}},
+ {0x66D4,2,{0x95,0xDF,0x00,0x00,}},
+ {0x66D5,2,{0x95,0xE0,0x00,0x00,}},
+ {0x66D6,2,{0x95,0xE1,0x00,0x00,}},
+ {0x66D7,2,{0x95,0xE2,0x00,0x00,}},
+ {0x66D8,2,{0x95,0xE3,0x00,0x00,}},
+ {0x66D9,2,{0xCA,0xEF,0x00,0x00,}},
+ {0x66DA,2,{0x95,0xE4,0x00,0x00,}},
+ {0x66DB,2,{0xEA,0xD6,0x00,0x00,}},
+ {0x66DC,2,{0xEA,0xD7,0x00,0x00,}},
+ {0x66DD,2,{0xC6,0xD8,0x00,0x00,}},
+ {0x66DE,2,{0x95,0xE5,0x00,0x00,}},
+ {0x66DF,2,{0x95,0xE6,0x00,0x00,}},
+ {0x66E0,2,{0x95,0xE7,0x00,0x00,}},
+ {0x66E1,2,{0x95,0xE8,0x00,0x00,}},
+ {0x66E2,2,{0x95,0xE9,0x00,0x00,}},
+ {0x66E3,2,{0x95,0xEA,0x00,0x00,}},
+ {0x66E4,2,{0x95,0xEB,0x00,0x00,}},
+ {0x66E5,2,{0x95,0xEC,0x00,0x00,}},
+ {0x66E6,2,{0xEA,0xD8,0x00,0x00,}},
+ {0x66E7,2,{0x95,0xED,0x00,0x00,}},
+ {0x66E8,2,{0x95,0xEE,0x00,0x00,}},
+ {0x66E9,2,{0xEA,0xD9,0x00,0x00,}},
+ {0x66EA,2,{0x95,0xEF,0x00,0x00,}},
+ {0x66EB,2,{0x95,0xF0,0x00,0x00,}},
+ {0x66EC,2,{0x95,0xF1,0x00,0x00,}},
+ {0x66ED,2,{0x95,0xF2,0x00,0x00,}},
+ {0x66EE,2,{0x95,0xF3,0x00,0x00,}},
+ {0x66EF,2,{0x95,0xF4,0x00,0x00,}},
+ {0x66F0,2,{0xD4,0xBB,0x00,0x00,}},
+ {0x66F1,2,{0x95,0xF5,0x00,0x00,}},
+ {0x66F2,2,{0xC7,0xFA,0x00,0x00,}},
+ {0x66F3,2,{0xD2,0xB7,0x00,0x00,}},
+ {0x66F4,2,{0xB8,0xFC,0x00,0x00,}},
+ {0x66F5,2,{0x95,0xF6,0x00,0x00,}},
+ {0x66F6,2,{0x95,0xF7,0x00,0x00,}},
+ {0x66F7,2,{0xEA,0xC2,0x00,0x00,}},
+ {0x66F8,2,{0x95,0xF8,0x00,0x00,}},
+ {0x66F9,2,{0xB2,0xDC,0x00,0x00,}},
+ {0x66FA,2,{0x95,0xF9,0x00,0x00,}},
+ {0x66FB,2,{0x95,0xFA,0x00,0x00,}},
+ {0x66FC,2,{0xC2,0xFC,0x00,0x00,}},
+ {0x66FD,2,{0x95,0xFB,0x00,0x00,}},
+ {0x66FE,2,{0xD4,0xF8,0x00,0x00,}},
+ {0x66FF,2,{0xCC,0xE6,0x00,0x00,}},
+ {0x6700,2,{0xD7,0xEE,0x00,0x00,}},
+ {0x6701,2,{0x95,0xFC,0x00,0x00,}},
+ {0x6702,2,{0x95,0xFD,0x00,0x00,}},
+ {0x6703,2,{0x95,0xFE,0x00,0x00,}},
+ {0x6704,2,{0x96,0x40,0x00,0x00,}},
+ {0x6705,2,{0x96,0x41,0x00,0x00,}},
+ {0x6706,2,{0x96,0x42,0x00,0x00,}},
+ {0x6707,2,{0x96,0x43,0x00,0x00,}},
+ {0x6708,2,{0xD4,0xC2,0x00,0x00,}},
+ {0x6709,2,{0xD3,0xD0,0x00,0x00,}},
+ {0x670A,2,{0xEB,0xC3,0x00,0x00,}},
+ {0x670B,2,{0xC5,0xF3,0x00,0x00,}},
+ {0x670C,2,{0x96,0x44,0x00,0x00,}},
+ {0x670D,2,{0xB7,0xFE,0x00,0x00,}},
+ {0x670E,2,{0x96,0x45,0x00,0x00,}},
+ {0x670F,2,{0x96,0x46,0x00,0x00,}},
+ {0x6710,2,{0xEB,0xD4,0x00,0x00,}},
+ {0x6711,2,{0x96,0x47,0x00,0x00,}},
+ {0x6712,2,{0x96,0x48,0x00,0x00,}},
+ {0x6713,2,{0x96,0x49,0x00,0x00,}},
+ {0x6714,2,{0xCB,0xB7,0x00,0x00,}},
+ {0x6715,2,{0xEB,0xDE,0x00,0x00,}},
+ {0x6716,2,{0x96,0x4A,0x00,0x00,}},
+ {0x6717,2,{0xC0,0xCA,0x00,0x00,}},
+ {0x6718,2,{0x96,0x4B,0x00,0x00,}},
+ {0x6719,2,{0x96,0x4C,0x00,0x00,}},
+ {0x671A,2,{0x96,0x4D,0x00,0x00,}},
+ {0x671B,2,{0xCD,0xFB,0x00,0x00,}},
+ {0x671C,2,{0x96,0x4E,0x00,0x00,}},
+ {0x671D,2,{0xB3,0xAF,0x00,0x00,}},
+ {0x671E,2,{0x96,0x4F,0x00,0x00,}},
+ {0x671F,2,{0xC6,0xDA,0x00,0x00,}},
+ {0x6720,2,{0x96,0x50,0x00,0x00,}},
+ {0x6721,2,{0x96,0x51,0x00,0x00,}},
+ {0x6722,2,{0x96,0x52,0x00,0x00,}},
+ {0x6723,2,{0x96,0x53,0x00,0x00,}},
+ {0x6724,2,{0x96,0x54,0x00,0x00,}},
+ {0x6725,2,{0x96,0x55,0x00,0x00,}},
+ {0x6726,2,{0xEB,0xFC,0x00,0x00,}},
+ {0x6727,2,{0x96,0x56,0x00,0x00,}},
+ {0x6728,2,{0xC4,0xBE,0x00,0x00,}},
+ {0x6729,2,{0x96,0x57,0x00,0x00,}},
+ {0x672A,2,{0xCE,0xB4,0x00,0x00,}},
+ {0x672B,2,{0xC4,0xA9,0x00,0x00,}},
+ {0x672C,2,{0xB1,0xBE,0x00,0x00,}},
+ {0x672D,2,{0xD4,0xFD,0x00,0x00,}},
+ {0x672E,2,{0x96,0x58,0x00,0x00,}},
+ {0x672F,2,{0xCA,0xF5,0x00,0x00,}},
+ {0x6730,2,{0x96,0x59,0x00,0x00,}},
+ {0x6731,2,{0xD6,0xEC,0x00,0x00,}},
+ {0x6732,2,{0x96,0x5A,0x00,0x00,}},
+ {0x6733,2,{0x96,0x5B,0x00,0x00,}},
+ {0x6734,2,{0xC6,0xD3,0x00,0x00,}},
+ {0x6735,2,{0xB6,0xE4,0x00,0x00,}},
+ {0x6736,2,{0x96,0x5C,0x00,0x00,}},
+ {0x6737,2,{0x96,0x5D,0x00,0x00,}},
+ {0x6738,2,{0x96,0x5E,0x00,0x00,}},
+ {0x6739,2,{0x96,0x5F,0x00,0x00,}},
+ {0x673A,2,{0xBB,0xFA,0x00,0x00,}},
+ {0x673B,2,{0x96,0x60,0x00,0x00,}},
+ {0x673C,2,{0x96,0x61,0x00,0x00,}},
+ {0x673D,2,{0xD0,0xE0,0x00,0x00,}},
+ {0x673E,2,{0x96,0x62,0x00,0x00,}},
+ {0x673F,2,{0x96,0x63,0x00,0x00,}},
+ {0x6740,2,{0xC9,0xB1,0x00,0x00,}},
+ {0x6741,2,{0x96,0x64,0x00,0x00,}},
+ {0x6742,2,{0xD4,0xD3,0x00,0x00,}},
+ {0x6743,2,{0xC8,0xA8,0x00,0x00,}},
+ {0x6744,2,{0x96,0x65,0x00,0x00,}},
+ {0x6745,2,{0x96,0x66,0x00,0x00,}},
+ {0x6746,2,{0xB8,0xCB,0x00,0x00,}},
+ {0x6747,2,{0x96,0x67,0x00,0x00,}},
+ {0x6748,2,{0xE8,0xBE,0x00,0x00,}},
+ {0x6749,2,{0xC9,0xBC,0x00,0x00,}},
+ {0x674A,2,{0x96,0x68,0x00,0x00,}},
+ {0x674B,2,{0x96,0x69,0x00,0x00,}},
+ {0x674C,2,{0xE8,0xBB,0x00,0x00,}},
+ {0x674D,2,{0x96,0x6A,0x00,0x00,}},
+ {0x674E,2,{0xC0,0xEE,0x00,0x00,}},
+ {0x674F,2,{0xD0,0xD3,0x00,0x00,}},
+ {0x6750,2,{0xB2,0xC4,0x00,0x00,}},
+ {0x6751,2,{0xB4,0xE5,0x00,0x00,}},
+ {0x6752,2,{0x96,0x6B,0x00,0x00,}},
+ {0x6753,2,{0xE8,0xBC,0x00,0x00,}},
+ {0x6754,2,{0x96,0x6C,0x00,0x00,}},
+ {0x6755,2,{0x96,0x6D,0x00,0x00,}},
+ {0x6756,2,{0xD5,0xC8,0x00,0x00,}},
+ {0x6757,2,{0x96,0x6E,0x00,0x00,}},
+ {0x6758,2,{0x96,0x6F,0x00,0x00,}},
+ {0x6759,2,{0x96,0x70,0x00,0x00,}},
+ {0x675A,2,{0x96,0x71,0x00,0x00,}},
+ {0x675B,2,{0x96,0x72,0x00,0x00,}},
+ {0x675C,2,{0xB6,0xC5,0x00,0x00,}},
+ {0x675D,2,{0x96,0x73,0x00,0x00,}},
+ {0x675E,2,{0xE8,0xBD,0x00,0x00,}},
+ {0x675F,2,{0xCA,0xF8,0x00,0x00,}},
+ {0x6760,2,{0xB8,0xDC,0x00,0x00,}},
+ {0x6761,2,{0xCC,0xF5,0x00,0x00,}},
+ {0x6762,2,{0x96,0x74,0x00,0x00,}},
+ {0x6763,2,{0x96,0x75,0x00,0x00,}},
+ {0x6764,2,{0x96,0x76,0x00,0x00,}},
+ {0x6765,2,{0xC0,0xB4,0x00,0x00,}},
+ {0x6766,2,{0x96,0x77,0x00,0x00,}},
+ {0x6767,2,{0x96,0x78,0x00,0x00,}},
+ {0x6768,2,{0xD1,0xEE,0x00,0x00,}},
+ {0x6769,2,{0xE8,0xBF,0x00,0x00,}},
+ {0x676A,2,{0xE8,0xC2,0x00,0x00,}},
+ {0x676B,2,{0x96,0x79,0x00,0x00,}},
+ {0x676C,2,{0x96,0x7A,0x00,0x00,}},
+ {0x676D,2,{0xBA,0xBC,0x00,0x00,}},
+ {0x676E,2,{0x96,0x7B,0x00,0x00,}},
+ {0x676F,2,{0xB1,0xAD,0x00,0x00,}},
+ {0x6770,2,{0xBD,0xDC,0x00,0x00,}},
+ {0x6771,2,{0x96,0x7C,0x00,0x00,}},
+ {0x6772,2,{0xEA,0xBD,0x00,0x00,}},
+ {0x6773,2,{0xE8,0xC3,0x00,0x00,}},
+ {0x6774,2,{0x96,0x7D,0x00,0x00,}},
+ {0x6775,2,{0xE8,0xC6,0x00,0x00,}},
+ {0x6776,2,{0x96,0x7E,0x00,0x00,}},
+ {0x6777,2,{0xE8,0xCB,0x00,0x00,}},
+ {0x6778,2,{0x96,0x80,0x00,0x00,}},
+ {0x6779,2,{0x96,0x81,0x00,0x00,}},
+ {0x677A,2,{0x96,0x82,0x00,0x00,}},
+ {0x677B,2,{0x96,0x83,0x00,0x00,}},
+ {0x677C,2,{0xE8,0xCC,0x00,0x00,}},
+ {0x677D,2,{0x96,0x84,0x00,0x00,}},
+ {0x677E,2,{0xCB,0xC9,0x00,0x00,}},
+ {0x677F,2,{0xB0,0xE5,0x00,0x00,}},
+ {0x6780,2,{0x96,0x85,0x00,0x00,}},
+ {0x6781,2,{0xBC,0xAB,0x00,0x00,}},
+ {0x6782,2,{0x96,0x86,0x00,0x00,}},
+ {0x6783,2,{0x96,0x87,0x00,0x00,}},
+ {0x6784,2,{0xB9,0xB9,0x00,0x00,}},
+ {0x6785,2,{0x96,0x88,0x00,0x00,}},
+ {0x6786,2,{0x96,0x89,0x00,0x00,}},
+ {0x6787,2,{0xE8,0xC1,0x00,0x00,}},
+ {0x6788,2,{0x96,0x8A,0x00,0x00,}},
+ {0x6789,2,{0xCD,0xF7,0x00,0x00,}},
+ {0x678A,2,{0x96,0x8B,0x00,0x00,}},
+ {0x678B,2,{0xE8,0xCA,0x00,0x00,}},
+ {0x678C,2,{0x96,0x8C,0x00,0x00,}},
+ {0x678D,2,{0x96,0x8D,0x00,0x00,}},
+ {0x678E,2,{0x96,0x8E,0x00,0x00,}},
+ {0x678F,2,{0x96,0x8F,0x00,0x00,}},
+ {0x6790,2,{0xCE,0xF6,0x00,0x00,}},
+ {0x6791,2,{0x96,0x90,0x00,0x00,}},
+ {0x6792,2,{0x96,0x91,0x00,0x00,}},
+ {0x6793,2,{0x96,0x92,0x00,0x00,}},
+ {0x6794,2,{0x96,0x93,0x00,0x00,}},
+ {0x6795,2,{0xD5,0xED,0x00,0x00,}},
+ {0x6796,2,{0x96,0x94,0x00,0x00,}},
+ {0x6797,2,{0xC1,0xD6,0x00,0x00,}},
+ {0x6798,2,{0xE8,0xC4,0x00,0x00,}},
+ {0x6799,2,{0x96,0x95,0x00,0x00,}},
+ {0x679A,2,{0xC3,0xB6,0x00,0x00,}},
+ {0x679B,2,{0x96,0x96,0x00,0x00,}},
+ {0x679C,2,{0xB9,0xFB,0x00,0x00,}},
+ {0x679D,2,{0xD6,0xA6,0x00,0x00,}},
+ {0x679E,2,{0xE8,0xC8,0x00,0x00,}},
+ {0x679F,2,{0x96,0x97,0x00,0x00,}},
+ {0x67A0,2,{0x96,0x98,0x00,0x00,}},
+ {0x67A1,2,{0x96,0x99,0x00,0x00,}},
+ {0x67A2,2,{0xCA,0xE0,0x00,0x00,}},
+ {0x67A3,2,{0xD4,0xE6,0x00,0x00,}},
+ {0x67A4,2,{0x96,0x9A,0x00,0x00,}},
+ {0x67A5,2,{0xE8,0xC0,0x00,0x00,}},
+ {0x67A6,2,{0x96,0x9B,0x00,0x00,}},
+ {0x67A7,2,{0xE8,0xC5,0x00,0x00,}},
+ {0x67A8,2,{0xE8,0xC7,0x00,0x00,}},
+ {0x67A9,2,{0x96,0x9C,0x00,0x00,}},
+ {0x67AA,2,{0xC7,0xB9,0x00,0x00,}},
+ {0x67AB,2,{0xB7,0xE3,0x00,0x00,}},
+ {0x67AC,2,{0x96,0x9D,0x00,0x00,}},
+ {0x67AD,2,{0xE8,0xC9,0x00,0x00,}},
+ {0x67AE,2,{0x96,0x9E,0x00,0x00,}},
+ {0x67AF,2,{0xBF,0xDD,0x00,0x00,}},
+ {0x67B0,2,{0xE8,0xD2,0x00,0x00,}},
+ {0x67B1,2,{0x96,0x9F,0x00,0x00,}},
+ {0x67B2,2,{0x96,0xA0,0x00,0x00,}},
+ {0x67B3,2,{0xE8,0xD7,0x00,0x00,}},
+ {0x67B4,2,{0x96,0xA1,0x00,0x00,}},
+ {0x67B5,2,{0xE8,0xD5,0x00,0x00,}},
+ {0x67B6,2,{0xBC,0xDC,0x00,0x00,}},
+ {0x67B7,2,{0xBC,0xCF,0x00,0x00,}},
+ {0x67B8,2,{0xE8,0xDB,0x00,0x00,}},
+ {0x67B9,2,{0x96,0xA2,0x00,0x00,}},
+ {0x67BA,2,{0x96,0xA3,0x00,0x00,}},
+ {0x67BB,2,{0x96,0xA4,0x00,0x00,}},
+ {0x67BC,2,{0x96,0xA5,0x00,0x00,}},
+ {0x67BD,2,{0x96,0xA6,0x00,0x00,}},
+ {0x67BE,2,{0x96,0xA7,0x00,0x00,}},
+ {0x67BF,2,{0x96,0xA8,0x00,0x00,}},
+ {0x67C0,2,{0x96,0xA9,0x00,0x00,}},
+ {0x67C1,2,{0xE8,0xDE,0x00,0x00,}},
+ {0x67C2,2,{0x96,0xAA,0x00,0x00,}},
+ {0x67C3,2,{0xE8,0xDA,0x00,0x00,}},
+ {0x67C4,2,{0xB1,0xFA,0x00,0x00,}},
+ {0x67C5,2,{0x96,0xAB,0x00,0x00,}},
+ {0x67C6,2,{0x96,0xAC,0x00,0x00,}},
+ {0x67C7,2,{0x96,0xAD,0x00,0x00,}},
+ {0x67C8,2,{0x96,0xAE,0x00,0x00,}},
+ {0x67C9,2,{0x96,0xAF,0x00,0x00,}},
+ {0x67CA,2,{0x96,0xB0,0x00,0x00,}},
+ {0x67CB,2,{0x96,0xB1,0x00,0x00,}},
+ {0x67CC,2,{0x96,0xB2,0x00,0x00,}},
+ {0x67CD,2,{0x96,0xB3,0x00,0x00,}},
+ {0x67CE,2,{0x96,0xB4,0x00,0x00,}},
+ {0x67CF,2,{0xB0,0xD8,0x00,0x00,}},
+ {0x67D0,2,{0xC4,0xB3,0x00,0x00,}},
+ {0x67D1,2,{0xB8,0xCC,0x00,0x00,}},
+ {0x67D2,2,{0xC6,0xE2,0x00,0x00,}},
+ {0x67D3,2,{0xC8,0xBE,0x00,0x00,}},
+ {0x67D4,2,{0xC8,0xE1,0x00,0x00,}},
+ {0x67D5,2,{0x96,0xB5,0x00,0x00,}},
+ {0x67D6,2,{0x96,0xB6,0x00,0x00,}},
+ {0x67D7,2,{0x96,0xB7,0x00,0x00,}},
+ {0x67D8,2,{0xE8,0xCF,0x00,0x00,}},
+ {0x67D9,2,{0xE8,0xD4,0x00,0x00,}},
+ {0x67DA,2,{0xE8,0xD6,0x00,0x00,}},
+ {0x67DB,2,{0x96,0xB8,0x00,0x00,}},
+ {0x67DC,2,{0xB9,0xF1,0x00,0x00,}},
+ {0x67DD,2,{0xE8,0xD8,0x00,0x00,}},
+ {0x67DE,2,{0xD7,0xF5,0x00,0x00,}},
+ {0x67DF,2,{0x96,0xB9,0x00,0x00,}},
+ {0x67E0,2,{0xC4,0xFB,0x00,0x00,}},
+ {0x67E1,2,{0x96,0xBA,0x00,0x00,}},
+ {0x67E2,2,{0xE8,0xDC,0x00,0x00,}},
+ {0x67E3,2,{0x96,0xBB,0x00,0x00,}},
+ {0x67E4,2,{0x96,0xBC,0x00,0x00,}},
+ {0x67E5,2,{0xB2,0xE9,0x00,0x00,}},
+ {0x67E6,2,{0x96,0xBD,0x00,0x00,}},
+ {0x67E7,2,{0x96,0xBE,0x00,0x00,}},
+ {0x67E8,2,{0x96,0xBF,0x00,0x00,}},
+ {0x67E9,2,{0xE8,0xD1,0x00,0x00,}},
+ {0x67EA,2,{0x96,0xC0,0x00,0x00,}},
+ {0x67EB,2,{0x96,0xC1,0x00,0x00,}},
+ {0x67EC,2,{0xBC,0xED,0x00,0x00,}},
+ {0x67ED,2,{0x96,0xC2,0x00,0x00,}},
+ {0x67EE,2,{0x96,0xC3,0x00,0x00,}},
+ {0x67EF,2,{0xBF,0xC2,0x00,0x00,}},
+ {0x67F0,2,{0xE8,0xCD,0x00,0x00,}},
+ {0x67F1,2,{0xD6,0xF9,0x00,0x00,}},
+ {0x67F2,2,{0x96,0xC4,0x00,0x00,}},
+ {0x67F3,2,{0xC1,0xF8,0x00,0x00,}},
+ {0x67F4,2,{0xB2,0xF1,0x00,0x00,}},
+ {0x67F5,2,{0x96,0xC5,0x00,0x00,}},
+ {0x67F6,2,{0x96,0xC6,0x00,0x00,}},
+ {0x67F7,2,{0x96,0xC7,0x00,0x00,}},
+ {0x67F8,2,{0x96,0xC8,0x00,0x00,}},
+ {0x67F9,2,{0x96,0xC9,0x00,0x00,}},
+ {0x67FA,2,{0x96,0xCA,0x00,0x00,}},
+ {0x67FB,2,{0x96,0xCB,0x00,0x00,}},
+ {0x67FC,2,{0x96,0xCC,0x00,0x00,}},
+ {0x67FD,2,{0xE8,0xDF,0x00,0x00,}},
+ {0x67FE,2,{0x96,0xCD,0x00,0x00,}},
+ {0x67FF,2,{0xCA,0xC1,0x00,0x00,}},
+ {0x6800,2,{0xE8,0xD9,0x00,0x00,}},
+ {0x6801,2,{0x96,0xCE,0x00,0x00,}},
+ {0x6802,2,{0x96,0xCF,0x00,0x00,}},
+ {0x6803,2,{0x96,0xD0,0x00,0x00,}},
+ {0x6804,2,{0x96,0xD1,0x00,0x00,}},
+ {0x6805,2,{0xD5,0xA4,0x00,0x00,}},
+ {0x6806,2,{0x96,0xD2,0x00,0x00,}},
+ {0x6807,2,{0xB1,0xEA,0x00,0x00,}},
+ {0x6808,2,{0xD5,0xBB,0x00,0x00,}},
+ {0x6809,2,{0xE8,0xCE,0x00,0x00,}},
+ {0x680A,2,{0xE8,0xD0,0x00,0x00,}},
+ {0x680B,2,{0xB6,0xB0,0x00,0x00,}},
+ {0x680C,2,{0xE8,0xD3,0x00,0x00,}},
+ {0x680D,2,{0x96,0xD3,0x00,0x00,}},
+ {0x680E,2,{0xE8,0xDD,0x00,0x00,}},
+ {0x680F,2,{0xC0,0xB8,0x00,0x00,}},
+ {0x6810,2,{0x96,0xD4,0x00,0x00,}},
+ {0x6811,2,{0xCA,0xF7,0x00,0x00,}},
+ {0x6812,2,{0x96,0xD5,0x00,0x00,}},
+ {0x6813,2,{0xCB,0xA8,0x00,0x00,}},
+ {0x6814,2,{0x96,0xD6,0x00,0x00,}},
+ {0x6815,2,{0x96,0xD7,0x00,0x00,}},
+ {0x6816,2,{0xC6,0xDC,0x00,0x00,}},
+ {0x6817,2,{0xC0,0xF5,0x00,0x00,}},
+ {0x6818,2,{0x96,0xD8,0x00,0x00,}},
+ {0x6819,2,{0x96,0xD9,0x00,0x00,}},
+ {0x681A,2,{0x96,0xDA,0x00,0x00,}},
+ {0x681B,2,{0x96,0xDB,0x00,0x00,}},
+ {0x681C,2,{0x96,0xDC,0x00,0x00,}},
+ {0x681D,2,{0xE8,0xE9,0x00,0x00,}},
+ {0x681E,2,{0x96,0xDD,0x00,0x00,}},
+ {0x681F,2,{0x96,0xDE,0x00,0x00,}},
+ {0x6820,2,{0x96,0xDF,0x00,0x00,}},
+ {0x6821,2,{0xD0,0xA3,0x00,0x00,}},
+ {0x6822,2,{0x96,0xE0,0x00,0x00,}},
+ {0x6823,2,{0x96,0xE1,0x00,0x00,}},
+ {0x6824,2,{0x96,0xE2,0x00,0x00,}},
+ {0x6825,2,{0x96,0xE3,0x00,0x00,}},
+ {0x6826,2,{0x96,0xE4,0x00,0x00,}},
+ {0x6827,2,{0x96,0xE5,0x00,0x00,}},
+ {0x6828,2,{0x96,0xE6,0x00,0x00,}},
+ {0x6829,2,{0xE8,0xF2,0x00,0x00,}},
+ {0x682A,2,{0xD6,0xEA,0x00,0x00,}},
+ {0x682B,2,{0x96,0xE7,0x00,0x00,}},
+ {0x682C,2,{0x96,0xE8,0x00,0x00,}},
+ {0x682D,2,{0x96,0xE9,0x00,0x00,}},
+ {0x682E,2,{0x96,0xEA,0x00,0x00,}},
+ {0x682F,2,{0x96,0xEB,0x00,0x00,}},
+ {0x6830,2,{0x96,0xEC,0x00,0x00,}},
+ {0x6831,2,{0x96,0xED,0x00,0x00,}},
+ {0x6832,2,{0xE8,0xE0,0x00,0x00,}},
+ {0x6833,2,{0xE8,0xE1,0x00,0x00,}},
+ {0x6834,2,{0x96,0xEE,0x00,0x00,}},
+ {0x6835,2,{0x96,0xEF,0x00,0x00,}},
+ {0x6836,2,{0x96,0xF0,0x00,0x00,}},
+ {0x6837,2,{0xD1,0xF9,0x00,0x00,}},
+ {0x6838,2,{0xBA,0xCB,0x00,0x00,}},
+ {0x6839,2,{0xB8,0xF9,0x00,0x00,}},
+ {0x683A,2,{0x96,0xF1,0x00,0x00,}},
+ {0x683B,2,{0x96,0xF2,0x00,0x00,}},
+ {0x683C,2,{0xB8,0xF1,0x00,0x00,}},
+ {0x683D,2,{0xD4,0xD4,0x00,0x00,}},
+ {0x683E,2,{0xE8,0xEF,0x00,0x00,}},
+ {0x683F,2,{0x96,0xF3,0x00,0x00,}},
+ {0x6840,2,{0xE8,0xEE,0x00,0x00,}},
+ {0x6841,2,{0xE8,0xEC,0x00,0x00,}},
+ {0x6842,2,{0xB9,0xF0,0x00,0x00,}},
+ {0x6843,2,{0xCC,0xD2,0x00,0x00,}},
+ {0x6844,2,{0xE8,0xE6,0x00,0x00,}},
+ {0x6845,2,{0xCE,0xA6,0x00,0x00,}},
+ {0x6846,2,{0xBF,0xF2,0x00,0x00,}},
+ {0x6847,2,{0x96,0xF4,0x00,0x00,}},
+ {0x6848,2,{0xB0,0xB8,0x00,0x00,}},
+ {0x6849,2,{0xE8,0xF1,0x00,0x00,}},
+ {0x684A,2,{0xE8,0xF0,0x00,0x00,}},
+ {0x684B,2,{0x96,0xF5,0x00,0x00,}},
+ {0x684C,2,{0xD7,0xC0,0x00,0x00,}},
+ {0x684D,2,{0x96,0xF6,0x00,0x00,}},
+ {0x684E,2,{0xE8,0xE4,0x00,0x00,}},
+ {0x684F,2,{0x96,0xF7,0x00,0x00,}},
+ {0x6850,2,{0xCD,0xA9,0x00,0x00,}},
+ {0x6851,2,{0xC9,0xA3,0x00,0x00,}},
+ {0x6852,2,{0x96,0xF8,0x00,0x00,}},
+ {0x6853,2,{0xBB,0xB8,0x00,0x00,}},
+ {0x6854,2,{0xBD,0xDB,0x00,0x00,}},
+ {0x6855,2,{0xE8,0xEA,0x00,0x00,}},
+ {0x6856,2,{0x96,0xF9,0x00,0x00,}},
+ {0x6857,2,{0x96,0xFA,0x00,0x00,}},
+ {0x6858,2,{0x96,0xFB,0x00,0x00,}},
+ {0x6859,2,{0x96,0xFC,0x00,0x00,}},
+ {0x685A,2,{0x96,0xFD,0x00,0x00,}},
+ {0x685B,2,{0x96,0xFE,0x00,0x00,}},
+ {0x685C,2,{0x97,0x40,0x00,0x00,}},
+ {0x685D,2,{0x97,0x41,0x00,0x00,}},
+ {0x685E,2,{0x97,0x42,0x00,0x00,}},
+ {0x685F,2,{0x97,0x43,0x00,0x00,}},
+ {0x6860,2,{0xE8,0xE2,0x00,0x00,}},
+ {0x6861,2,{0xE8,0xE3,0x00,0x00,}},
+ {0x6862,2,{0xE8,0xE5,0x00,0x00,}},
+ {0x6863,2,{0xB5,0xB5,0x00,0x00,}},
+ {0x6864,2,{0xE8,0xE7,0x00,0x00,}},
+ {0x6865,2,{0xC7,0xC5,0x00,0x00,}},
+ {0x6866,2,{0xE8,0xEB,0x00,0x00,}},
+ {0x6867,2,{0xE8,0xED,0x00,0x00,}},
+ {0x6868,2,{0xBD,0xB0,0x00,0x00,}},
+ {0x6869,2,{0xD7,0xAE,0x00,0x00,}},
+ {0x686A,2,{0x97,0x44,0x00,0x00,}},
+ {0x686B,2,{0xE8,0xF8,0x00,0x00,}},
+ {0x686C,2,{0x97,0x45,0x00,0x00,}},
+ {0x686D,2,{0x97,0x46,0x00,0x00,}},
+ {0x686E,2,{0x97,0x47,0x00,0x00,}},
+ {0x686F,2,{0x97,0x48,0x00,0x00,}},
+ {0x6870,2,{0x97,0x49,0x00,0x00,}},
+ {0x6871,2,{0x97,0x4A,0x00,0x00,}},
+ {0x6872,2,{0x97,0x4B,0x00,0x00,}},
+ {0x6873,2,{0x97,0x4C,0x00,0x00,}},
+ {0x6874,2,{0xE8,0xF5,0x00,0x00,}},
+ {0x6875,2,{0x97,0x4D,0x00,0x00,}},
+ {0x6876,2,{0xCD,0xB0,0x00,0x00,}},
+ {0x6877,2,{0xE8,0xF6,0x00,0x00,}},
+ {0x6878,2,{0x97,0x4E,0x00,0x00,}},
+ {0x6879,2,{0x97,0x4F,0x00,0x00,}},
+ {0x687A,2,{0x97,0x50,0x00,0x00,}},
+ {0x687B,2,{0x97,0x51,0x00,0x00,}},
+ {0x687C,2,{0x97,0x52,0x00,0x00,}},
+ {0x687D,2,{0x97,0x53,0x00,0x00,}},
+ {0x687E,2,{0x97,0x54,0x00,0x00,}},
+ {0x687F,2,{0x97,0x55,0x00,0x00,}},
+ {0x6880,2,{0x97,0x56,0x00,0x00,}},
+ {0x6881,2,{0xC1,0xBA,0x00,0x00,}},
+ {0x6882,2,{0x97,0x57,0x00,0x00,}},
+ {0x6883,2,{0xE8,0xE8,0x00,0x00,}},
+ {0x6884,2,{0x97,0x58,0x00,0x00,}},
+ {0x6885,2,{0xC3,0xB7,0x00,0x00,}},
+ {0x6886,2,{0xB0,0xF0,0x00,0x00,}},
+ {0x6887,2,{0x97,0x59,0x00,0x00,}},
+ {0x6888,2,{0x97,0x5A,0x00,0x00,}},
+ {0x6889,2,{0x97,0x5B,0x00,0x00,}},
+ {0x688A,2,{0x97,0x5C,0x00,0x00,}},
+ {0x688B,2,{0x97,0x5D,0x00,0x00,}},
+ {0x688C,2,{0x97,0x5E,0x00,0x00,}},
+ {0x688D,2,{0x97,0x5F,0x00,0x00,}},
+ {0x688E,2,{0x97,0x60,0x00,0x00,}},
+ {0x688F,2,{0xE8,0xF4,0x00,0x00,}},
+ {0x6890,2,{0x97,0x61,0x00,0x00,}},
+ {0x6891,2,{0x97,0x62,0x00,0x00,}},
+ {0x6892,2,{0x97,0x63,0x00,0x00,}},
+ {0x6893,2,{0xE8,0xF7,0x00,0x00,}},
+ {0x6894,2,{0x97,0x64,0x00,0x00,}},
+ {0x6895,2,{0x97,0x65,0x00,0x00,}},
+ {0x6896,2,{0x97,0x66,0x00,0x00,}},
+ {0x6897,2,{0xB9,0xA3,0x00,0x00,}},
+ {0x6898,2,{0x97,0x67,0x00,0x00,}},
+ {0x6899,2,{0x97,0x68,0x00,0x00,}},
+ {0x689A,2,{0x97,0x69,0x00,0x00,}},
+ {0x689B,2,{0x97,0x6A,0x00,0x00,}},
+ {0x689C,2,{0x97,0x6B,0x00,0x00,}},
+ {0x689D,2,{0x97,0x6C,0x00,0x00,}},
+ {0x689E,2,{0x97,0x6D,0x00,0x00,}},
+ {0x689F,2,{0x97,0x6E,0x00,0x00,}},
+ {0x68A0,2,{0x97,0x6F,0x00,0x00,}},
+ {0x68A1,2,{0x97,0x70,0x00,0x00,}},
+ {0x68A2,2,{0xC9,0xD2,0x00,0x00,}},
+ {0x68A3,2,{0x97,0x71,0x00,0x00,}},
+ {0x68A4,2,{0x97,0x72,0x00,0x00,}},
+ {0x68A5,2,{0x97,0x73,0x00,0x00,}},
+ {0x68A6,2,{0xC3,0xCE,0x00,0x00,}},
+ {0x68A7,2,{0xCE,0xE0,0x00,0x00,}},
+ {0x68A8,2,{0xC0,0xE6,0x00,0x00,}},
+ {0x68A9,2,{0x97,0x74,0x00,0x00,}},
+ {0x68AA,2,{0x97,0x75,0x00,0x00,}},
+ {0x68AB,2,{0x97,0x76,0x00,0x00,}},
+ {0x68AC,2,{0x97,0x77,0x00,0x00,}},
+ {0x68AD,2,{0xCB,0xF3,0x00,0x00,}},
+ {0x68AE,2,{0x97,0x78,0x00,0x00,}},
+ {0x68AF,2,{0xCC,0xDD,0x00,0x00,}},
+ {0x68B0,2,{0xD0,0xB5,0x00,0x00,}},
+ {0x68B1,2,{0x97,0x79,0x00,0x00,}},
+ {0x68B2,2,{0x97,0x7A,0x00,0x00,}},
+ {0x68B3,2,{0xCA,0xE1,0x00,0x00,}},
+ {0x68B4,2,{0x97,0x7B,0x00,0x00,}},
+ {0x68B5,2,{0xE8,0xF3,0x00,0x00,}},
+ {0x68B6,2,{0x97,0x7C,0x00,0x00,}},
+ {0x68B7,2,{0x97,0x7D,0x00,0x00,}},
+ {0x68B8,2,{0x97,0x7E,0x00,0x00,}},
+ {0x68B9,2,{0x97,0x80,0x00,0x00,}},
+ {0x68BA,2,{0x97,0x81,0x00,0x00,}},
+ {0x68BB,2,{0x97,0x82,0x00,0x00,}},
+ {0x68BC,2,{0x97,0x83,0x00,0x00,}},
+ {0x68BD,2,{0x97,0x84,0x00,0x00,}},
+ {0x68BE,2,{0x97,0x85,0x00,0x00,}},
+ {0x68BF,2,{0x97,0x86,0x00,0x00,}},
+ {0x68C0,2,{0xBC,0xEC,0x00,0x00,}},
+ {0x68C1,2,{0x97,0x87,0x00,0x00,}},
+ {0x68C2,2,{0xE8,0xF9,0x00,0x00,}},
+ {0x68C3,2,{0x97,0x88,0x00,0x00,}},
+ {0x68C4,2,{0x97,0x89,0x00,0x00,}},
+ {0x68C5,2,{0x97,0x8A,0x00,0x00,}},
+ {0x68C6,2,{0x97,0x8B,0x00,0x00,}},
+ {0x68C7,2,{0x97,0x8C,0x00,0x00,}},
+ {0x68C8,2,{0x97,0x8D,0x00,0x00,}},
+ {0x68C9,2,{0xC3,0xDE,0x00,0x00,}},
+ {0x68CA,2,{0x97,0x8E,0x00,0x00,}},
+ {0x68CB,2,{0xC6,0xE5,0x00,0x00,}},
+ {0x68CC,2,{0x97,0x8F,0x00,0x00,}},
+ {0x68CD,2,{0xB9,0xF7,0x00,0x00,}},
+ {0x68CE,2,{0x97,0x90,0x00,0x00,}},
+ {0x68CF,2,{0x97,0x91,0x00,0x00,}},
+ {0x68D0,2,{0x97,0x92,0x00,0x00,}},
+ {0x68D1,2,{0x97,0x93,0x00,0x00,}},
+ {0x68D2,2,{0xB0,0xF4,0x00,0x00,}},
+ {0x68D3,2,{0x97,0x94,0x00,0x00,}},
+ {0x68D4,2,{0x97,0x95,0x00,0x00,}},
+ {0x68D5,2,{0xD7,0xD8,0x00,0x00,}},
+ {0x68D6,2,{0x97,0x96,0x00,0x00,}},
+ {0x68D7,2,{0x97,0x97,0x00,0x00,}},
+ {0x68D8,2,{0xBC,0xAC,0x00,0x00,}},
+ {0x68D9,2,{0x97,0x98,0x00,0x00,}},
+ {0x68DA,2,{0xC5,0xEF,0x00,0x00,}},
+ {0x68DB,2,{0x97,0x99,0x00,0x00,}},
+ {0x68DC,2,{0x97,0x9A,0x00,0x00,}},
+ {0x68DD,2,{0x97,0x9B,0x00,0x00,}},
+ {0x68DE,2,{0x97,0x9C,0x00,0x00,}},
+ {0x68DF,2,{0x97,0x9D,0x00,0x00,}},
+ {0x68E0,2,{0xCC,0xC4,0x00,0x00,}},
+ {0x68E1,2,{0x97,0x9E,0x00,0x00,}},
+ {0x68E2,2,{0x97,0x9F,0x00,0x00,}},
+ {0x68E3,2,{0xE9,0xA6,0x00,0x00,}},
+ {0x68E4,2,{0x97,0xA0,0x00,0x00,}},
+ {0x68E5,2,{0x97,0xA1,0x00,0x00,}},
+ {0x68E6,2,{0x97,0xA2,0x00,0x00,}},
+ {0x68E7,2,{0x97,0xA3,0x00,0x00,}},
+ {0x68E8,2,{0x97,0xA4,0x00,0x00,}},
+ {0x68E9,2,{0x97,0xA5,0x00,0x00,}},
+ {0x68EA,2,{0x97,0xA6,0x00,0x00,}},
+ {0x68EB,2,{0x97,0xA7,0x00,0x00,}},
+ {0x68EC,2,{0x97,0xA8,0x00,0x00,}},
+ {0x68ED,2,{0x97,0xA9,0x00,0x00,}},
+ {0x68EE,2,{0xC9,0xAD,0x00,0x00,}},
+ {0x68EF,2,{0x97,0xAA,0x00,0x00,}},
+ {0x68F0,2,{0xE9,0xA2,0x00,0x00,}},
+ {0x68F1,2,{0xC0,0xE2,0x00,0x00,}},
+ {0x68F2,2,{0x97,0xAB,0x00,0x00,}},
+ {0x68F3,2,{0x97,0xAC,0x00,0x00,}},
+ {0x68F4,2,{0x97,0xAD,0x00,0x00,}},
+ {0x68F5,2,{0xBF,0xC3,0x00,0x00,}},
+ {0x68F6,2,{0x97,0xAE,0x00,0x00,}},
+ {0x68F7,2,{0x97,0xAF,0x00,0x00,}},
+ {0x68F8,2,{0x97,0xB0,0x00,0x00,}},
+ {0x68F9,2,{0xE8,0xFE,0x00,0x00,}},
+ {0x68FA,2,{0xB9,0xD7,0x00,0x00,}},
+ {0x68FB,2,{0x97,0xB1,0x00,0x00,}},
+ {0x68FC,2,{0xE8,0xFB,0x00,0x00,}},
+ {0x68FD,2,{0x97,0xB2,0x00,0x00,}},
+ {0x68FE,2,{0x97,0xB3,0x00,0x00,}},
+ {0x68FF,2,{0x97,0xB4,0x00,0x00,}},
+ {0x6900,2,{0x97,0xB5,0x00,0x00,}},
+ {0x6901,2,{0xE9,0xA4,0x00,0x00,}},
+ {0x6902,2,{0x97,0xB6,0x00,0x00,}},
+ {0x6903,2,{0x97,0xB7,0x00,0x00,}},
+ {0x6904,2,{0x97,0xB8,0x00,0x00,}},
+ {0x6905,2,{0xD2,0xCE,0x00,0x00,}},
+ {0x6906,2,{0x97,0xB9,0x00,0x00,}},
+ {0x6907,2,{0x97,0xBA,0x00,0x00,}},
+ {0x6908,2,{0x97,0xBB,0x00,0x00,}},
+ {0x6909,2,{0x97,0xBC,0x00,0x00,}},
+ {0x690A,2,{0x97,0xBD,0x00,0x00,}},
+ {0x690B,2,{0xE9,0xA3,0x00,0x00,}},
+ {0x690C,2,{0x97,0xBE,0x00,0x00,}},
+ {0x690D,2,{0xD6,0xB2,0x00,0x00,}},
+ {0x690E,2,{0xD7,0xB5,0x00,0x00,}},
+ {0x690F,2,{0x97,0xBF,0x00,0x00,}},
+ {0x6910,2,{0xE9,0xA7,0x00,0x00,}},
+ {0x6911,2,{0x97,0xC0,0x00,0x00,}},
+ {0x6912,2,{0xBD,0xB7,0x00,0x00,}},
+ {0x6913,2,{0x97,0xC1,0x00,0x00,}},
+ {0x6914,2,{0x97,0xC2,0x00,0x00,}},
+ {0x6915,2,{0x97,0xC3,0x00,0x00,}},
+ {0x6916,2,{0x97,0xC4,0x00,0x00,}},
+ {0x6917,2,{0x97,0xC5,0x00,0x00,}},
+ {0x6918,2,{0x97,0xC6,0x00,0x00,}},
+ {0x6919,2,{0x97,0xC7,0x00,0x00,}},
+ {0x691A,2,{0x97,0xC8,0x00,0x00,}},
+ {0x691B,2,{0x97,0xC9,0x00,0x00,}},
+ {0x691C,2,{0x97,0xCA,0x00,0x00,}},
+ {0x691D,2,{0x97,0xCB,0x00,0x00,}},
+ {0x691E,2,{0x97,0xCC,0x00,0x00,}},
+ {0x691F,2,{0xE8,0xFC,0x00,0x00,}},
+ {0x6920,2,{0xE8,0xFD,0x00,0x00,}},
+ {0x6921,2,{0x97,0xCD,0x00,0x00,}},
+ {0x6922,2,{0x97,0xCE,0x00,0x00,}},
+ {0x6923,2,{0x97,0xCF,0x00,0x00,}},
+ {0x6924,2,{0xE9,0xA1,0x00,0x00,}},
+ {0x6925,2,{0x97,0xD0,0x00,0x00,}},
+ {0x6926,2,{0x97,0xD1,0x00,0x00,}},
+ {0x6927,2,{0x97,0xD2,0x00,0x00,}},
+ {0x6928,2,{0x97,0xD3,0x00,0x00,}},
+ {0x6929,2,{0x97,0xD4,0x00,0x00,}},
+ {0x692A,2,{0x97,0xD5,0x00,0x00,}},
+ {0x692B,2,{0x97,0xD6,0x00,0x00,}},
+ {0x692C,2,{0x97,0xD7,0x00,0x00,}},
+ {0x692D,2,{0xCD,0xD6,0x00,0x00,}},
+ {0x692E,2,{0x97,0xD8,0x00,0x00,}},
+ {0x692F,2,{0x97,0xD9,0x00,0x00,}},
+ {0x6930,2,{0xD2,0xAC,0x00,0x00,}},
+ {0x6931,2,{0x97,0xDA,0x00,0x00,}},
+ {0x6932,2,{0x97,0xDB,0x00,0x00,}},
+ {0x6933,2,{0x97,0xDC,0x00,0x00,}},
+ {0x6934,2,{0xE9,0xB2,0x00,0x00,}},
+ {0x6935,2,{0x97,0xDD,0x00,0x00,}},
+ {0x6936,2,{0x97,0xDE,0x00,0x00,}},
+ {0x6937,2,{0x97,0xDF,0x00,0x00,}},
+ {0x6938,2,{0x97,0xE0,0x00,0x00,}},
+ {0x6939,2,{0xE9,0xA9,0x00,0x00,}},
+ {0x693A,2,{0x97,0xE1,0x00,0x00,}},
+ {0x693B,2,{0x97,0xE2,0x00,0x00,}},
+ {0x693C,2,{0x97,0xE3,0x00,0x00,}},
+ {0x693D,2,{0xB4,0xAA,0x00,0x00,}},
+ {0x693E,2,{0x97,0xE4,0x00,0x00,}},
+ {0x693F,2,{0xB4,0xBB,0x00,0x00,}},
+ {0x6940,2,{0x97,0xE5,0x00,0x00,}},
+ {0x6941,2,{0x97,0xE6,0x00,0x00,}},
+ {0x6942,2,{0xE9,0xAB,0x00,0x00,}},
+ {0x6943,2,{0x97,0xE7,0x00,0x00,}},
+ {0x6944,2,{0x97,0xE8,0x00,0x00,}},
+ {0x6945,2,{0x97,0xE9,0x00,0x00,}},
+ {0x6946,2,{0x97,0xEA,0x00,0x00,}},
+ {0x6947,2,{0x97,0xEB,0x00,0x00,}},
+ {0x6948,2,{0x97,0xEC,0x00,0x00,}},
+ {0x6949,2,{0x97,0xED,0x00,0x00,}},
+ {0x694A,2,{0x97,0xEE,0x00,0x00,}},
+ {0x694B,2,{0x97,0xEF,0x00,0x00,}},
+ {0x694C,2,{0x97,0xF0,0x00,0x00,}},
+ {0x694D,2,{0x97,0xF1,0x00,0x00,}},
+ {0x694E,2,{0x97,0xF2,0x00,0x00,}},
+ {0x694F,2,{0x97,0xF3,0x00,0x00,}},
+ {0x6950,2,{0x97,0xF4,0x00,0x00,}},
+ {0x6951,2,{0x97,0xF5,0x00,0x00,}},
+ {0x6952,2,{0x97,0xF6,0x00,0x00,}},
+ {0x6953,2,{0x97,0xF7,0x00,0x00,}},
+ {0x6954,2,{0xD0,0xA8,0x00,0x00,}},
+ {0x6955,2,{0x97,0xF8,0x00,0x00,}},
+ {0x6956,2,{0x97,0xF9,0x00,0x00,}},
+ {0x6957,2,{0xE9,0xA5,0x00,0x00,}},
+ {0x6958,2,{0x97,0xFA,0x00,0x00,}},
+ {0x6959,2,{0x97,0xFB,0x00,0x00,}},
+ {0x695A,2,{0xB3,0xFE,0x00,0x00,}},
+ {0x695B,2,{0x97,0xFC,0x00,0x00,}},
+ {0x695C,2,{0x97,0xFD,0x00,0x00,}},
+ {0x695D,2,{0xE9,0xAC,0x00,0x00,}},
+ {0x695E,2,{0xC0,0xE3,0x00,0x00,}},
+ {0x695F,2,{0x97,0xFE,0x00,0x00,}},
+ {0x6960,2,{0xE9,0xAA,0x00,0x00,}},
+ {0x6961,2,{0x98,0x40,0x00,0x00,}},
+ {0x6962,2,{0x98,0x41,0x00,0x00,}},
+ {0x6963,2,{0xE9,0xB9,0x00,0x00,}},
+ {0x6964,2,{0x98,0x42,0x00,0x00,}},
+ {0x6965,2,{0x98,0x43,0x00,0x00,}},
+ {0x6966,2,{0xE9,0xB8,0x00,0x00,}},
+ {0x6967,2,{0x98,0x44,0x00,0x00,}},
+ {0x6968,2,{0x98,0x45,0x00,0x00,}},
+ {0x6969,2,{0x98,0x46,0x00,0x00,}},
+ {0x696A,2,{0x98,0x47,0x00,0x00,}},
+ {0x696B,2,{0xE9,0xAE,0x00,0x00,}},
+ {0x696C,2,{0x98,0x48,0x00,0x00,}},
+ {0x696D,2,{0x98,0x49,0x00,0x00,}},
+ {0x696E,2,{0xE8,0xFA,0x00,0x00,}},
+ {0x696F,2,{0x98,0x4A,0x00,0x00,}},
+ {0x6970,2,{0x98,0x4B,0x00,0x00,}},
+ {0x6971,2,{0xE9,0xA8,0x00,0x00,}},
+ {0x6972,2,{0x98,0x4C,0x00,0x00,}},
+ {0x6973,2,{0x98,0x4D,0x00,0x00,}},
+ {0x6974,2,{0x98,0x4E,0x00,0x00,}},
+ {0x6975,2,{0x98,0x4F,0x00,0x00,}},
+ {0x6976,2,{0x98,0x50,0x00,0x00,}},
+ {0x6977,2,{0xBF,0xAC,0x00,0x00,}},
+ {0x6978,2,{0xE9,0xB1,0x00,0x00,}},
+ {0x6979,2,{0xE9,0xBA,0x00,0x00,}},
+ {0x697A,2,{0x98,0x51,0x00,0x00,}},
+ {0x697B,2,{0x98,0x52,0x00,0x00,}},
+ {0x697C,2,{0xC2,0xA5,0x00,0x00,}},
+ {0x697D,2,{0x98,0x53,0x00,0x00,}},
+ {0x697E,2,{0x98,0x54,0x00,0x00,}},
+ {0x697F,2,{0x98,0x55,0x00,0x00,}},
+ {0x6980,2,{0xE9,0xAF,0x00,0x00,}},
+ {0x6981,2,{0x98,0x56,0x00,0x00,}},
+ {0x6982,2,{0xB8,0xC5,0x00,0x00,}},
+ {0x6983,2,{0x98,0x57,0x00,0x00,}},
+ {0x6984,2,{0xE9,0xAD,0x00,0x00,}},
+ {0x6985,2,{0x98,0x58,0x00,0x00,}},
+ {0x6986,2,{0xD3,0xDC,0x00,0x00,}},
+ {0x6987,2,{0xE9,0xB4,0x00,0x00,}},
+ {0x6988,2,{0xE9,0xB5,0x00,0x00,}},
+ {0x6989,2,{0xE9,0xB7,0x00,0x00,}},
+ {0x698A,2,{0x98,0x59,0x00,0x00,}},
+ {0x698B,2,{0x98,0x5A,0x00,0x00,}},
+ {0x698C,2,{0x98,0x5B,0x00,0x00,}},
+ {0x698D,2,{0xE9,0xC7,0x00,0x00,}},
+ {0x698E,2,{0x98,0x5C,0x00,0x00,}},
+ {0x698F,2,{0x98,0x5D,0x00,0x00,}},
+ {0x6990,2,{0x98,0x5E,0x00,0x00,}},
+ {0x6991,2,{0x98,0x5F,0x00,0x00,}},
+ {0x6992,2,{0x98,0x60,0x00,0x00,}},
+ {0x6993,2,{0x98,0x61,0x00,0x00,}},
+ {0x6994,2,{0xC0,0xC6,0x00,0x00,}},
+ {0x6995,2,{0xE9,0xC5,0x00,0x00,}},
+ {0x6996,2,{0x98,0x62,0x00,0x00,}},
+ {0x6997,2,{0x98,0x63,0x00,0x00,}},
+ {0x6998,2,{0xE9,0xB0,0x00,0x00,}},
+ {0x6999,2,{0x98,0x64,0x00,0x00,}},
+ {0x699A,2,{0x98,0x65,0x00,0x00,}},
+ {0x699B,2,{0xE9,0xBB,0x00,0x00,}},
+ {0x699C,2,{0xB0,0xF1,0x00,0x00,}},
+ {0x699D,2,{0x98,0x66,0x00,0x00,}},
+ {0x699E,2,{0x98,0x67,0x00,0x00,}},
+ {0x699F,2,{0x98,0x68,0x00,0x00,}},
+ {0x69A0,2,{0x98,0x69,0x00,0x00,}},
+ {0x69A1,2,{0x98,0x6A,0x00,0x00,}},
+ {0x69A2,2,{0x98,0x6B,0x00,0x00,}},
+ {0x69A3,2,{0x98,0x6C,0x00,0x00,}},
+ {0x69A4,2,{0x98,0x6D,0x00,0x00,}},
+ {0x69A5,2,{0x98,0x6E,0x00,0x00,}},
+ {0x69A6,2,{0x98,0x6F,0x00,0x00,}},
+ {0x69A7,2,{0xE9,0xBC,0x00,0x00,}},
+ {0x69A8,2,{0xD5,0xA5,0x00,0x00,}},
+ {0x69A9,2,{0x98,0x70,0x00,0x00,}},
+ {0x69AA,2,{0x98,0x71,0x00,0x00,}},
+ {0x69AB,2,{0xE9,0xBE,0x00,0x00,}},
+ {0x69AC,2,{0x98,0x72,0x00,0x00,}},
+ {0x69AD,2,{0xE9,0xBF,0x00,0x00,}},
+ {0x69AE,2,{0x98,0x73,0x00,0x00,}},
+ {0x69AF,2,{0x98,0x74,0x00,0x00,}},
+ {0x69B0,2,{0x98,0x75,0x00,0x00,}},
+ {0x69B1,2,{0xE9,0xC1,0x00,0x00,}},
+ {0x69B2,2,{0x98,0x76,0x00,0x00,}},
+ {0x69B3,2,{0x98,0x77,0x00,0x00,}},
+ {0x69B4,2,{0xC1,0xF1,0x00,0x00,}},
+ {0x69B5,2,{0x98,0x78,0x00,0x00,}},
+ {0x69B6,2,{0x98,0x79,0x00,0x00,}},
+ {0x69B7,2,{0xC8,0xB6,0x00,0x00,}},
+ {0x69B8,2,{0x98,0x7A,0x00,0x00,}},
+ {0x69B9,2,{0x98,0x7B,0x00,0x00,}},
+ {0x69BA,2,{0x98,0x7C,0x00,0x00,}},
+ {0x69BB,2,{0xE9,0xBD,0x00,0x00,}},
+ {0x69BC,2,{0x98,0x7D,0x00,0x00,}},
+ {0x69BD,2,{0x98,0x7E,0x00,0x00,}},
+ {0x69BE,2,{0x98,0x80,0x00,0x00,}},
+ {0x69BF,2,{0x98,0x81,0x00,0x00,}},
+ {0x69C0,2,{0x98,0x82,0x00,0x00,}},
+ {0x69C1,2,{0xE9,0xC2,0x00,0x00,}},
+ {0x69C2,2,{0x98,0x83,0x00,0x00,}},
+ {0x69C3,2,{0x98,0x84,0x00,0x00,}},
+ {0x69C4,2,{0x98,0x85,0x00,0x00,}},
+ {0x69C5,2,{0x98,0x86,0x00,0x00,}},
+ {0x69C6,2,{0x98,0x87,0x00,0x00,}},
+ {0x69C7,2,{0x98,0x88,0x00,0x00,}},
+ {0x69C8,2,{0x98,0x89,0x00,0x00,}},
+ {0x69C9,2,{0x98,0x8A,0x00,0x00,}},
+ {0x69CA,2,{0xE9,0xC3,0x00,0x00,}},
+ {0x69CB,2,{0x98,0x8B,0x00,0x00,}},
+ {0x69CC,2,{0xE9,0xB3,0x00,0x00,}},
+ {0x69CD,2,{0x98,0x8C,0x00,0x00,}},
+ {0x69CE,2,{0xE9,0xB6,0x00,0x00,}},
+ {0x69CF,2,{0x98,0x8D,0x00,0x00,}},
+ {0x69D0,2,{0xBB,0xB1,0x00,0x00,}},
+ {0x69D1,2,{0x98,0x8E,0x00,0x00,}},
+ {0x69D2,2,{0x98,0x8F,0x00,0x00,}},
+ {0x69D3,2,{0x98,0x90,0x00,0x00,}},
+ {0x69D4,2,{0xE9,0xC0,0x00,0x00,}},
+ {0x69D5,2,{0x98,0x91,0x00,0x00,}},
+ {0x69D6,2,{0x98,0x92,0x00,0x00,}},
+ {0x69D7,2,{0x98,0x93,0x00,0x00,}},
+ {0x69D8,2,{0x98,0x94,0x00,0x00,}},
+ {0x69D9,2,{0x98,0x95,0x00,0x00,}},
+ {0x69DA,2,{0x98,0x96,0x00,0x00,}},
+ {0x69DB,2,{0xBC,0xF7,0x00,0x00,}},
+ {0x69DC,2,{0x98,0x97,0x00,0x00,}},
+ {0x69DD,2,{0x98,0x98,0x00,0x00,}},
+ {0x69DE,2,{0x98,0x99,0x00,0x00,}},
+ {0x69DF,2,{0xE9,0xC4,0x00,0x00,}},
+ {0x69E0,2,{0xE9,0xC6,0x00,0x00,}},
+ {0x69E1,2,{0x98,0x9A,0x00,0x00,}},
+ {0x69E2,2,{0x98,0x9B,0x00,0x00,}},
+ {0x69E3,2,{0x98,0x9C,0x00,0x00,}},
+ {0x69E4,2,{0x98,0x9D,0x00,0x00,}},
+ {0x69E5,2,{0x98,0x9E,0x00,0x00,}},
+ {0x69E6,2,{0x98,0x9F,0x00,0x00,}},
+ {0x69E7,2,{0x98,0xA0,0x00,0x00,}},
+ {0x69E8,2,{0x98,0xA1,0x00,0x00,}},
+ {0x69E9,2,{0x98,0xA2,0x00,0x00,}},
+ {0x69EA,2,{0x98,0xA3,0x00,0x00,}},
+ {0x69EB,2,{0x98,0xA4,0x00,0x00,}},
+ {0x69EC,2,{0x98,0xA5,0x00,0x00,}},
+ {0x69ED,2,{0xE9,0xCA,0x00,0x00,}},
+ {0x69EE,2,{0x98,0xA6,0x00,0x00,}},
+ {0x69EF,2,{0x98,0xA7,0x00,0x00,}},
+ {0x69F0,2,{0x98,0xA8,0x00,0x00,}},
+ {0x69F1,2,{0x98,0xA9,0x00,0x00,}},
+ {0x69F2,2,{0xE9,0xCE,0x00,0x00,}},
+ {0x69F3,2,{0x98,0xAA,0x00,0x00,}},
+ {0x69F4,2,{0x98,0xAB,0x00,0x00,}},
+ {0x69F5,2,{0x98,0xAC,0x00,0x00,}},
+ {0x69F6,2,{0x98,0xAD,0x00,0x00,}},
+ {0x69F7,2,{0x98,0xAE,0x00,0x00,}},
+ {0x69F8,2,{0x98,0xAF,0x00,0x00,}},
+ {0x69F9,2,{0x98,0xB0,0x00,0x00,}},
+ {0x69FA,2,{0x98,0xB1,0x00,0x00,}},
+ {0x69FB,2,{0x98,0xB2,0x00,0x00,}},
+ {0x69FC,2,{0x98,0xB3,0x00,0x00,}},
+ {0x69FD,2,{0xB2,0xDB,0x00,0x00,}},
+ {0x69FE,2,{0x98,0xB4,0x00,0x00,}},
+ {0x69FF,2,{0xE9,0xC8,0x00,0x00,}},
+ {0x6A00,2,{0x98,0xB5,0x00,0x00,}},
+ {0x6A01,2,{0x98,0xB6,0x00,0x00,}},
+ {0x6A02,2,{0x98,0xB7,0x00,0x00,}},
+ {0x6A03,2,{0x98,0xB8,0x00,0x00,}},
+ {0x6A04,2,{0x98,0xB9,0x00,0x00,}},
+ {0x6A05,2,{0x98,0xBA,0x00,0x00,}},
+ {0x6A06,2,{0x98,0xBB,0x00,0x00,}},
+ {0x6A07,2,{0x98,0xBC,0x00,0x00,}},
+ {0x6A08,2,{0x98,0xBD,0x00,0x00,}},
+ {0x6A09,2,{0x98,0xBE,0x00,0x00,}},
+ {0x6A0A,2,{0xB7,0xAE,0x00,0x00,}},
+ {0x6A0B,2,{0x98,0xBF,0x00,0x00,}},
+ {0x6A0C,2,{0x98,0xC0,0x00,0x00,}},
+ {0x6A0D,2,{0x98,0xC1,0x00,0x00,}},
+ {0x6A0E,2,{0x98,0xC2,0x00,0x00,}},
+ {0x6A0F,2,{0x98,0xC3,0x00,0x00,}},
+ {0x6A10,2,{0x98,0xC4,0x00,0x00,}},
+ {0x6A11,2,{0x98,0xC5,0x00,0x00,}},
+ {0x6A12,2,{0x98,0xC6,0x00,0x00,}},
+ {0x6A13,2,{0x98,0xC7,0x00,0x00,}},
+ {0x6A14,2,{0x98,0xC8,0x00,0x00,}},
+ {0x6A15,2,{0x98,0xC9,0x00,0x00,}},
+ {0x6A16,2,{0x98,0xCA,0x00,0x00,}},
+ {0x6A17,2,{0xE9,0xCB,0x00,0x00,}},
+ {0x6A18,2,{0xE9,0xCC,0x00,0x00,}},
+ {0x6A19,2,{0x98,0xCB,0x00,0x00,}},
+ {0x6A1A,2,{0x98,0xCC,0x00,0x00,}},
+ {0x6A1B,2,{0x98,0xCD,0x00,0x00,}},
+ {0x6A1C,2,{0x98,0xCE,0x00,0x00,}},
+ {0x6A1D,2,{0x98,0xCF,0x00,0x00,}},
+ {0x6A1E,2,{0x98,0xD0,0x00,0x00,}},
+ {0x6A1F,2,{0xD5,0xC1,0x00,0x00,}},
+ {0x6A20,2,{0x98,0xD1,0x00,0x00,}},
+ {0x6A21,2,{0xC4,0xA3,0x00,0x00,}},
+ {0x6A22,2,{0x98,0xD2,0x00,0x00,}},
+ {0x6A23,2,{0x98,0xD3,0x00,0x00,}},
+ {0x6A24,2,{0x98,0xD4,0x00,0x00,}},
+ {0x6A25,2,{0x98,0xD5,0x00,0x00,}},
+ {0x6A26,2,{0x98,0xD6,0x00,0x00,}},
+ {0x6A27,2,{0x98,0xD7,0x00,0x00,}},
+ {0x6A28,2,{0xE9,0xD8,0x00,0x00,}},
+ {0x6A29,2,{0x98,0xD8,0x00,0x00,}},
+ {0x6A2A,2,{0xBA,0xE1,0x00,0x00,}},
+ {0x6A2B,2,{0x98,0xD9,0x00,0x00,}},
+ {0x6A2C,2,{0x98,0xDA,0x00,0x00,}},
+ {0x6A2D,2,{0x98,0xDB,0x00,0x00,}},
+ {0x6A2E,2,{0x98,0xDC,0x00,0x00,}},
+ {0x6A2F,2,{0xE9,0xC9,0x00,0x00,}},
+ {0x6A30,2,{0x98,0xDD,0x00,0x00,}},
+ {0x6A31,2,{0xD3,0xA3,0x00,0x00,}},
+ {0x6A32,2,{0x98,0xDE,0x00,0x00,}},
+ {0x6A33,2,{0x98,0xDF,0x00,0x00,}},
+ {0x6A34,2,{0x98,0xE0,0x00,0x00,}},
+ {0x6A35,2,{0xE9,0xD4,0x00,0x00,}},
+ {0x6A36,2,{0x98,0xE1,0x00,0x00,}},
+ {0x6A37,2,{0x98,0xE2,0x00,0x00,}},
+ {0x6A38,2,{0x98,0xE3,0x00,0x00,}},
+ {0x6A39,2,{0x98,0xE4,0x00,0x00,}},
+ {0x6A3A,2,{0x98,0xE5,0x00,0x00,}},
+ {0x6A3B,2,{0x98,0xE6,0x00,0x00,}},
+ {0x6A3C,2,{0x98,0xE7,0x00,0x00,}},
+ {0x6A3D,2,{0xE9,0xD7,0x00,0x00,}},
+ {0x6A3E,2,{0xE9,0xD0,0x00,0x00,}},
+ {0x6A3F,2,{0x98,0xE8,0x00,0x00,}},
+ {0x6A40,2,{0x98,0xE9,0x00,0x00,}},
+ {0x6A41,2,{0x98,0xEA,0x00,0x00,}},
+ {0x6A42,2,{0x98,0xEB,0x00,0x00,}},
+ {0x6A43,2,{0x98,0xEC,0x00,0x00,}},
+ {0x6A44,2,{0xE9,0xCF,0x00,0x00,}},
+ {0x6A45,2,{0x98,0xED,0x00,0x00,}},
+ {0x6A46,2,{0x98,0xEE,0x00,0x00,}},
+ {0x6A47,2,{0xC7,0xC1,0x00,0x00,}},
+ {0x6A48,2,{0x98,0xEF,0x00,0x00,}},
+ {0x6A49,2,{0x98,0xF0,0x00,0x00,}},
+ {0x6A4A,2,{0x98,0xF1,0x00,0x00,}},
+ {0x6A4B,2,{0x98,0xF2,0x00,0x00,}},
+ {0x6A4C,2,{0x98,0xF3,0x00,0x00,}},
+ {0x6A4D,2,{0x98,0xF4,0x00,0x00,}},
+ {0x6A4E,2,{0x98,0xF5,0x00,0x00,}},
+ {0x6A4F,2,{0x98,0xF6,0x00,0x00,}},
+ {0x6A50,2,{0xE9,0xD2,0x00,0x00,}},
+ {0x6A51,2,{0x98,0xF7,0x00,0x00,}},
+ {0x6A52,2,{0x98,0xF8,0x00,0x00,}},
+ {0x6A53,2,{0x98,0xF9,0x00,0x00,}},
+ {0x6A54,2,{0x98,0xFA,0x00,0x00,}},
+ {0x6A55,2,{0x98,0xFB,0x00,0x00,}},
+ {0x6A56,2,{0x98,0xFC,0x00,0x00,}},
+ {0x6A57,2,{0x98,0xFD,0x00,0x00,}},
+ {0x6A58,2,{0xE9,0xD9,0x00,0x00,}},
+ {0x6A59,2,{0xB3,0xC8,0x00,0x00,}},
+ {0x6A5A,2,{0x98,0xFE,0x00,0x00,}},
+ {0x6A5B,2,{0xE9,0xD3,0x00,0x00,}},
+ {0x6A5C,2,{0x99,0x40,0x00,0x00,}},
+ {0x6A5D,2,{0x99,0x41,0x00,0x00,}},
+ {0x6A5E,2,{0x99,0x42,0x00,0x00,}},
+ {0x6A5F,2,{0x99,0x43,0x00,0x00,}},
+ {0x6A60,2,{0x99,0x44,0x00,0x00,}},
+ {0x6A61,2,{0xCF,0xF0,0x00,0x00,}},
+ {0x6A62,2,{0x99,0x45,0x00,0x00,}},
+ {0x6A63,2,{0x99,0x46,0x00,0x00,}},
+ {0x6A64,2,{0x99,0x47,0x00,0x00,}},
+ {0x6A65,2,{0xE9,0xCD,0x00,0x00,}},
+ {0x6A66,2,{0x99,0x48,0x00,0x00,}},
+ {0x6A67,2,{0x99,0x49,0x00,0x00,}},
+ {0x6A68,2,{0x99,0x4A,0x00,0x00,}},
+ {0x6A69,2,{0x99,0x4B,0x00,0x00,}},
+ {0x6A6A,2,{0x99,0x4C,0x00,0x00,}},
+ {0x6A6B,2,{0x99,0x4D,0x00,0x00,}},
+ {0x6A6C,2,{0x99,0x4E,0x00,0x00,}},
+ {0x6A6D,2,{0x99,0x4F,0x00,0x00,}},
+ {0x6A6E,2,{0x99,0x50,0x00,0x00,}},
+ {0x6A6F,2,{0x99,0x51,0x00,0x00,}},
+ {0x6A70,2,{0x99,0x52,0x00,0x00,}},
+ {0x6A71,2,{0xB3,0xF7,0x00,0x00,}},
+ {0x6A72,2,{0x99,0x53,0x00,0x00,}},
+ {0x6A73,2,{0x99,0x54,0x00,0x00,}},
+ {0x6A74,2,{0x99,0x55,0x00,0x00,}},
+ {0x6A75,2,{0x99,0x56,0x00,0x00,}},
+ {0x6A76,2,{0x99,0x57,0x00,0x00,}},
+ {0x6A77,2,{0x99,0x58,0x00,0x00,}},
+ {0x6A78,2,{0x99,0x59,0x00,0x00,}},
+ {0x6A79,2,{0xE9,0xD6,0x00,0x00,}},
+ {0x6A7A,2,{0x99,0x5A,0x00,0x00,}},
+ {0x6A7B,2,{0x99,0x5B,0x00,0x00,}},
+ {0x6A7C,2,{0xE9,0xDA,0x00,0x00,}},
+ {0x6A7D,2,{0x99,0x5C,0x00,0x00,}},
+ {0x6A7E,2,{0x99,0x5D,0x00,0x00,}},
+ {0x6A7F,2,{0x99,0x5E,0x00,0x00,}},
+ {0x6A80,2,{0xCC,0xB4,0x00,0x00,}},
+ {0x6A81,2,{0x99,0x5F,0x00,0x00,}},
+ {0x6A82,2,{0x99,0x60,0x00,0x00,}},
+ {0x6A83,2,{0x99,0x61,0x00,0x00,}},
+ {0x6A84,2,{0xCF,0xAD,0x00,0x00,}},
+ {0x6A85,2,{0x99,0x62,0x00,0x00,}},
+ {0x6A86,2,{0x99,0x63,0x00,0x00,}},
+ {0x6A87,2,{0x99,0x64,0x00,0x00,}},
+ {0x6A88,2,{0x99,0x65,0x00,0x00,}},
+ {0x6A89,2,{0x99,0x66,0x00,0x00,}},
+ {0x6A8A,2,{0x99,0x67,0x00,0x00,}},
+ {0x6A8B,2,{0x99,0x68,0x00,0x00,}},
+ {0x6A8C,2,{0x99,0x69,0x00,0x00,}},
+ {0x6A8D,2,{0x99,0x6A,0x00,0x00,}},
+ {0x6A8E,2,{0xE9,0xD5,0x00,0x00,}},
+ {0x6A8F,2,{0x99,0x6B,0x00,0x00,}},
+ {0x6A90,2,{0xE9,0xDC,0x00,0x00,}},
+ {0x6A91,2,{0xE9,0xDB,0x00,0x00,}},
+ {0x6A92,2,{0x99,0x6C,0x00,0x00,}},
+ {0x6A93,2,{0x99,0x6D,0x00,0x00,}},
+ {0x6A94,2,{0x99,0x6E,0x00,0x00,}},
+ {0x6A95,2,{0x99,0x6F,0x00,0x00,}},
+ {0x6A96,2,{0x99,0x70,0x00,0x00,}},
+ {0x6A97,2,{0xE9,0xDE,0x00,0x00,}},
+ {0x6A98,2,{0x99,0x71,0x00,0x00,}},
+ {0x6A99,2,{0x99,0x72,0x00,0x00,}},
+ {0x6A9A,2,{0x99,0x73,0x00,0x00,}},
+ {0x6A9B,2,{0x99,0x74,0x00,0x00,}},
+ {0x6A9C,2,{0x99,0x75,0x00,0x00,}},
+ {0x6A9D,2,{0x99,0x76,0x00,0x00,}},
+ {0x6A9E,2,{0x99,0x77,0x00,0x00,}},
+ {0x6A9F,2,{0x99,0x78,0x00,0x00,}},
+ {0x6AA0,2,{0xE9,0xD1,0x00,0x00,}},
+ {0x6AA1,2,{0x99,0x79,0x00,0x00,}},
+ {0x6AA2,2,{0x99,0x7A,0x00,0x00,}},
+ {0x6AA3,2,{0x99,0x7B,0x00,0x00,}},
+ {0x6AA4,2,{0x99,0x7C,0x00,0x00,}},
+ {0x6AA5,2,{0x99,0x7D,0x00,0x00,}},
+ {0x6AA6,2,{0x99,0x7E,0x00,0x00,}},
+ {0x6AA7,2,{0x99,0x80,0x00,0x00,}},
+ {0x6AA8,2,{0x99,0x81,0x00,0x00,}},
+ {0x6AA9,2,{0xE9,0xDD,0x00,0x00,}},
+ {0x6AAA,2,{0x99,0x82,0x00,0x00,}},
+ {0x6AAB,2,{0xE9,0xDF,0x00,0x00,}},
+ {0x6AAC,2,{0xC3,0xCA,0x00,0x00,}},
+ {0x6AAD,2,{0x99,0x83,0x00,0x00,}},
+ {0x6AAE,2,{0x99,0x84,0x00,0x00,}},
+ {0x6AAF,2,{0x99,0x85,0x00,0x00,}},
+ {0x6AB0,2,{0x99,0x86,0x00,0x00,}},
+ {0x6AB1,2,{0x99,0x87,0x00,0x00,}},
+ {0x6AB2,2,{0x99,0x88,0x00,0x00,}},
+ {0x6AB3,2,{0x99,0x89,0x00,0x00,}},
+ {0x6AB4,2,{0x99,0x8A,0x00,0x00,}},
+ {0x6AB5,2,{0x99,0x8B,0x00,0x00,}},
+ {0x6AB6,2,{0x99,0x8C,0x00,0x00,}},
+ {0x6AB7,2,{0x99,0x8D,0x00,0x00,}},
+ {0x6AB8,2,{0x99,0x8E,0x00,0x00,}},
+ {0x6AB9,2,{0x99,0x8F,0x00,0x00,}},
+ {0x6ABA,2,{0x99,0x90,0x00,0x00,}},
+ {0x6ABB,2,{0x99,0x91,0x00,0x00,}},
+ {0x6ABC,2,{0x99,0x92,0x00,0x00,}},
+ {0x6ABD,2,{0x99,0x93,0x00,0x00,}},
+ {0x6ABE,2,{0x99,0x94,0x00,0x00,}},
+ {0x6ABF,2,{0x99,0x95,0x00,0x00,}},
+ {0x6AC0,2,{0x99,0x96,0x00,0x00,}},
+ {0x6AC1,2,{0x99,0x97,0x00,0x00,}},
+ {0x6AC2,2,{0x99,0x98,0x00,0x00,}},
+ {0x6AC3,2,{0x99,0x99,0x00,0x00,}},
+ {0x6AC4,2,{0x99,0x9A,0x00,0x00,}},
+ {0x6AC5,2,{0x99,0x9B,0x00,0x00,}},
+ {0x6AC6,2,{0x99,0x9C,0x00,0x00,}},
+ {0x6AC7,2,{0x99,0x9D,0x00,0x00,}},
+ {0x6AC8,2,{0x99,0x9E,0x00,0x00,}},
+ {0x6AC9,2,{0x99,0x9F,0x00,0x00,}},
+ {0x6ACA,2,{0x99,0xA0,0x00,0x00,}},
+ {0x6ACB,2,{0x99,0xA1,0x00,0x00,}},
+ {0x6ACC,2,{0x99,0xA2,0x00,0x00,}},
+ {0x6ACD,2,{0x99,0xA3,0x00,0x00,}},
+ {0x6ACE,2,{0x99,0xA4,0x00,0x00,}},
+ {0x6ACF,2,{0x99,0xA5,0x00,0x00,}},
+ {0x6AD0,2,{0x99,0xA6,0x00,0x00,}},
+ {0x6AD1,2,{0x99,0xA7,0x00,0x00,}},
+ {0x6AD2,2,{0x99,0xA8,0x00,0x00,}},
+ {0x6AD3,2,{0x99,0xA9,0x00,0x00,}},
+ {0x6AD4,2,{0x99,0xAA,0x00,0x00,}},
+ {0x6AD5,2,{0x99,0xAB,0x00,0x00,}},
+ {0x6AD6,2,{0x99,0xAC,0x00,0x00,}},
+ {0x6AD7,2,{0x99,0xAD,0x00,0x00,}},
+ {0x6AD8,2,{0x99,0xAE,0x00,0x00,}},
+ {0x6AD9,2,{0x99,0xAF,0x00,0x00,}},
+ {0x6ADA,2,{0x99,0xB0,0x00,0x00,}},
+ {0x6ADB,2,{0x99,0xB1,0x00,0x00,}},
+ {0x6ADC,2,{0x99,0xB2,0x00,0x00,}},
+ {0x6ADD,2,{0x99,0xB3,0x00,0x00,}},
+ {0x6ADE,2,{0x99,0xB4,0x00,0x00,}},
+ {0x6ADF,2,{0x99,0xB5,0x00,0x00,}},
+ {0x6AE0,2,{0x99,0xB6,0x00,0x00,}},
+ {0x6AE1,2,{0x99,0xB7,0x00,0x00,}},
+ {0x6AE2,2,{0x99,0xB8,0x00,0x00,}},
+ {0x6AE3,2,{0x99,0xB9,0x00,0x00,}},
+ {0x6AE4,2,{0x99,0xBA,0x00,0x00,}},
+ {0x6AE5,2,{0x99,0xBB,0x00,0x00,}},
+ {0x6AE6,2,{0x99,0xBC,0x00,0x00,}},
+ {0x6AE7,2,{0x99,0xBD,0x00,0x00,}},
+ {0x6AE8,2,{0x99,0xBE,0x00,0x00,}},
+ {0x6AE9,2,{0x99,0xBF,0x00,0x00,}},
+ {0x6AEA,2,{0x99,0xC0,0x00,0x00,}},
+ {0x6AEB,2,{0x99,0xC1,0x00,0x00,}},
+ {0x6AEC,2,{0x99,0xC2,0x00,0x00,}},
+ {0x6AED,2,{0x99,0xC3,0x00,0x00,}},
+ {0x6AEE,2,{0x99,0xC4,0x00,0x00,}},
+ {0x6AEF,2,{0x99,0xC5,0x00,0x00,}},
+ {0x6AF0,2,{0x99,0xC6,0x00,0x00,}},
+ {0x6AF1,2,{0x99,0xC7,0x00,0x00,}},
+ {0x6AF2,2,{0x99,0xC8,0x00,0x00,}},
+ {0x6AF3,2,{0x99,0xC9,0x00,0x00,}},
+ {0x6AF4,2,{0x99,0xCA,0x00,0x00,}},
+ {0x6AF5,2,{0x99,0xCB,0x00,0x00,}},
+ {0x6AF6,2,{0x99,0xCC,0x00,0x00,}},
+ {0x6AF7,2,{0x99,0xCD,0x00,0x00,}},
+ {0x6AF8,2,{0x99,0xCE,0x00,0x00,}},
+ {0x6AF9,2,{0x99,0xCF,0x00,0x00,}},
+ {0x6AFA,2,{0x99,0xD0,0x00,0x00,}},
+ {0x6AFB,2,{0x99,0xD1,0x00,0x00,}},
+ {0x6AFC,2,{0x99,0xD2,0x00,0x00,}},
+ {0x6AFD,2,{0x99,0xD3,0x00,0x00,}},
+ {0x6AFE,2,{0x99,0xD4,0x00,0x00,}},
+ {0x6AFF,2,{0x99,0xD5,0x00,0x00,}},
+ {0x6B00,2,{0x99,0xD6,0x00,0x00,}},
+ {0x6B01,2,{0x99,0xD7,0x00,0x00,}},
+ {0x6B02,2,{0x99,0xD8,0x00,0x00,}},
+ {0x6B03,2,{0x99,0xD9,0x00,0x00,}},
+ {0x6B04,2,{0x99,0xDA,0x00,0x00,}},
+ {0x6B05,2,{0x99,0xDB,0x00,0x00,}},
+ {0x6B06,2,{0x99,0xDC,0x00,0x00,}},
+ {0x6B07,2,{0x99,0xDD,0x00,0x00,}},
+ {0x6B08,2,{0x99,0xDE,0x00,0x00,}},
+ {0x6B09,2,{0x99,0xDF,0x00,0x00,}},
+ {0x6B0A,2,{0x99,0xE0,0x00,0x00,}},
+ {0x6B0B,2,{0x99,0xE1,0x00,0x00,}},
+ {0x6B0C,2,{0x99,0xE2,0x00,0x00,}},
+ {0x6B0D,2,{0x99,0xE3,0x00,0x00,}},
+ {0x6B0E,2,{0x99,0xE4,0x00,0x00,}},
+ {0x6B0F,2,{0x99,0xE5,0x00,0x00,}},
+ {0x6B10,2,{0x99,0xE6,0x00,0x00,}},
+ {0x6B11,2,{0x99,0xE7,0x00,0x00,}},
+ {0x6B12,2,{0x99,0xE8,0x00,0x00,}},
+ {0x6B13,2,{0x99,0xE9,0x00,0x00,}},
+ {0x6B14,2,{0x99,0xEA,0x00,0x00,}},
+ {0x6B15,2,{0x99,0xEB,0x00,0x00,}},
+ {0x6B16,2,{0x99,0xEC,0x00,0x00,}},
+ {0x6B17,2,{0x99,0xED,0x00,0x00,}},
+ {0x6B18,2,{0x99,0xEE,0x00,0x00,}},
+ {0x6B19,2,{0x99,0xEF,0x00,0x00,}},
+ {0x6B1A,2,{0x99,0xF0,0x00,0x00,}},
+ {0x6B1B,2,{0x99,0xF1,0x00,0x00,}},
+ {0x6B1C,2,{0x99,0xF2,0x00,0x00,}},
+ {0x6B1D,2,{0x99,0xF3,0x00,0x00,}},
+ {0x6B1E,2,{0x99,0xF4,0x00,0x00,}},
+ {0x6B1F,2,{0x99,0xF5,0x00,0x00,}},
+ {0x6B20,2,{0xC7,0xB7,0x00,0x00,}},
+ {0x6B21,2,{0xB4,0xCE,0x00,0x00,}},
+ {0x6B22,2,{0xBB,0xB6,0x00,0x00,}},
+ {0x6B23,2,{0xD0,0xC0,0x00,0x00,}},
+ {0x6B24,2,{0xEC,0xA3,0x00,0x00,}},
+ {0x6B25,2,{0x99,0xF6,0x00,0x00,}},
+ {0x6B26,2,{0x99,0xF7,0x00,0x00,}},
+ {0x6B27,2,{0xC5,0xB7,0x00,0x00,}},
+ {0x6B28,2,{0x99,0xF8,0x00,0x00,}},
+ {0x6B29,2,{0x99,0xF9,0x00,0x00,}},
+ {0x6B2A,2,{0x99,0xFA,0x00,0x00,}},
+ {0x6B2B,2,{0x99,0xFB,0x00,0x00,}},
+ {0x6B2C,2,{0x99,0xFC,0x00,0x00,}},
+ {0x6B2D,2,{0x99,0xFD,0x00,0x00,}},
+ {0x6B2E,2,{0x99,0xFE,0x00,0x00,}},
+ {0x6B2F,2,{0x9A,0x40,0x00,0x00,}},
+ {0x6B30,2,{0x9A,0x41,0x00,0x00,}},
+ {0x6B31,2,{0x9A,0x42,0x00,0x00,}},
+ {0x6B32,2,{0xD3,0xFB,0x00,0x00,}},
+ {0x6B33,2,{0x9A,0x43,0x00,0x00,}},
+ {0x6B34,2,{0x9A,0x44,0x00,0x00,}},
+ {0x6B35,2,{0x9A,0x45,0x00,0x00,}},
+ {0x6B36,2,{0x9A,0x46,0x00,0x00,}},
+ {0x6B37,2,{0xEC,0xA4,0x00,0x00,}},
+ {0x6B38,2,{0x9A,0x47,0x00,0x00,}},
+ {0x6B39,2,{0xEC,0xA5,0x00,0x00,}},
+ {0x6B3A,2,{0xC6,0xDB,0x00,0x00,}},
+ {0x6B3B,2,{0x9A,0x48,0x00,0x00,}},
+ {0x6B3C,2,{0x9A,0x49,0x00,0x00,}},
+ {0x6B3D,2,{0x9A,0x4A,0x00,0x00,}},
+ {0x6B3E,2,{0xBF,0xEE,0x00,0x00,}},
+ {0x6B3F,2,{0x9A,0x4B,0x00,0x00,}},
+ {0x6B40,2,{0x9A,0x4C,0x00,0x00,}},
+ {0x6B41,2,{0x9A,0x4D,0x00,0x00,}},
+ {0x6B42,2,{0x9A,0x4E,0x00,0x00,}},
+ {0x6B43,2,{0xEC,0xA6,0x00,0x00,}},
+ {0x6B44,2,{0x9A,0x4F,0x00,0x00,}},
+ {0x6B45,2,{0x9A,0x50,0x00,0x00,}},
+ {0x6B46,2,{0xEC,0xA7,0x00,0x00,}},
+ {0x6B47,2,{0xD0,0xAA,0x00,0x00,}},
+ {0x6B48,2,{0x9A,0x51,0x00,0x00,}},
+ {0x6B49,2,{0xC7,0xB8,0x00,0x00,}},
+ {0x6B4A,2,{0x9A,0x52,0x00,0x00,}},
+ {0x6B4B,2,{0x9A,0x53,0x00,0x00,}},
+ {0x6B4C,2,{0xB8,0xE8,0x00,0x00,}},
+ {0x6B4D,2,{0x9A,0x54,0x00,0x00,}},
+ {0x6B4E,2,{0x9A,0x55,0x00,0x00,}},
+ {0x6B4F,2,{0x9A,0x56,0x00,0x00,}},
+ {0x6B50,2,{0x9A,0x57,0x00,0x00,}},
+ {0x6B51,2,{0x9A,0x58,0x00,0x00,}},
+ {0x6B52,2,{0x9A,0x59,0x00,0x00,}},
+ {0x6B53,2,{0x9A,0x5A,0x00,0x00,}},
+ {0x6B54,2,{0x9A,0x5B,0x00,0x00,}},
+ {0x6B55,2,{0x9A,0x5C,0x00,0x00,}},
+ {0x6B56,2,{0x9A,0x5D,0x00,0x00,}},
+ {0x6B57,2,{0x9A,0x5E,0x00,0x00,}},
+ {0x6B58,2,{0x9A,0x5F,0x00,0x00,}},
+ {0x6B59,2,{0xEC,0xA8,0x00,0x00,}},
+ {0x6B5A,2,{0x9A,0x60,0x00,0x00,}},
+ {0x6B5B,2,{0x9A,0x61,0x00,0x00,}},
+ {0x6B5C,2,{0x9A,0x62,0x00,0x00,}},
+ {0x6B5D,2,{0x9A,0x63,0x00,0x00,}},
+ {0x6B5E,2,{0x9A,0x64,0x00,0x00,}},
+ {0x6B5F,2,{0x9A,0x65,0x00,0x00,}},
+ {0x6B60,2,{0x9A,0x66,0x00,0x00,}},
+ {0x6B61,2,{0x9A,0x67,0x00,0x00,}},
+ {0x6B62,2,{0xD6,0xB9,0x00,0x00,}},
+ {0x6B63,2,{0xD5,0xFD,0x00,0x00,}},
+ {0x6B64,2,{0xB4,0xCB,0x00,0x00,}},
+ {0x6B65,2,{0xB2,0xBD,0x00,0x00,}},
+ {0x6B66,2,{0xCE,0xE4,0x00,0x00,}},
+ {0x6B67,2,{0xC6,0xE7,0x00,0x00,}},
+ {0x6B68,2,{0x9A,0x68,0x00,0x00,}},
+ {0x6B69,2,{0x9A,0x69,0x00,0x00,}},
+ {0x6B6A,2,{0xCD,0xE1,0x00,0x00,}},
+ {0x6B6B,2,{0x9A,0x6A,0x00,0x00,}},
+ {0x6B6C,2,{0x9A,0x6B,0x00,0x00,}},
+ {0x6B6D,2,{0x9A,0x6C,0x00,0x00,}},
+ {0x6B6E,2,{0x9A,0x6D,0x00,0x00,}},
+ {0x6B6F,2,{0x9A,0x6E,0x00,0x00,}},
+ {0x6B70,2,{0x9A,0x6F,0x00,0x00,}},
+ {0x6B71,2,{0x9A,0x70,0x00,0x00,}},
+ {0x6B72,2,{0x9A,0x71,0x00,0x00,}},
+ {0x6B73,2,{0x9A,0x72,0x00,0x00,}},
+ {0x6B74,2,{0x9A,0x73,0x00,0x00,}},
+ {0x6B75,2,{0x9A,0x74,0x00,0x00,}},
+ {0x6B76,2,{0x9A,0x75,0x00,0x00,}},
+ {0x6B77,2,{0x9A,0x76,0x00,0x00,}},
+ {0x6B78,2,{0x9A,0x77,0x00,0x00,}},
+ {0x6B79,2,{0xB4,0xF5,0x00,0x00,}},
+ {0x6B7A,2,{0x9A,0x78,0x00,0x00,}},
+ {0x6B7B,2,{0xCB,0xC0,0x00,0x00,}},
+ {0x6B7C,2,{0xBC,0xDF,0x00,0x00,}},
+ {0x6B7D,2,{0x9A,0x79,0x00,0x00,}},
+ {0x6B7E,2,{0x9A,0x7A,0x00,0x00,}},
+ {0x6B7F,2,{0x9A,0x7B,0x00,0x00,}},
+ {0x6B80,2,{0x9A,0x7C,0x00,0x00,}},
+ {0x6B81,2,{0xE9,0xE2,0x00,0x00,}},
+ {0x6B82,2,{0xE9,0xE3,0x00,0x00,}},
+ {0x6B83,2,{0xD1,0xEA,0x00,0x00,}},
+ {0x6B84,2,{0xE9,0xE5,0x00,0x00,}},
+ {0x6B85,2,{0x9A,0x7D,0x00,0x00,}},
+ {0x6B86,2,{0xB4,0xF9,0x00,0x00,}},
+ {0x6B87,2,{0xE9,0xE4,0x00,0x00,}},
+ {0x6B88,2,{0x9A,0x7E,0x00,0x00,}},
+ {0x6B89,2,{0xD1,0xB3,0x00,0x00,}},
+ {0x6B8A,2,{0xCA,0xE2,0x00,0x00,}},
+ {0x6B8B,2,{0xB2,0xD0,0x00,0x00,}},
+ {0x6B8C,2,{0x9A,0x80,0x00,0x00,}},
+ {0x6B8D,2,{0xE9,0xE8,0x00,0x00,}},
+ {0x6B8E,2,{0x9A,0x81,0x00,0x00,}},
+ {0x6B8F,2,{0x9A,0x82,0x00,0x00,}},
+ {0x6B90,2,{0x9A,0x83,0x00,0x00,}},
+ {0x6B91,2,{0x9A,0x84,0x00,0x00,}},
+ {0x6B92,2,{0xE9,0xE6,0x00,0x00,}},
+ {0x6B93,2,{0xE9,0xE7,0x00,0x00,}},
+ {0x6B94,2,{0x9A,0x85,0x00,0x00,}},
+ {0x6B95,2,{0x9A,0x86,0x00,0x00,}},
+ {0x6B96,2,{0xD6,0xB3,0x00,0x00,}},
+ {0x6B97,2,{0x9A,0x87,0x00,0x00,}},
+ {0x6B98,2,{0x9A,0x88,0x00,0x00,}},
+ {0x6B99,2,{0x9A,0x89,0x00,0x00,}},
+ {0x6B9A,2,{0xE9,0xE9,0x00,0x00,}},
+ {0x6B9B,2,{0xE9,0xEA,0x00,0x00,}},
+ {0x6B9C,2,{0x9A,0x8A,0x00,0x00,}},
+ {0x6B9D,2,{0x9A,0x8B,0x00,0x00,}},
+ {0x6B9E,2,{0x9A,0x8C,0x00,0x00,}},
+ {0x6B9F,2,{0x9A,0x8D,0x00,0x00,}},
+ {0x6BA0,2,{0x9A,0x8E,0x00,0x00,}},
+ {0x6BA1,2,{0xE9,0xEB,0x00,0x00,}},
+ {0x6BA2,2,{0x9A,0x8F,0x00,0x00,}},
+ {0x6BA3,2,{0x9A,0x90,0x00,0x00,}},
+ {0x6BA4,2,{0x9A,0x91,0x00,0x00,}},
+ {0x6BA5,2,{0x9A,0x92,0x00,0x00,}},
+ {0x6BA6,2,{0x9A,0x93,0x00,0x00,}},
+ {0x6BA7,2,{0x9A,0x94,0x00,0x00,}},
+ {0x6BA8,2,{0x9A,0x95,0x00,0x00,}},
+ {0x6BA9,2,{0x9A,0x96,0x00,0x00,}},
+ {0x6BAA,2,{0xE9,0xEC,0x00,0x00,}},
+ {0x6BAB,2,{0x9A,0x97,0x00,0x00,}},
+ {0x6BAC,2,{0x9A,0x98,0x00,0x00,}},
+ {0x6BAD,2,{0x9A,0x99,0x00,0x00,}},
+ {0x6BAE,2,{0x9A,0x9A,0x00,0x00,}},
+ {0x6BAF,2,{0x9A,0x9B,0x00,0x00,}},
+ {0x6BB0,2,{0x9A,0x9C,0x00,0x00,}},
+ {0x6BB1,2,{0x9A,0x9D,0x00,0x00,}},
+ {0x6BB2,2,{0x9A,0x9E,0x00,0x00,}},
+ {0x6BB3,2,{0xEC,0xAF,0x00,0x00,}},
+ {0x6BB4,2,{0xC5,0xB9,0x00,0x00,}},
+ {0x6BB5,2,{0xB6,0xCE,0x00,0x00,}},
+ {0x6BB6,2,{0x9A,0x9F,0x00,0x00,}},
+ {0x6BB7,2,{0xD2,0xF3,0x00,0x00,}},
+ {0x6BB8,2,{0x9A,0xA0,0x00,0x00,}},
+ {0x6BB9,2,{0x9A,0xA1,0x00,0x00,}},
+ {0x6BBA,2,{0x9A,0xA2,0x00,0x00,}},
+ {0x6BBB,2,{0x9A,0xA3,0x00,0x00,}},
+ {0x6BBC,2,{0x9A,0xA4,0x00,0x00,}},
+ {0x6BBD,2,{0x9A,0xA5,0x00,0x00,}},
+ {0x6BBE,2,{0x9A,0xA6,0x00,0x00,}},
+ {0x6BBF,2,{0xB5,0xEE,0x00,0x00,}},
+ {0x6BC0,2,{0x9A,0xA7,0x00,0x00,}},
+ {0x6BC1,2,{0xBB,0xD9,0x00,0x00,}},
+ {0x6BC2,2,{0xEC,0xB1,0x00,0x00,}},
+ {0x6BC3,2,{0x9A,0xA8,0x00,0x00,}},
+ {0x6BC4,2,{0x9A,0xA9,0x00,0x00,}},
+ {0x6BC5,2,{0xD2,0xE3,0x00,0x00,}},
+ {0x6BC6,2,{0x9A,0xAA,0x00,0x00,}},
+ {0x6BC7,2,{0x9A,0xAB,0x00,0x00,}},
+ {0x6BC8,2,{0x9A,0xAC,0x00,0x00,}},
+ {0x6BC9,2,{0x9A,0xAD,0x00,0x00,}},
+ {0x6BCA,2,{0x9A,0xAE,0x00,0x00,}},
+ {0x6BCB,2,{0xCE,0xE3,0x00,0x00,}},
+ {0x6BCC,2,{0x9A,0xAF,0x00,0x00,}},
+ {0x6BCD,2,{0xC4,0xB8,0x00,0x00,}},
+ {0x6BCE,2,{0x9A,0xB0,0x00,0x00,}},
+ {0x6BCF,2,{0xC3,0xBF,0x00,0x00,}},
+ {0x6BD0,2,{0x9A,0xB1,0x00,0x00,}},
+ {0x6BD1,2,{0x9A,0xB2,0x00,0x00,}},
+ {0x6BD2,2,{0xB6,0xBE,0x00,0x00,}},
+ {0x6BD3,2,{0xD8,0xB9,0x00,0x00,}},
+ {0x6BD4,2,{0xB1,0xC8,0x00,0x00,}},
+ {0x6BD5,2,{0xB1,0xCF,0x00,0x00,}},
+ {0x6BD6,2,{0xB1,0xD1,0x00,0x00,}},
+ {0x6BD7,2,{0xC5,0xFE,0x00,0x00,}},
+ {0x6BD8,2,{0x9A,0xB3,0x00,0x00,}},
+ {0x6BD9,2,{0xB1,0xD0,0x00,0x00,}},
+ {0x6BDA,2,{0x9A,0xB4,0x00,0x00,}},
+ {0x6BDB,2,{0xC3,0xAB,0x00,0x00,}},
+ {0x6BDC,2,{0x9A,0xB5,0x00,0x00,}},
+ {0x6BDD,2,{0x9A,0xB6,0x00,0x00,}},
+ {0x6BDE,2,{0x9A,0xB7,0x00,0x00,}},
+ {0x6BDF,2,{0x9A,0xB8,0x00,0x00,}},
+ {0x6BE0,2,{0x9A,0xB9,0x00,0x00,}},
+ {0x6BE1,2,{0xD5,0xB1,0x00,0x00,}},
+ {0x6BE2,2,{0x9A,0xBA,0x00,0x00,}},
+ {0x6BE3,2,{0x9A,0xBB,0x00,0x00,}},
+ {0x6BE4,2,{0x9A,0xBC,0x00,0x00,}},
+ {0x6BE5,2,{0x9A,0xBD,0x00,0x00,}},
+ {0x6BE6,2,{0x9A,0xBE,0x00,0x00,}},
+ {0x6BE7,2,{0x9A,0xBF,0x00,0x00,}},
+ {0x6BE8,2,{0x9A,0xC0,0x00,0x00,}},
+ {0x6BE9,2,{0x9A,0xC1,0x00,0x00,}},
+ {0x6BEA,2,{0xEB,0xA4,0x00,0x00,}},
+ {0x6BEB,2,{0xBA,0xC1,0x00,0x00,}},
+ {0x6BEC,2,{0x9A,0xC2,0x00,0x00,}},
+ {0x6BED,2,{0x9A,0xC3,0x00,0x00,}},
+ {0x6BEE,2,{0x9A,0xC4,0x00,0x00,}},
+ {0x6BEF,2,{0xCC,0xBA,0x00,0x00,}},
+ {0x6BF0,2,{0x9A,0xC5,0x00,0x00,}},
+ {0x6BF1,2,{0x9A,0xC6,0x00,0x00,}},
+ {0x6BF2,2,{0x9A,0xC7,0x00,0x00,}},
+ {0x6BF3,2,{0xEB,0xA5,0x00,0x00,}},
+ {0x6BF4,2,{0x9A,0xC8,0x00,0x00,}},
+ {0x6BF5,2,{0xEB,0xA7,0x00,0x00,}},
+ {0x6BF6,2,{0x9A,0xC9,0x00,0x00,}},
+ {0x6BF7,2,{0x9A,0xCA,0x00,0x00,}},
+ {0x6BF8,2,{0x9A,0xCB,0x00,0x00,}},
+ {0x6BF9,2,{0xEB,0xA8,0x00,0x00,}},
+ {0x6BFA,2,{0x9A,0xCC,0x00,0x00,}},
+ {0x6BFB,2,{0x9A,0xCD,0x00,0x00,}},
+ {0x6BFC,2,{0x9A,0xCE,0x00,0x00,}},
+ {0x6BFD,2,{0xEB,0xA6,0x00,0x00,}},
+ {0x6BFE,2,{0x9A,0xCF,0x00,0x00,}},
+ {0x6BFF,2,{0x9A,0xD0,0x00,0x00,}},
+ {0x6C00,2,{0x9A,0xD1,0x00,0x00,}},
+ {0x6C01,2,{0x9A,0xD2,0x00,0x00,}},
+ {0x6C02,2,{0x9A,0xD3,0x00,0x00,}},
+ {0x6C03,2,{0x9A,0xD4,0x00,0x00,}},
+ {0x6C04,2,{0x9A,0xD5,0x00,0x00,}},
+ {0x6C05,2,{0xEB,0xA9,0x00,0x00,}},
+ {0x6C06,2,{0xEB,0xAB,0x00,0x00,}},
+ {0x6C07,2,{0xEB,0xAA,0x00,0x00,}},
+ {0x6C08,2,{0x9A,0xD6,0x00,0x00,}},
+ {0x6C09,2,{0x9A,0xD7,0x00,0x00,}},
+ {0x6C0A,2,{0x9A,0xD8,0x00,0x00,}},
+ {0x6C0B,2,{0x9A,0xD9,0x00,0x00,}},
+ {0x6C0C,2,{0x9A,0xDA,0x00,0x00,}},
+ {0x6C0D,2,{0xEB,0xAC,0x00,0x00,}},
+ {0x6C0E,2,{0x9A,0xDB,0x00,0x00,}},
+ {0x6C0F,2,{0xCA,0xCF,0x00,0x00,}},
+ {0x6C10,2,{0xD8,0xB5,0x00,0x00,}},
+ {0x6C11,2,{0xC3,0xF1,0x00,0x00,}},
+ {0x6C12,2,{0x9A,0xDC,0x00,0x00,}},
+ {0x6C13,2,{0xC3,0xA5,0x00,0x00,}},
+ {0x6C14,2,{0xC6,0xF8,0x00,0x00,}},
+ {0x6C15,2,{0xEB,0xAD,0x00,0x00,}},
+ {0x6C16,2,{0xC4,0xCA,0x00,0x00,}},
+ {0x6C17,2,{0x9A,0xDD,0x00,0x00,}},
+ {0x6C18,2,{0xEB,0xAE,0x00,0x00,}},
+ {0x6C19,2,{0xEB,0xAF,0x00,0x00,}},
+ {0x6C1A,2,{0xEB,0xB0,0x00,0x00,}},
+ {0x6C1B,2,{0xB7,0xD5,0x00,0x00,}},
+ {0x6C1C,2,{0x9A,0xDE,0x00,0x00,}},
+ {0x6C1D,2,{0x9A,0xDF,0x00,0x00,}},
+ {0x6C1E,2,{0x9A,0xE0,0x00,0x00,}},
+ {0x6C1F,2,{0xB7,0xFA,0x00,0x00,}},
+ {0x6C20,2,{0x9A,0xE1,0x00,0x00,}},
+ {0x6C21,2,{0xEB,0xB1,0x00,0x00,}},
+ {0x6C22,2,{0xC7,0xE2,0x00,0x00,}},
+ {0x6C23,2,{0x9A,0xE2,0x00,0x00,}},
+ {0x6C24,2,{0xEB,0xB3,0x00,0x00,}},
+ {0x6C25,2,{0x9A,0xE3,0x00,0x00,}},
+ {0x6C26,2,{0xBA,0xA4,0x00,0x00,}},
+ {0x6C27,2,{0xD1,0xF5,0x00,0x00,}},
+ {0x6C28,2,{0xB0,0xB1,0x00,0x00,}},
+ {0x6C29,2,{0xEB,0xB2,0x00,0x00,}},
+ {0x6C2A,2,{0xEB,0xB4,0x00,0x00,}},
+ {0x6C2B,2,{0x9A,0xE4,0x00,0x00,}},
+ {0x6C2C,2,{0x9A,0xE5,0x00,0x00,}},
+ {0x6C2D,2,{0x9A,0xE6,0x00,0x00,}},
+ {0x6C2E,2,{0xB5,0xAA,0x00,0x00,}},
+ {0x6C2F,2,{0xC2,0xC8,0x00,0x00,}},
+ {0x6C30,2,{0xC7,0xE8,0x00,0x00,}},
+ {0x6C31,2,{0x9A,0xE7,0x00,0x00,}},
+ {0x6C32,2,{0xEB,0xB5,0x00,0x00,}},
+ {0x6C33,2,{0x9A,0xE8,0x00,0x00,}},
+ {0x6C34,2,{0xCB,0xAE,0x00,0x00,}},
+ {0x6C35,2,{0xE3,0xDF,0x00,0x00,}},
+ {0x6C36,2,{0x9A,0xE9,0x00,0x00,}},
+ {0x6C37,2,{0x9A,0xEA,0x00,0x00,}},
+ {0x6C38,2,{0xD3,0xC0,0x00,0x00,}},
+ {0x6C39,2,{0x9A,0xEB,0x00,0x00,}},
+ {0x6C3A,2,{0x9A,0xEC,0x00,0x00,}},
+ {0x6C3B,2,{0x9A,0xED,0x00,0x00,}},
+ {0x6C3C,2,{0x9A,0xEE,0x00,0x00,}},
+ {0x6C3D,2,{0xD9,0xDB,0x00,0x00,}},
+ {0x6C3E,2,{0x9A,0xEF,0x00,0x00,}},
+ {0x6C3F,2,{0x9A,0xF0,0x00,0x00,}},
+ {0x6C40,2,{0xCD,0xA1,0x00,0x00,}},
+ {0x6C41,2,{0xD6,0xAD,0x00,0x00,}},
+ {0x6C42,2,{0xC7,0xF3,0x00,0x00,}},
+ {0x6C43,2,{0x9A,0xF1,0x00,0x00,}},
+ {0x6C44,2,{0x9A,0xF2,0x00,0x00,}},
+ {0x6C45,2,{0x9A,0xF3,0x00,0x00,}},
+ {0x6C46,2,{0xD9,0xE0,0x00,0x00,}},
+ {0x6C47,2,{0xBB,0xE3,0x00,0x00,}},
+ {0x6C48,2,{0x9A,0xF4,0x00,0x00,}},
+ {0x6C49,2,{0xBA,0xBA,0x00,0x00,}},
+ {0x6C4A,2,{0xE3,0xE2,0x00,0x00,}},
+ {0x6C4B,2,{0x9A,0xF5,0x00,0x00,}},
+ {0x6C4C,2,{0x9A,0xF6,0x00,0x00,}},
+ {0x6C4D,2,{0x9A,0xF7,0x00,0x00,}},
+ {0x6C4E,2,{0x9A,0xF8,0x00,0x00,}},
+ {0x6C4F,2,{0x9A,0xF9,0x00,0x00,}},
+ {0x6C50,2,{0xCF,0xAB,0x00,0x00,}},
+ {0x6C51,2,{0x9A,0xFA,0x00,0x00,}},
+ {0x6C52,2,{0x9A,0xFB,0x00,0x00,}},
+ {0x6C53,2,{0x9A,0xFC,0x00,0x00,}},
+ {0x6C54,2,{0xE3,0xE0,0x00,0x00,}},
+ {0x6C55,2,{0xC9,0xC7,0x00,0x00,}},
+ {0x6C56,2,{0x9A,0xFD,0x00,0x00,}},
+ {0x6C57,2,{0xBA,0xB9,0x00,0x00,}},
+ {0x6C58,2,{0x9A,0xFE,0x00,0x00,}},
+ {0x6C59,2,{0x9B,0x40,0x00,0x00,}},
+ {0x6C5A,2,{0x9B,0x41,0x00,0x00,}},
+ {0x6C5B,2,{0xD1,0xB4,0x00,0x00,}},
+ {0x6C5C,2,{0xE3,0xE1,0x00,0x00,}},
+ {0x6C5D,2,{0xC8,0xEA,0x00,0x00,}},
+ {0x6C5E,2,{0xB9,0xAF,0x00,0x00,}},
+ {0x6C5F,2,{0xBD,0xAD,0x00,0x00,}},
+ {0x6C60,2,{0xB3,0xD8,0x00,0x00,}},
+ {0x6C61,2,{0xCE,0xDB,0x00,0x00,}},
+ {0x6C62,2,{0x9B,0x42,0x00,0x00,}},
+ {0x6C63,2,{0x9B,0x43,0x00,0x00,}},
+ {0x6C64,2,{0xCC,0xC0,0x00,0x00,}},
+ {0x6C65,2,{0x9B,0x44,0x00,0x00,}},
+ {0x6C66,2,{0x9B,0x45,0x00,0x00,}},
+ {0x6C67,2,{0x9B,0x46,0x00,0x00,}},
+ {0x6C68,2,{0xE3,0xE8,0x00,0x00,}},
+ {0x6C69,2,{0xE3,0xE9,0x00,0x00,}},
+ {0x6C6A,2,{0xCD,0xF4,0x00,0x00,}},
+ {0x6C6B,2,{0x9B,0x47,0x00,0x00,}},
+ {0x6C6C,2,{0x9B,0x48,0x00,0x00,}},
+ {0x6C6D,2,{0x9B,0x49,0x00,0x00,}},
+ {0x6C6E,2,{0x9B,0x4A,0x00,0x00,}},
+ {0x6C6F,2,{0x9B,0x4B,0x00,0x00,}},
+ {0x6C70,2,{0xCC,0xAD,0x00,0x00,}},
+ {0x6C71,2,{0x9B,0x4C,0x00,0x00,}},
+ {0x6C72,2,{0xBC,0xB3,0x00,0x00,}},
+ {0x6C73,2,{0x9B,0x4D,0x00,0x00,}},
+ {0x6C74,2,{0xE3,0xEA,0x00,0x00,}},
+ {0x6C75,2,{0x9B,0x4E,0x00,0x00,}},
+ {0x6C76,2,{0xE3,0xEB,0x00,0x00,}},
+ {0x6C77,2,{0x9B,0x4F,0x00,0x00,}},
+ {0x6C78,2,{0x9B,0x50,0x00,0x00,}},
+ {0x6C79,2,{0xD0,0xDA,0x00,0x00,}},
+ {0x6C7A,2,{0x9B,0x51,0x00,0x00,}},
+ {0x6C7B,2,{0x9B,0x52,0x00,0x00,}},
+ {0x6C7C,2,{0x9B,0x53,0x00,0x00,}},
+ {0x6C7D,2,{0xC6,0xFB,0x00,0x00,}},
+ {0x6C7E,2,{0xB7,0xDA,0x00,0x00,}},
+ {0x6C7F,2,{0x9B,0x54,0x00,0x00,}},
+ {0x6C80,2,{0x9B,0x55,0x00,0x00,}},
+ {0x6C81,2,{0xC7,0xDF,0x00,0x00,}},
+ {0x6C82,2,{0xD2,0xCA,0x00,0x00,}},
+ {0x6C83,2,{0xCE,0xD6,0x00,0x00,}},
+ {0x6C84,2,{0x9B,0x56,0x00,0x00,}},
+ {0x6C85,2,{0xE3,0xE4,0x00,0x00,}},
+ {0x6C86,2,{0xE3,0xEC,0x00,0x00,}},
+ {0x6C87,2,{0x9B,0x57,0x00,0x00,}},
+ {0x6C88,2,{0xC9,0xF2,0x00,0x00,}},
+ {0x6C89,2,{0xB3,0xC1,0x00,0x00,}},
+ {0x6C8A,2,{0x9B,0x58,0x00,0x00,}},
+ {0x6C8B,2,{0x9B,0x59,0x00,0x00,}},
+ {0x6C8C,2,{0xE3,0xE7,0x00,0x00,}},
+ {0x6C8D,2,{0x9B,0x5A,0x00,0x00,}},
+ {0x6C8E,2,{0x9B,0x5B,0x00,0x00,}},
+ {0x6C8F,2,{0xC6,0xE3,0x00,0x00,}},
+ {0x6C90,2,{0xE3,0xE5,0x00,0x00,}},
+ {0x6C91,2,{0x9B,0x5C,0x00,0x00,}},
+ {0x6C92,2,{0x9B,0x5D,0x00,0x00,}},
+ {0x6C93,2,{0xED,0xB3,0x00,0x00,}},
+ {0x6C94,2,{0xE3,0xE6,0x00,0x00,}},
+ {0x6C95,2,{0x9B,0x5E,0x00,0x00,}},
+ {0x6C96,2,{0x9B,0x5F,0x00,0x00,}},
+ {0x6C97,2,{0x9B,0x60,0x00,0x00,}},
+ {0x6C98,2,{0x9B,0x61,0x00,0x00,}},
+ {0x6C99,2,{0xC9,0xB3,0x00,0x00,}},
+ {0x6C9A,2,{0x9B,0x62,0x00,0x00,}},
+ {0x6C9B,2,{0xC5,0xE6,0x00,0x00,}},
+ {0x6C9C,2,{0x9B,0x63,0x00,0x00,}},
+ {0x6C9D,2,{0x9B,0x64,0x00,0x00,}},
+ {0x6C9E,2,{0x9B,0x65,0x00,0x00,}},
+ {0x6C9F,2,{0xB9,0xB5,0x00,0x00,}},
+ {0x6CA0,2,{0x9B,0x66,0x00,0x00,}},
+ {0x6CA1,2,{0xC3,0xBB,0x00,0x00,}},
+ {0x6CA2,2,{0x9B,0x67,0x00,0x00,}},
+ {0x6CA3,2,{0xE3,0xE3,0x00,0x00,}},
+ {0x6CA4,2,{0xC5,0xBD,0x00,0x00,}},
+ {0x6CA5,2,{0xC1,0xA4,0x00,0x00,}},
+ {0x6CA6,2,{0xC2,0xD9,0x00,0x00,}},
+ {0x6CA7,2,{0xB2,0xD7,0x00,0x00,}},
+ {0x6CA8,2,{0x9B,0x68,0x00,0x00,}},
+ {0x6CA9,2,{0xE3,0xED,0x00,0x00,}},
+ {0x6CAA,2,{0xBB,0xA6,0x00,0x00,}},
+ {0x6CAB,2,{0xC4,0xAD,0x00,0x00,}},
+ {0x6CAC,2,{0x9B,0x69,0x00,0x00,}},
+ {0x6CAD,2,{0xE3,0xF0,0x00,0x00,}},
+ {0x6CAE,2,{0xBE,0xDA,0x00,0x00,}},
+ {0x6CAF,2,{0x9B,0x6A,0x00,0x00,}},
+ {0x6CB0,2,{0x9B,0x6B,0x00,0x00,}},
+ {0x6CB1,2,{0xE3,0xFB,0x00,0x00,}},
+ {0x6CB2,2,{0xE3,0xF5,0x00,0x00,}},
+ {0x6CB3,2,{0xBA,0xD3,0x00,0x00,}},
+ {0x6CB4,2,{0x9B,0x6C,0x00,0x00,}},
+ {0x6CB5,2,{0x9B,0x6D,0x00,0x00,}},
+ {0x6CB6,2,{0x9B,0x6E,0x00,0x00,}},
+ {0x6CB7,2,{0x9B,0x6F,0x00,0x00,}},
+ {0x6CB8,2,{0xB7,0xD0,0x00,0x00,}},
+ {0x6CB9,2,{0xD3,0xCD,0x00,0x00,}},
+ {0x6CBA,2,{0x9B,0x70,0x00,0x00,}},
+ {0x6CBB,2,{0xD6,0xCE,0x00,0x00,}},
+ {0x6CBC,2,{0xD5,0xD3,0x00,0x00,}},
+ {0x6CBD,2,{0xB9,0xC1,0x00,0x00,}},
+ {0x6CBE,2,{0xD5,0xB4,0x00,0x00,}},
+ {0x6CBF,2,{0xD1,0xD8,0x00,0x00,}},
+ {0x6CC0,2,{0x9B,0x71,0x00,0x00,}},
+ {0x6CC1,2,{0x9B,0x72,0x00,0x00,}},
+ {0x6CC2,2,{0x9B,0x73,0x00,0x00,}},
+ {0x6CC3,2,{0x9B,0x74,0x00,0x00,}},
+ {0x6CC4,2,{0xD0,0xB9,0x00,0x00,}},
+ {0x6CC5,2,{0xC7,0xF6,0x00,0x00,}},
+ {0x6CC6,2,{0x9B,0x75,0x00,0x00,}},
+ {0x6CC7,2,{0x9B,0x76,0x00,0x00,}},
+ {0x6CC8,2,{0x9B,0x77,0x00,0x00,}},
+ {0x6CC9,2,{0xC8,0xAA,0x00,0x00,}},
+ {0x6CCA,2,{0xB2,0xB4,0x00,0x00,}},
+ {0x6CCB,2,{0x9B,0x78,0x00,0x00,}},
+ {0x6CCC,2,{0xC3,0xDA,0x00,0x00,}},
+ {0x6CCD,2,{0x9B,0x79,0x00,0x00,}},
+ {0x6CCE,2,{0x9B,0x7A,0x00,0x00,}},
+ {0x6CCF,2,{0x9B,0x7B,0x00,0x00,}},
+ {0x6CD0,2,{0xE3,0xEE,0x00,0x00,}},
+ {0x6CD1,2,{0x9B,0x7C,0x00,0x00,}},
+ {0x6CD2,2,{0x9B,0x7D,0x00,0x00,}},
+ {0x6CD3,2,{0xE3,0xFC,0x00,0x00,}},
+ {0x6CD4,2,{0xE3,0xEF,0x00,0x00,}},
+ {0x6CD5,2,{0xB7,0xA8,0x00,0x00,}},
+ {0x6CD6,2,{0xE3,0xF7,0x00,0x00,}},
+ {0x6CD7,2,{0xE3,0xF4,0x00,0x00,}},
+ {0x6CD8,2,{0x9B,0x7E,0x00,0x00,}},
+ {0x6CD9,2,{0x9B,0x80,0x00,0x00,}},
+ {0x6CDA,2,{0x9B,0x81,0x00,0x00,}},
+ {0x6CDB,2,{0xB7,0xBA,0x00,0x00,}},
+ {0x6CDC,2,{0x9B,0x82,0x00,0x00,}},
+ {0x6CDD,2,{0x9B,0x83,0x00,0x00,}},
+ {0x6CDE,2,{0xC5,0xA2,0x00,0x00,}},
+ {0x6CDF,2,{0x9B,0x84,0x00,0x00,}},
+ {0x6CE0,2,{0xE3,0xF6,0x00,0x00,}},
+ {0x6CE1,2,{0xC5,0xDD,0x00,0x00,}},
+ {0x6CE2,2,{0xB2,0xA8,0x00,0x00,}},
+ {0x6CE3,2,{0xC6,0xFC,0x00,0x00,}},
+ {0x6CE4,2,{0x9B,0x85,0x00,0x00,}},
+ {0x6CE5,2,{0xC4,0xE0,0x00,0x00,}},
+ {0x6CE6,2,{0x9B,0x86,0x00,0x00,}},
+ {0x6CE7,2,{0x9B,0x87,0x00,0x00,}},
+ {0x6CE8,2,{0xD7,0xA2,0x00,0x00,}},
+ {0x6CE9,2,{0x9B,0x88,0x00,0x00,}},
+ {0x6CEA,2,{0xC0,0xE1,0x00,0x00,}},
+ {0x6CEB,2,{0xE3,0xF9,0x00,0x00,}},
+ {0x6CEC,2,{0x9B,0x89,0x00,0x00,}},
+ {0x6CED,2,{0x9B,0x8A,0x00,0x00,}},
+ {0x6CEE,2,{0xE3,0xFA,0x00,0x00,}},
+ {0x6CEF,2,{0xE3,0xFD,0x00,0x00,}},
+ {0x6CF0,2,{0xCC,0xA9,0x00,0x00,}},
+ {0x6CF1,2,{0xE3,0xF3,0x00,0x00,}},
+ {0x6CF2,2,{0x9B,0x8B,0x00,0x00,}},
+ {0x6CF3,2,{0xD3,0xBE,0x00,0x00,}},
+ {0x6CF4,2,{0x9B,0x8C,0x00,0x00,}},
+ {0x6CF5,2,{0xB1,0xC3,0x00,0x00,}},
+ {0x6CF6,2,{0xED,0xB4,0x00,0x00,}},
+ {0x6CF7,2,{0xE3,0xF1,0x00,0x00,}},
+ {0x6CF8,2,{0xE3,0xF2,0x00,0x00,}},
+ {0x6CF9,2,{0x9B,0x8D,0x00,0x00,}},
+ {0x6CFA,2,{0xE3,0xF8,0x00,0x00,}},
+ {0x6CFB,2,{0xD0,0xBA,0x00,0x00,}},
+ {0x6CFC,2,{0xC6,0xC3,0x00,0x00,}},
+ {0x6CFD,2,{0xD4,0xF3,0x00,0x00,}},
+ {0x6CFE,2,{0xE3,0xFE,0x00,0x00,}},
+ {0x6CFF,2,{0x9B,0x8E,0x00,0x00,}},
+ {0x6D00,2,{0x9B,0x8F,0x00,0x00,}},
+ {0x6D01,2,{0xBD,0xE0,0x00,0x00,}},
+ {0x6D02,2,{0x9B,0x90,0x00,0x00,}},
+ {0x6D03,2,{0x9B,0x91,0x00,0x00,}},
+ {0x6D04,2,{0xE4,0xA7,0x00,0x00,}},
+ {0x6D05,2,{0x9B,0x92,0x00,0x00,}},
+ {0x6D06,2,{0x9B,0x93,0x00,0x00,}},
+ {0x6D07,2,{0xE4,0xA6,0x00,0x00,}},
+ {0x6D08,2,{0x9B,0x94,0x00,0x00,}},
+ {0x6D09,2,{0x9B,0x95,0x00,0x00,}},
+ {0x6D0A,2,{0x9B,0x96,0x00,0x00,}},
+ {0x6D0B,2,{0xD1,0xF3,0x00,0x00,}},
+ {0x6D0C,2,{0xE4,0xA3,0x00,0x00,}},
+ {0x6D0D,2,{0x9B,0x97,0x00,0x00,}},
+ {0x6D0E,2,{0xE4,0xA9,0x00,0x00,}},
+ {0x6D0F,2,{0x9B,0x98,0x00,0x00,}},
+ {0x6D10,2,{0x9B,0x99,0x00,0x00,}},
+ {0x6D11,2,{0x9B,0x9A,0x00,0x00,}},
+ {0x6D12,2,{0xC8,0xF7,0x00,0x00,}},
+ {0x6D13,2,{0x9B,0x9B,0x00,0x00,}},
+ {0x6D14,2,{0x9B,0x9C,0x00,0x00,}},
+ {0x6D15,2,{0x9B,0x9D,0x00,0x00,}},
+ {0x6D16,2,{0x9B,0x9E,0x00,0x00,}},
+ {0x6D17,2,{0xCF,0xB4,0x00,0x00,}},
+ {0x6D18,2,{0x9B,0x9F,0x00,0x00,}},
+ {0x6D19,2,{0xE4,0xA8,0x00,0x00,}},
+ {0x6D1A,2,{0xE4,0xAE,0x00,0x00,}},
+ {0x6D1B,2,{0xC2,0xE5,0x00,0x00,}},
+ {0x6D1C,2,{0x9B,0xA0,0x00,0x00,}},
+ {0x6D1D,2,{0x9B,0xA1,0x00,0x00,}},
+ {0x6D1E,2,{0xB6,0xB4,0x00,0x00,}},
+ {0x6D1F,2,{0x9B,0xA2,0x00,0x00,}},
+ {0x6D20,2,{0x9B,0xA3,0x00,0x00,}},
+ {0x6D21,2,{0x9B,0xA4,0x00,0x00,}},
+ {0x6D22,2,{0x9B,0xA5,0x00,0x00,}},
+ {0x6D23,2,{0x9B,0xA6,0x00,0x00,}},
+ {0x6D24,2,{0x9B,0xA7,0x00,0x00,}},
+ {0x6D25,2,{0xBD,0xF2,0x00,0x00,}},
+ {0x6D26,2,{0x9B,0xA8,0x00,0x00,}},
+ {0x6D27,2,{0xE4,0xA2,0x00,0x00,}},
+ {0x6D28,2,{0x9B,0xA9,0x00,0x00,}},
+ {0x6D29,2,{0x9B,0xAA,0x00,0x00,}},
+ {0x6D2A,2,{0xBA,0xE9,0x00,0x00,}},
+ {0x6D2B,2,{0xE4,0xAA,0x00,0x00,}},
+ {0x6D2C,2,{0x9B,0xAB,0x00,0x00,}},
+ {0x6D2D,2,{0x9B,0xAC,0x00,0x00,}},
+ {0x6D2E,2,{0xE4,0xAC,0x00,0x00,}},
+ {0x6D2F,2,{0x9B,0xAD,0x00,0x00,}},
+ {0x6D30,2,{0x9B,0xAE,0x00,0x00,}},
+ {0x6D31,2,{0xB6,0xFD,0x00,0x00,}},
+ {0x6D32,2,{0xD6,0xDE,0x00,0x00,}},
+ {0x6D33,2,{0xE4,0xB2,0x00,0x00,}},
+ {0x6D34,2,{0x9B,0xAF,0x00,0x00,}},
+ {0x6D35,2,{0xE4,0xAD,0x00,0x00,}},
+ {0x6D36,2,{0x9B,0xB0,0x00,0x00,}},
+ {0x6D37,2,{0x9B,0xB1,0x00,0x00,}},
+ {0x6D38,2,{0x9B,0xB2,0x00,0x00,}},
+ {0x6D39,2,{0xE4,0xA1,0x00,0x00,}},
+ {0x6D3A,2,{0x9B,0xB3,0x00,0x00,}},
+ {0x6D3B,2,{0xBB,0xEE,0x00,0x00,}},
+ {0x6D3C,2,{0xCD,0xDD,0x00,0x00,}},
+ {0x6D3D,2,{0xC7,0xA2,0x00,0x00,}},
+ {0x6D3E,2,{0xC5,0xC9,0x00,0x00,}},
+ {0x6D3F,2,{0x9B,0xB4,0x00,0x00,}},
+ {0x6D40,2,{0x9B,0xB5,0x00,0x00,}},
+ {0x6D41,2,{0xC1,0xF7,0x00,0x00,}},
+ {0x6D42,2,{0x9B,0xB6,0x00,0x00,}},
+ {0x6D43,2,{0xE4,0xA4,0x00,0x00,}},
+ {0x6D44,2,{0x9B,0xB7,0x00,0x00,}},
+ {0x6D45,2,{0xC7,0xB3,0x00,0x00,}},
+ {0x6D46,2,{0xBD,0xAC,0x00,0x00,}},
+ {0x6D47,2,{0xBD,0xBD,0x00,0x00,}},
+ {0x6D48,2,{0xE4,0xA5,0x00,0x00,}},
+ {0x6D49,2,{0x9B,0xB8,0x00,0x00,}},
+ {0x6D4A,2,{0xD7,0xC7,0x00,0x00,}},
+ {0x6D4B,2,{0xB2,0xE2,0x00,0x00,}},
+ {0x6D4C,2,{0x9B,0xB9,0x00,0x00,}},
+ {0x6D4D,2,{0xE4,0xAB,0x00,0x00,}},
+ {0x6D4E,2,{0xBC,0xC3,0x00,0x00,}},
+ {0x6D4F,2,{0xE4,0xAF,0x00,0x00,}},
+ {0x6D50,2,{0x9B,0xBA,0x00,0x00,}},
+ {0x6D51,2,{0xBB,0xEB,0x00,0x00,}},
+ {0x6D52,2,{0xE4,0xB0,0x00,0x00,}},
+ {0x6D53,2,{0xC5,0xA8,0x00,0x00,}},
+ {0x6D54,2,{0xE4,0xB1,0x00,0x00,}},
+ {0x6D55,2,{0x9B,0xBB,0x00,0x00,}},
+ {0x6D56,2,{0x9B,0xBC,0x00,0x00,}},
+ {0x6D57,2,{0x9B,0xBD,0x00,0x00,}},
+ {0x6D58,2,{0x9B,0xBE,0x00,0x00,}},
+ {0x6D59,2,{0xD5,0xE3,0x00,0x00,}},
+ {0x6D5A,2,{0xBF,0xA3,0x00,0x00,}},
+ {0x6D5B,2,{0x9B,0xBF,0x00,0x00,}},
+ {0x6D5C,2,{0xE4,0xBA,0x00,0x00,}},
+ {0x6D5D,2,{0x9B,0xC0,0x00,0x00,}},
+ {0x6D5E,2,{0xE4,0xB7,0x00,0x00,}},
+ {0x6D5F,2,{0x9B,0xC1,0x00,0x00,}},
+ {0x6D60,2,{0xE4,0xBB,0x00,0x00,}},
+ {0x6D61,2,{0x9B,0xC2,0x00,0x00,}},
+ {0x6D62,2,{0x9B,0xC3,0x00,0x00,}},
+ {0x6D63,2,{0xE4,0xBD,0x00,0x00,}},
+ {0x6D64,2,{0x9B,0xC4,0x00,0x00,}},
+ {0x6D65,2,{0x9B,0xC5,0x00,0x00,}},
+ {0x6D66,2,{0xC6,0xD6,0x00,0x00,}},
+ {0x6D67,2,{0x9B,0xC6,0x00,0x00,}},
+ {0x6D68,2,{0x9B,0xC7,0x00,0x00,}},
+ {0x6D69,2,{0xBA,0xC6,0x00,0x00,}},
+ {0x6D6A,2,{0xC0,0xCB,0x00,0x00,}},
+ {0x6D6B,2,{0x9B,0xC8,0x00,0x00,}},
+ {0x6D6C,2,{0x9B,0xC9,0x00,0x00,}},
+ {0x6D6D,2,{0x9B,0xCA,0x00,0x00,}},
+ {0x6D6E,2,{0xB8,0xA1,0x00,0x00,}},
+ {0x6D6F,2,{0xE4,0xB4,0x00,0x00,}},
+ {0x6D70,2,{0x9B,0xCB,0x00,0x00,}},
+ {0x6D71,2,{0x9B,0xCC,0x00,0x00,}},
+ {0x6D72,2,{0x9B,0xCD,0x00,0x00,}},
+ {0x6D73,2,{0x9B,0xCE,0x00,0x00,}},
+ {0x6D74,2,{0xD4,0xA1,0x00,0x00,}},
+ {0x6D75,2,{0x9B,0xCF,0x00,0x00,}},
+ {0x6D76,2,{0x9B,0xD0,0x00,0x00,}},
+ {0x6D77,2,{0xBA,0xA3,0x00,0x00,}},
+ {0x6D78,2,{0xBD,0xFE,0x00,0x00,}},
+ {0x6D79,2,{0x9B,0xD1,0x00,0x00,}},
+ {0x6D7A,2,{0x9B,0xD2,0x00,0x00,}},
+ {0x6D7B,2,{0x9B,0xD3,0x00,0x00,}},
+ {0x6D7C,2,{0xE4,0xBC,0x00,0x00,}},
+ {0x6D7D,2,{0x9B,0xD4,0x00,0x00,}},
+ {0x6D7E,2,{0x9B,0xD5,0x00,0x00,}},
+ {0x6D7F,2,{0x9B,0xD6,0x00,0x00,}},
+ {0x6D80,2,{0x9B,0xD7,0x00,0x00,}},
+ {0x6D81,2,{0x9B,0xD8,0x00,0x00,}},
+ {0x6D82,2,{0xCD,0xBF,0x00,0x00,}},
+ {0x6D83,2,{0x9B,0xD9,0x00,0x00,}},
+ {0x6D84,2,{0x9B,0xDA,0x00,0x00,}},
+ {0x6D85,2,{0xC4,0xF9,0x00,0x00,}},
+ {0x6D86,2,{0x9B,0xDB,0x00,0x00,}},
+ {0x6D87,2,{0x9B,0xDC,0x00,0x00,}},
+ {0x6D88,2,{0xCF,0xFB,0x00,0x00,}},
+ {0x6D89,2,{0xC9,0xE6,0x00,0x00,}},
+ {0x6D8A,2,{0x9B,0xDD,0x00,0x00,}},
+ {0x6D8B,2,{0x9B,0xDE,0x00,0x00,}},
+ {0x6D8C,2,{0xD3,0xBF,0x00,0x00,}},
+ {0x6D8D,2,{0x9B,0xDF,0x00,0x00,}},
+ {0x6D8E,2,{0xCF,0xD1,0x00,0x00,}},
+ {0x6D8F,2,{0x9B,0xE0,0x00,0x00,}},
+ {0x6D90,2,{0x9B,0xE1,0x00,0x00,}},
+ {0x6D91,2,{0xE4,0xB3,0x00,0x00,}},
+ {0x6D92,2,{0x9B,0xE2,0x00,0x00,}},
+ {0x6D93,2,{0xE4,0xB8,0x00,0x00,}},
+ {0x6D94,2,{0xE4,0xB9,0x00,0x00,}},
+ {0x6D95,2,{0xCC,0xE9,0x00,0x00,}},
+ {0x6D96,2,{0x9B,0xE3,0x00,0x00,}},
+ {0x6D97,2,{0x9B,0xE4,0x00,0x00,}},
+ {0x6D98,2,{0x9B,0xE5,0x00,0x00,}},
+ {0x6D99,2,{0x9B,0xE6,0x00,0x00,}},
+ {0x6D9A,2,{0x9B,0xE7,0x00,0x00,}},
+ {0x6D9B,2,{0xCC,0xCE,0x00,0x00,}},
+ {0x6D9C,2,{0x9B,0xE8,0x00,0x00,}},
+ {0x6D9D,2,{0xC0,0xD4,0x00,0x00,}},
+ {0x6D9E,2,{0xE4,0xB5,0x00,0x00,}},
+ {0x6D9F,2,{0xC1,0xB0,0x00,0x00,}},
+ {0x6DA0,2,{0xE4,0xB6,0x00,0x00,}},
+ {0x6DA1,2,{0xCE,0xD0,0x00,0x00,}},
+ {0x6DA2,2,{0x9B,0xE9,0x00,0x00,}},
+ {0x6DA3,2,{0xBB,0xC1,0x00,0x00,}},
+ {0x6DA4,2,{0xB5,0xD3,0x00,0x00,}},
+ {0x6DA5,2,{0x9B,0xEA,0x00,0x00,}},
+ {0x6DA6,2,{0xC8,0xF3,0x00,0x00,}},
+ {0x6DA7,2,{0xBD,0xA7,0x00,0x00,}},
+ {0x6DA8,2,{0xD5,0xC7,0x00,0x00,}},
+ {0x6DA9,2,{0xC9,0xAC,0x00,0x00,}},
+ {0x6DAA,2,{0xB8,0xA2,0x00,0x00,}},
+ {0x6DAB,2,{0xE4,0xCA,0x00,0x00,}},
+ {0x6DAC,2,{0x9B,0xEB,0x00,0x00,}},
+ {0x6DAD,2,{0x9B,0xEC,0x00,0x00,}},
+ {0x6DAE,2,{0xE4,0xCC,0x00,0x00,}},
+ {0x6DAF,2,{0xD1,0xC4,0x00,0x00,}},
+ {0x6DB0,2,{0x9B,0xED,0x00,0x00,}},
+ {0x6DB1,2,{0x9B,0xEE,0x00,0x00,}},
+ {0x6DB2,2,{0xD2,0xBA,0x00,0x00,}},
+ {0x6DB3,2,{0x9B,0xEF,0x00,0x00,}},
+ {0x6DB4,2,{0x9B,0xF0,0x00,0x00,}},
+ {0x6DB5,2,{0xBA,0xAD,0x00,0x00,}},
+ {0x6DB6,2,{0x9B,0xF1,0x00,0x00,}},
+ {0x6DB7,2,{0x9B,0xF2,0x00,0x00,}},
+ {0x6DB8,2,{0xBA,0xD4,0x00,0x00,}},
+ {0x6DB9,2,{0x9B,0xF3,0x00,0x00,}},
+ {0x6DBA,2,{0x9B,0xF4,0x00,0x00,}},
+ {0x6DBB,2,{0x9B,0xF5,0x00,0x00,}},
+ {0x6DBC,2,{0x9B,0xF6,0x00,0x00,}},
+ {0x6DBD,2,{0x9B,0xF7,0x00,0x00,}},
+ {0x6DBE,2,{0x9B,0xF8,0x00,0x00,}},
+ {0x6DBF,2,{0xE4,0xC3,0x00,0x00,}},
+ {0x6DC0,2,{0xB5,0xED,0x00,0x00,}},
+ {0x6DC1,2,{0x9B,0xF9,0x00,0x00,}},
+ {0x6DC2,2,{0x9B,0xFA,0x00,0x00,}},
+ {0x6DC3,2,{0x9B,0xFB,0x00,0x00,}},
+ {0x6DC4,2,{0xD7,0xCD,0x00,0x00,}},
+ {0x6DC5,2,{0xE4,0xC0,0x00,0x00,}},
+ {0x6DC6,2,{0xCF,0xFD,0x00,0x00,}},
+ {0x6DC7,2,{0xE4,0xBF,0x00,0x00,}},
+ {0x6DC8,2,{0x9B,0xFC,0x00,0x00,}},
+ {0x6DC9,2,{0x9B,0xFD,0x00,0x00,}},
+ {0x6DCA,2,{0x9B,0xFE,0x00,0x00,}},
+ {0x6DCB,2,{0xC1,0xDC,0x00,0x00,}},
+ {0x6DCC,2,{0xCC,0xCA,0x00,0x00,}},
+ {0x6DCD,2,{0x9C,0x40,0x00,0x00,}},
+ {0x6DCE,2,{0x9C,0x41,0x00,0x00,}},
+ {0x6DCF,2,{0x9C,0x42,0x00,0x00,}},
+ {0x6DD0,2,{0x9C,0x43,0x00,0x00,}},
+ {0x6DD1,2,{0xCA,0xE7,0x00,0x00,}},
+ {0x6DD2,2,{0x9C,0x44,0x00,0x00,}},
+ {0x6DD3,2,{0x9C,0x45,0x00,0x00,}},
+ {0x6DD4,2,{0x9C,0x46,0x00,0x00,}},
+ {0x6DD5,2,{0x9C,0x47,0x00,0x00,}},
+ {0x6DD6,2,{0xC4,0xD7,0x00,0x00,}},
+ {0x6DD7,2,{0x9C,0x48,0x00,0x00,}},
+ {0x6DD8,2,{0xCC,0xD4,0x00,0x00,}},
+ {0x6DD9,2,{0xE4,0xC8,0x00,0x00,}},
+ {0x6DDA,2,{0x9C,0x49,0x00,0x00,}},
+ {0x6DDB,2,{0x9C,0x4A,0x00,0x00,}},
+ {0x6DDC,2,{0x9C,0x4B,0x00,0x00,}},
+ {0x6DDD,2,{0xE4,0xC7,0x00,0x00,}},
+ {0x6DDE,2,{0xE4,0xC1,0x00,0x00,}},
+ {0x6DDF,2,{0x9C,0x4C,0x00,0x00,}},
+ {0x6DE0,2,{0xE4,0xC4,0x00,0x00,}},
+ {0x6DE1,2,{0xB5,0xAD,0x00,0x00,}},
+ {0x6DE2,2,{0x9C,0x4D,0x00,0x00,}},
+ {0x6DE3,2,{0x9C,0x4E,0x00,0x00,}},
+ {0x6DE4,2,{0xD3,0xD9,0x00,0x00,}},
+ {0x6DE5,2,{0x9C,0x4F,0x00,0x00,}},
+ {0x6DE6,2,{0xE4,0xC6,0x00,0x00,}},
+ {0x6DE7,2,{0x9C,0x50,0x00,0x00,}},
+ {0x6DE8,2,{0x9C,0x51,0x00,0x00,}},
+ {0x6DE9,2,{0x9C,0x52,0x00,0x00,}},
+ {0x6DEA,2,{0x9C,0x53,0x00,0x00,}},
+ {0x6DEB,2,{0xD2,0xF9,0x00,0x00,}},
+ {0x6DEC,2,{0xB4,0xE3,0x00,0x00,}},
+ {0x6DED,2,{0x9C,0x54,0x00,0x00,}},
+ {0x6DEE,2,{0xBB,0xB4,0x00,0x00,}},
+ {0x6DEF,2,{0x9C,0x55,0x00,0x00,}},
+ {0x6DF0,2,{0x9C,0x56,0x00,0x00,}},
+ {0x6DF1,2,{0xC9,0xEE,0x00,0x00,}},
+ {0x6DF2,2,{0x9C,0x57,0x00,0x00,}},
+ {0x6DF3,2,{0xB4,0xBE,0x00,0x00,}},
+ {0x6DF4,2,{0x9C,0x58,0x00,0x00,}},
+ {0x6DF5,2,{0x9C,0x59,0x00,0x00,}},
+ {0x6DF6,2,{0x9C,0x5A,0x00,0x00,}},
+ {0x6DF7,2,{0xBB,0xEC,0x00,0x00,}},
+ {0x6DF8,2,{0x9C,0x5B,0x00,0x00,}},
+ {0x6DF9,2,{0xD1,0xCD,0x00,0x00,}},
+ {0x6DFA,2,{0x9C,0x5C,0x00,0x00,}},
+ {0x6DFB,2,{0xCC,0xED,0x00,0x00,}},
+ {0x6DFC,2,{0xED,0xB5,0x00,0x00,}},
+ {0x6DFD,2,{0x9C,0x5D,0x00,0x00,}},
+ {0x6DFE,2,{0x9C,0x5E,0x00,0x00,}},
+ {0x6DFF,2,{0x9C,0x5F,0x00,0x00,}},
+ {0x6E00,2,{0x9C,0x60,0x00,0x00,}},
+ {0x6E01,2,{0x9C,0x61,0x00,0x00,}},
+ {0x6E02,2,{0x9C,0x62,0x00,0x00,}},
+ {0x6E03,2,{0x9C,0x63,0x00,0x00,}},
+ {0x6E04,2,{0x9C,0x64,0x00,0x00,}},
+ {0x6E05,2,{0xC7,0xE5,0x00,0x00,}},
+ {0x6E06,2,{0x9C,0x65,0x00,0x00,}},
+ {0x6E07,2,{0x9C,0x66,0x00,0x00,}},
+ {0x6E08,2,{0x9C,0x67,0x00,0x00,}},
+ {0x6E09,2,{0x9C,0x68,0x00,0x00,}},
+ {0x6E0A,2,{0xD4,0xA8,0x00,0x00,}},
+ {0x6E0B,2,{0x9C,0x69,0x00,0x00,}},
+ {0x6E0C,2,{0xE4,0xCB,0x00,0x00,}},
+ {0x6E0D,2,{0xD7,0xD5,0x00,0x00,}},
+ {0x6E0E,2,{0xE4,0xC2,0x00,0x00,}},
+ {0x6E0F,2,{0x9C,0x6A,0x00,0x00,}},
+ {0x6E10,2,{0xBD,0xA5,0x00,0x00,}},
+ {0x6E11,2,{0xE4,0xC5,0x00,0x00,}},
+ {0x6E12,2,{0x9C,0x6B,0x00,0x00,}},
+ {0x6E13,2,{0x9C,0x6C,0x00,0x00,}},
+ {0x6E14,2,{0xD3,0xE6,0x00,0x00,}},
+ {0x6E15,2,{0x9C,0x6D,0x00,0x00,}},
+ {0x6E16,2,{0xE4,0xC9,0x00,0x00,}},
+ {0x6E17,2,{0xC9,0xF8,0x00,0x00,}},
+ {0x6E18,2,{0x9C,0x6E,0x00,0x00,}},
+ {0x6E19,2,{0x9C,0x6F,0x00,0x00,}},
+ {0x6E1A,2,{0xE4,0xBE,0x00,0x00,}},
+ {0x6E1B,2,{0x9C,0x70,0x00,0x00,}},
+ {0x6E1C,2,{0x9C,0x71,0x00,0x00,}},
+ {0x6E1D,2,{0xD3,0xE5,0x00,0x00,}},
+ {0x6E1E,2,{0x9C,0x72,0x00,0x00,}},
+ {0x6E1F,2,{0x9C,0x73,0x00,0x00,}},
+ {0x6E20,2,{0xC7,0xFE,0x00,0x00,}},
+ {0x6E21,2,{0xB6,0xC9,0x00,0x00,}},
+ {0x6E22,2,{0x9C,0x74,0x00,0x00,}},
+ {0x6E23,2,{0xD4,0xFC,0x00,0x00,}},
+ {0x6E24,2,{0xB2,0xB3,0x00,0x00,}},
+ {0x6E25,2,{0xE4,0xD7,0x00,0x00,}},
+ {0x6E26,2,{0x9C,0x75,0x00,0x00,}},
+ {0x6E27,2,{0x9C,0x76,0x00,0x00,}},
+ {0x6E28,2,{0x9C,0x77,0x00,0x00,}},
+ {0x6E29,2,{0xCE,0xC2,0x00,0x00,}},
+ {0x6E2A,2,{0x9C,0x78,0x00,0x00,}},
+ {0x6E2B,2,{0xE4,0xCD,0x00,0x00,}},
+ {0x6E2C,2,{0x9C,0x79,0x00,0x00,}},
+ {0x6E2D,2,{0xCE,0xBC,0x00,0x00,}},
+ {0x6E2E,2,{0x9C,0x7A,0x00,0x00,}},
+ {0x6E2F,2,{0xB8,0xDB,0x00,0x00,}},
+ {0x6E30,2,{0x9C,0x7B,0x00,0x00,}},
+ {0x6E31,2,{0x9C,0x7C,0x00,0x00,}},
+ {0x6E32,2,{0xE4,0xD6,0x00,0x00,}},
+ {0x6E33,2,{0x9C,0x7D,0x00,0x00,}},
+ {0x6E34,2,{0xBF,0xCA,0x00,0x00,}},
+ {0x6E35,2,{0x9C,0x7E,0x00,0x00,}},
+ {0x6E36,2,{0x9C,0x80,0x00,0x00,}},
+ {0x6E37,2,{0x9C,0x81,0x00,0x00,}},
+ {0x6E38,2,{0xD3,0xCE,0x00,0x00,}},
+ {0x6E39,2,{0x9C,0x82,0x00,0x00,}},
+ {0x6E3A,2,{0xC3,0xEC,0x00,0x00,}},
+ {0x6E3B,2,{0x9C,0x83,0x00,0x00,}},
+ {0x6E3C,2,{0x9C,0x84,0x00,0x00,}},
+ {0x6E3D,2,{0x9C,0x85,0x00,0x00,}},
+ {0x6E3E,2,{0x9C,0x86,0x00,0x00,}},
+ {0x6E3F,2,{0x9C,0x87,0x00,0x00,}},
+ {0x6E40,2,{0x9C,0x88,0x00,0x00,}},
+ {0x6E41,2,{0x9C,0x89,0x00,0x00,}},
+ {0x6E42,2,{0x9C,0x8A,0x00,0x00,}},
+ {0x6E43,2,{0xC5,0xC8,0x00,0x00,}},
+ {0x6E44,2,{0xE4,0xD8,0x00,0x00,}},
+ {0x6E45,2,{0x9C,0x8B,0x00,0x00,}},
+ {0x6E46,2,{0x9C,0x8C,0x00,0x00,}},
+ {0x6E47,2,{0x9C,0x8D,0x00,0x00,}},
+ {0x6E48,2,{0x9C,0x8E,0x00,0x00,}},
+ {0x6E49,2,{0x9C,0x8F,0x00,0x00,}},
+ {0x6E4A,2,{0x9C,0x90,0x00,0x00,}},
+ {0x6E4B,2,{0x9C,0x91,0x00,0x00,}},
+ {0x6E4C,2,{0x9C,0x92,0x00,0x00,}},
+ {0x6E4D,2,{0xCD,0xC4,0x00,0x00,}},
+ {0x6E4E,2,{0xE4,0xCF,0x00,0x00,}},
+ {0x6E4F,2,{0x9C,0x93,0x00,0x00,}},
+ {0x6E50,2,{0x9C,0x94,0x00,0x00,}},
+ {0x6E51,2,{0x9C,0x95,0x00,0x00,}},
+ {0x6E52,2,{0x9C,0x96,0x00,0x00,}},
+ {0x6E53,2,{0xE4,0xD4,0x00,0x00,}},
+ {0x6E54,2,{0xE4,0xD5,0x00,0x00,}},
+ {0x6E55,2,{0x9C,0x97,0x00,0x00,}},
+ {0x6E56,2,{0xBA,0xFE,0x00,0x00,}},
+ {0x6E57,2,{0x9C,0x98,0x00,0x00,}},
+ {0x6E58,2,{0xCF,0xE6,0x00,0x00,}},
+ {0x6E59,2,{0x9C,0x99,0x00,0x00,}},
+ {0x6E5A,2,{0x9C,0x9A,0x00,0x00,}},
+ {0x6E5B,2,{0xD5,0xBF,0x00,0x00,}},
+ {0x6E5C,2,{0x9C,0x9B,0x00,0x00,}},
+ {0x6E5D,2,{0x9C,0x9C,0x00,0x00,}},
+ {0x6E5E,2,{0x9C,0x9D,0x00,0x00,}},
+ {0x6E5F,2,{0xE4,0xD2,0x00,0x00,}},
+ {0x6E60,2,{0x9C,0x9E,0x00,0x00,}},
+ {0x6E61,2,{0x9C,0x9F,0x00,0x00,}},
+ {0x6E62,2,{0x9C,0xA0,0x00,0x00,}},
+ {0x6E63,2,{0x9C,0xA1,0x00,0x00,}},
+ {0x6E64,2,{0x9C,0xA2,0x00,0x00,}},
+ {0x6E65,2,{0x9C,0xA3,0x00,0x00,}},
+ {0x6E66,2,{0x9C,0xA4,0x00,0x00,}},
+ {0x6E67,2,{0x9C,0xA5,0x00,0x00,}},
+ {0x6E68,2,{0x9C,0xA6,0x00,0x00,}},
+ {0x6E69,2,{0x9C,0xA7,0x00,0x00,}},
+ {0x6E6A,2,{0x9C,0xA8,0x00,0x00,}},
+ {0x6E6B,2,{0xE4,0xD0,0x00,0x00,}},
+ {0x6E6C,2,{0x9C,0xA9,0x00,0x00,}},
+ {0x6E6D,2,{0x9C,0xAA,0x00,0x00,}},
+ {0x6E6E,2,{0xE4,0xCE,0x00,0x00,}},
+ {0x6E6F,2,{0x9C,0xAB,0x00,0x00,}},
+ {0x6E70,2,{0x9C,0xAC,0x00,0x00,}},
+ {0x6E71,2,{0x9C,0xAD,0x00,0x00,}},
+ {0x6E72,2,{0x9C,0xAE,0x00,0x00,}},
+ {0x6E73,2,{0x9C,0xAF,0x00,0x00,}},
+ {0x6E74,2,{0x9C,0xB0,0x00,0x00,}},
+ {0x6E75,2,{0x9C,0xB1,0x00,0x00,}},
+ {0x6E76,2,{0x9C,0xB2,0x00,0x00,}},
+ {0x6E77,2,{0x9C,0xB3,0x00,0x00,}},
+ {0x6E78,2,{0x9C,0xB4,0x00,0x00,}},
+ {0x6E79,2,{0x9C,0xB5,0x00,0x00,}},
+ {0x6E7A,2,{0x9C,0xB6,0x00,0x00,}},
+ {0x6E7B,2,{0x9C,0xB7,0x00,0x00,}},
+ {0x6E7C,2,{0x9C,0xB8,0x00,0x00,}},
+ {0x6E7D,2,{0x9C,0xB9,0x00,0x00,}},
+ {0x6E7E,2,{0xCD,0xE5,0x00,0x00,}},
+ {0x6E7F,2,{0xCA,0xAA,0x00,0x00,}},
+ {0x6E80,2,{0x9C,0xBA,0x00,0x00,}},
+ {0x6E81,2,{0x9C,0xBB,0x00,0x00,}},
+ {0x6E82,2,{0x9C,0xBC,0x00,0x00,}},
+ {0x6E83,2,{0xC0,0xA3,0x00,0x00,}},
+ {0x6E84,2,{0x9C,0xBD,0x00,0x00,}},
+ {0x6E85,2,{0xBD,0xA6,0x00,0x00,}},
+ {0x6E86,2,{0xE4,0xD3,0x00,0x00,}},
+ {0x6E87,2,{0x9C,0xBE,0x00,0x00,}},
+ {0x6E88,2,{0x9C,0xBF,0x00,0x00,}},
+ {0x6E89,2,{0xB8,0xC8,0x00,0x00,}},
+ {0x6E8A,2,{0x9C,0xC0,0x00,0x00,}},
+ {0x6E8B,2,{0x9C,0xC1,0x00,0x00,}},
+ {0x6E8C,2,{0x9C,0xC2,0x00,0x00,}},
+ {0x6E8D,2,{0x9C,0xC3,0x00,0x00,}},
+ {0x6E8E,2,{0x9C,0xC4,0x00,0x00,}},
+ {0x6E8F,2,{0xE4,0xE7,0x00,0x00,}},
+ {0x6E90,2,{0xD4,0xB4,0x00,0x00,}},
+ {0x6E91,2,{0x9C,0xC5,0x00,0x00,}},
+ {0x6E92,2,{0x9C,0xC6,0x00,0x00,}},
+ {0x6E93,2,{0x9C,0xC7,0x00,0x00,}},
+ {0x6E94,2,{0x9C,0xC8,0x00,0x00,}},
+ {0x6E95,2,{0x9C,0xC9,0x00,0x00,}},
+ {0x6E96,2,{0x9C,0xCA,0x00,0x00,}},
+ {0x6E97,2,{0x9C,0xCB,0x00,0x00,}},
+ {0x6E98,2,{0xE4,0xDB,0x00,0x00,}},
+ {0x6E99,2,{0x9C,0xCC,0x00,0x00,}},
+ {0x6E9A,2,{0x9C,0xCD,0x00,0x00,}},
+ {0x6E9B,2,{0x9C,0xCE,0x00,0x00,}},
+ {0x6E9C,2,{0xC1,0xEF,0x00,0x00,}},
+ {0x6E9D,2,{0x9C,0xCF,0x00,0x00,}},
+ {0x6E9E,2,{0x9C,0xD0,0x00,0x00,}},
+ {0x6E9F,2,{0xE4,0xE9,0x00,0x00,}},
+ {0x6EA0,2,{0x9C,0xD1,0x00,0x00,}},
+ {0x6EA1,2,{0x9C,0xD2,0x00,0x00,}},
+ {0x6EA2,2,{0xD2,0xE7,0x00,0x00,}},
+ {0x6EA3,2,{0x9C,0xD3,0x00,0x00,}},
+ {0x6EA4,2,{0x9C,0xD4,0x00,0x00,}},
+ {0x6EA5,2,{0xE4,0xDF,0x00,0x00,}},
+ {0x6EA6,2,{0x9C,0xD5,0x00,0x00,}},
+ {0x6EA7,2,{0xE4,0xE0,0x00,0x00,}},
+ {0x6EA8,2,{0x9C,0xD6,0x00,0x00,}},
+ {0x6EA9,2,{0x9C,0xD7,0x00,0x00,}},
+ {0x6EAA,2,{0xCF,0xAA,0x00,0x00,}},
+ {0x6EAB,2,{0x9C,0xD8,0x00,0x00,}},
+ {0x6EAC,2,{0x9C,0xD9,0x00,0x00,}},
+ {0x6EAD,2,{0x9C,0xDA,0x00,0x00,}},
+ {0x6EAE,2,{0x9C,0xDB,0x00,0x00,}},
+ {0x6EAF,2,{0xCB,0xDD,0x00,0x00,}},
+ {0x6EB0,2,{0x9C,0xDC,0x00,0x00,}},
+ {0x6EB1,2,{0xE4,0xDA,0x00,0x00,}},
+ {0x6EB2,2,{0xE4,0xD1,0x00,0x00,}},
+ {0x6EB3,2,{0x9C,0xDD,0x00,0x00,}},
+ {0x6EB4,2,{0xE4,0xE5,0x00,0x00,}},
+ {0x6EB5,2,{0x9C,0xDE,0x00,0x00,}},
+ {0x6EB6,2,{0xC8,0xDC,0x00,0x00,}},
+ {0x6EB7,2,{0xE4,0xE3,0x00,0x00,}},
+ {0x6EB8,2,{0x9C,0xDF,0x00,0x00,}},
+ {0x6EB9,2,{0x9C,0xE0,0x00,0x00,}},
+ {0x6EBA,2,{0xC4,0xE7,0x00,0x00,}},
+ {0x6EBB,2,{0xE4,0xE2,0x00,0x00,}},
+ {0x6EBC,2,{0x9C,0xE1,0x00,0x00,}},
+ {0x6EBD,2,{0xE4,0xE1,0x00,0x00,}},
+ {0x6EBE,2,{0x9C,0xE2,0x00,0x00,}},
+ {0x6EBF,2,{0x9C,0xE3,0x00,0x00,}},
+ {0x6EC0,2,{0x9C,0xE4,0x00,0x00,}},
+ {0x6EC1,2,{0xB3,0xFC,0x00,0x00,}},
+ {0x6EC2,2,{0xE4,0xE8,0x00,0x00,}},
+ {0x6EC3,2,{0x9C,0xE5,0x00,0x00,}},
+ {0x6EC4,2,{0x9C,0xE6,0x00,0x00,}},
+ {0x6EC5,2,{0x9C,0xE7,0x00,0x00,}},
+ {0x6EC6,2,{0x9C,0xE8,0x00,0x00,}},
+ {0x6EC7,2,{0xB5,0xE1,0x00,0x00,}},
+ {0x6EC8,2,{0x9C,0xE9,0x00,0x00,}},
+ {0x6EC9,2,{0x9C,0xEA,0x00,0x00,}},
+ {0x6ECA,2,{0x9C,0xEB,0x00,0x00,}},
+ {0x6ECB,2,{0xD7,0xCC,0x00,0x00,}},
+ {0x6ECC,2,{0x9C,0xEC,0x00,0x00,}},
+ {0x6ECD,2,{0x9C,0xED,0x00,0x00,}},
+ {0x6ECE,2,{0x9C,0xEE,0x00,0x00,}},
+ {0x6ECF,2,{0xE4,0xE6,0x00,0x00,}},
+ {0x6ED0,2,{0x9C,0xEF,0x00,0x00,}},
+ {0x6ED1,2,{0xBB,0xAC,0x00,0x00,}},
+ {0x6ED2,2,{0x9C,0xF0,0x00,0x00,}},
+ {0x6ED3,2,{0xD7,0xD2,0x00,0x00,}},
+ {0x6ED4,2,{0xCC,0xCF,0x00,0x00,}},
+ {0x6ED5,2,{0xEB,0xF8,0x00,0x00,}},
+ {0x6ED6,2,{0x9C,0xF1,0x00,0x00,}},
+ {0x6ED7,2,{0xE4,0xE4,0x00,0x00,}},
+ {0x6ED8,2,{0x9C,0xF2,0x00,0x00,}},
+ {0x6ED9,2,{0x9C,0xF3,0x00,0x00,}},
+ {0x6EDA,2,{0xB9,0xF6,0x00,0x00,}},
+ {0x6EDB,2,{0x9C,0xF4,0x00,0x00,}},
+ {0x6EDC,2,{0x9C,0xF5,0x00,0x00,}},
+ {0x6EDD,2,{0x9C,0xF6,0x00,0x00,}},
+ {0x6EDE,2,{0xD6,0xCD,0x00,0x00,}},
+ {0x6EDF,2,{0xE4,0xD9,0x00,0x00,}},
+ {0x6EE0,2,{0xE4,0xDC,0x00,0x00,}},
+ {0x6EE1,2,{0xC2,0xFA,0x00,0x00,}},
+ {0x6EE2,2,{0xE4,0xDE,0x00,0x00,}},
+ {0x6EE3,2,{0x9C,0xF7,0x00,0x00,}},
+ {0x6EE4,2,{0xC2,0xCB,0x00,0x00,}},
+ {0x6EE5,2,{0xC0,0xC4,0x00,0x00,}},
+ {0x6EE6,2,{0xC2,0xD0,0x00,0x00,}},
+ {0x6EE7,2,{0x9C,0xF8,0x00,0x00,}},
+ {0x6EE8,2,{0xB1,0xF5,0x00,0x00,}},
+ {0x6EE9,2,{0xCC,0xB2,0x00,0x00,}},
+ {0x6EEA,2,{0x9C,0xF9,0x00,0x00,}},
+ {0x6EEB,2,{0x9C,0xFA,0x00,0x00,}},
+ {0x6EEC,2,{0x9C,0xFB,0x00,0x00,}},
+ {0x6EED,2,{0x9C,0xFC,0x00,0x00,}},
+ {0x6EEE,2,{0x9C,0xFD,0x00,0x00,}},
+ {0x6EEF,2,{0x9C,0xFE,0x00,0x00,}},
+ {0x6EF0,2,{0x9D,0x40,0x00,0x00,}},
+ {0x6EF1,2,{0x9D,0x41,0x00,0x00,}},
+ {0x6EF2,2,{0x9D,0x42,0x00,0x00,}},
+ {0x6EF3,2,{0x9D,0x43,0x00,0x00,}},
+ {0x6EF4,2,{0xB5,0xCE,0x00,0x00,}},
+ {0x6EF5,2,{0x9D,0x44,0x00,0x00,}},
+ {0x6EF6,2,{0x9D,0x45,0x00,0x00,}},
+ {0x6EF7,2,{0x9D,0x46,0x00,0x00,}},
+ {0x6EF8,2,{0x9D,0x47,0x00,0x00,}},
+ {0x6EF9,2,{0xE4,0xEF,0x00,0x00,}},
+ {0x6EFA,2,{0x9D,0x48,0x00,0x00,}},
+ {0x6EFB,2,{0x9D,0x49,0x00,0x00,}},
+ {0x6EFC,2,{0x9D,0x4A,0x00,0x00,}},
+ {0x6EFD,2,{0x9D,0x4B,0x00,0x00,}},
+ {0x6EFE,2,{0x9D,0x4C,0x00,0x00,}},
+ {0x6EFF,2,{0x9D,0x4D,0x00,0x00,}},
+ {0x6F00,2,{0x9D,0x4E,0x00,0x00,}},
+ {0x6F01,2,{0x9D,0x4F,0x00,0x00,}},
+ {0x6F02,2,{0xC6,0xAF,0x00,0x00,}},
+ {0x6F03,2,{0x9D,0x50,0x00,0x00,}},
+ {0x6F04,2,{0x9D,0x51,0x00,0x00,}},
+ {0x6F05,2,{0x9D,0x52,0x00,0x00,}},
+ {0x6F06,2,{0xC6,0xE1,0x00,0x00,}},
+ {0x6F07,2,{0x9D,0x53,0x00,0x00,}},
+ {0x6F08,2,{0x9D,0x54,0x00,0x00,}},
+ {0x6F09,2,{0xE4,0xF5,0x00,0x00,}},
+ {0x6F0A,2,{0x9D,0x55,0x00,0x00,}},
+ {0x6F0B,2,{0x9D,0x56,0x00,0x00,}},
+ {0x6F0C,2,{0x9D,0x57,0x00,0x00,}},
+ {0x6F0D,2,{0x9D,0x58,0x00,0x00,}},
+ {0x6F0E,2,{0x9D,0x59,0x00,0x00,}},
+ {0x6F0F,2,{0xC2,0xA9,0x00,0x00,}},
+ {0x6F10,2,{0x9D,0x5A,0x00,0x00,}},
+ {0x6F11,2,{0x9D,0x5B,0x00,0x00,}},
+ {0x6F12,2,{0x9D,0x5C,0x00,0x00,}},
+ {0x6F13,2,{0xC0,0xEC,0x00,0x00,}},
+ {0x6F14,2,{0xD1,0xDD,0x00,0x00,}},
+ {0x6F15,2,{0xE4,0xEE,0x00,0x00,}},
+ {0x6F16,2,{0x9D,0x5D,0x00,0x00,}},
+ {0x6F17,2,{0x9D,0x5E,0x00,0x00,}},
+ {0x6F18,2,{0x9D,0x5F,0x00,0x00,}},
+ {0x6F19,2,{0x9D,0x60,0x00,0x00,}},
+ {0x6F1A,2,{0x9D,0x61,0x00,0x00,}},
+ {0x6F1B,2,{0x9D,0x62,0x00,0x00,}},
+ {0x6F1C,2,{0x9D,0x63,0x00,0x00,}},
+ {0x6F1D,2,{0x9D,0x64,0x00,0x00,}},
+ {0x6F1E,2,{0x9D,0x65,0x00,0x00,}},
+ {0x6F1F,2,{0x9D,0x66,0x00,0x00,}},
+ {0x6F20,2,{0xC4,0xAE,0x00,0x00,}},
+ {0x6F21,2,{0x9D,0x67,0x00,0x00,}},
+ {0x6F22,2,{0x9D,0x68,0x00,0x00,}},
+ {0x6F23,2,{0x9D,0x69,0x00,0x00,}},
+ {0x6F24,2,{0xE4,0xED,0x00,0x00,}},
+ {0x6F25,2,{0x9D,0x6A,0x00,0x00,}},
+ {0x6F26,2,{0x9D,0x6B,0x00,0x00,}},
+ {0x6F27,2,{0x9D,0x6C,0x00,0x00,}},
+ {0x6F28,2,{0x9D,0x6D,0x00,0x00,}},
+ {0x6F29,2,{0xE4,0xF6,0x00,0x00,}},
+ {0x6F2A,2,{0xE4,0xF4,0x00,0x00,}},
+ {0x6F2B,2,{0xC2,0xFE,0x00,0x00,}},
+ {0x6F2C,2,{0x9D,0x6E,0x00,0x00,}},
+ {0x6F2D,2,{0xE4,0xDD,0x00,0x00,}},
+ {0x6F2E,2,{0x9D,0x6F,0x00,0x00,}},
+ {0x6F2F,2,{0xE4,0xF0,0x00,0x00,}},
+ {0x6F30,2,{0x9D,0x70,0x00,0x00,}},
+ {0x6F31,2,{0xCA,0xFE,0x00,0x00,}},
+ {0x6F32,2,{0x9D,0x71,0x00,0x00,}},
+ {0x6F33,2,{0xD5,0xC4,0x00,0x00,}},
+ {0x6F34,2,{0x9D,0x72,0x00,0x00,}},
+ {0x6F35,2,{0x9D,0x73,0x00,0x00,}},
+ {0x6F36,2,{0xE4,0xF1,0x00,0x00,}},
+ {0x6F37,2,{0x9D,0x74,0x00,0x00,}},
+ {0x6F38,2,{0x9D,0x75,0x00,0x00,}},
+ {0x6F39,2,{0x9D,0x76,0x00,0x00,}},
+ {0x6F3A,2,{0x9D,0x77,0x00,0x00,}},
+ {0x6F3B,2,{0x9D,0x78,0x00,0x00,}},
+ {0x6F3C,2,{0x9D,0x79,0x00,0x00,}},
+ {0x6F3D,2,{0x9D,0x7A,0x00,0x00,}},
+ {0x6F3E,2,{0xD1,0xFA,0x00,0x00,}},
+ {0x6F3F,2,{0x9D,0x7B,0x00,0x00,}},
+ {0x6F40,2,{0x9D,0x7C,0x00,0x00,}},
+ {0x6F41,2,{0x9D,0x7D,0x00,0x00,}},
+ {0x6F42,2,{0x9D,0x7E,0x00,0x00,}},
+ {0x6F43,2,{0x9D,0x80,0x00,0x00,}},
+ {0x6F44,2,{0x9D,0x81,0x00,0x00,}},
+ {0x6F45,2,{0x9D,0x82,0x00,0x00,}},
+ {0x6F46,2,{0xE4,0xEB,0x00,0x00,}},
+ {0x6F47,2,{0xE4,0xEC,0x00,0x00,}},
+ {0x6F48,2,{0x9D,0x83,0x00,0x00,}},
+ {0x6F49,2,{0x9D,0x84,0x00,0x00,}},
+ {0x6F4A,2,{0x9D,0x85,0x00,0x00,}},
+ {0x6F4B,2,{0xE4,0xF2,0x00,0x00,}},
+ {0x6F4C,2,{0x9D,0x86,0x00,0x00,}},
+ {0x6F4D,2,{0xCE,0xAB,0x00,0x00,}},
+ {0x6F4E,2,{0x9D,0x87,0x00,0x00,}},
+ {0x6F4F,2,{0x9D,0x88,0x00,0x00,}},
+ {0x6F50,2,{0x9D,0x89,0x00,0x00,}},
+ {0x6F51,2,{0x9D,0x8A,0x00,0x00,}},
+ {0x6F52,2,{0x9D,0x8B,0x00,0x00,}},
+ {0x6F53,2,{0x9D,0x8C,0x00,0x00,}},
+ {0x6F54,2,{0x9D,0x8D,0x00,0x00,}},
+ {0x6F55,2,{0x9D,0x8E,0x00,0x00,}},
+ {0x6F56,2,{0x9D,0x8F,0x00,0x00,}},
+ {0x6F57,2,{0x9D,0x90,0x00,0x00,}},
+ {0x6F58,2,{0xC5,0xCB,0x00,0x00,}},
+ {0x6F59,2,{0x9D,0x91,0x00,0x00,}},
+ {0x6F5A,2,{0x9D,0x92,0x00,0x00,}},
+ {0x6F5B,2,{0x9D,0x93,0x00,0x00,}},
+ {0x6F5C,2,{0xC7,0xB1,0x00,0x00,}},
+ {0x6F5D,2,{0x9D,0x94,0x00,0x00,}},
+ {0x6F5E,2,{0xC2,0xBA,0x00,0x00,}},
+ {0x6F5F,2,{0x9D,0x95,0x00,0x00,}},
+ {0x6F60,2,{0x9D,0x96,0x00,0x00,}},
+ {0x6F61,2,{0x9D,0x97,0x00,0x00,}},
+ {0x6F62,2,{0xE4,0xEA,0x00,0x00,}},
+ {0x6F63,2,{0x9D,0x98,0x00,0x00,}},
+ {0x6F64,2,{0x9D,0x99,0x00,0x00,}},
+ {0x6F65,2,{0x9D,0x9A,0x00,0x00,}},
+ {0x6F66,2,{0xC1,0xCA,0x00,0x00,}},
+ {0x6F67,2,{0x9D,0x9B,0x00,0x00,}},
+ {0x6F68,2,{0x9D,0x9C,0x00,0x00,}},
+ {0x6F69,2,{0x9D,0x9D,0x00,0x00,}},
+ {0x6F6A,2,{0x9D,0x9E,0x00,0x00,}},
+ {0x6F6B,2,{0x9D,0x9F,0x00,0x00,}},
+ {0x6F6C,2,{0x9D,0xA0,0x00,0x00,}},
+ {0x6F6D,2,{0xCC,0xB6,0x00,0x00,}},
+ {0x6F6E,2,{0xB3,0xB1,0x00,0x00,}},
+ {0x6F6F,2,{0x9D,0xA1,0x00,0x00,}},
+ {0x6F70,2,{0x9D,0xA2,0x00,0x00,}},
+ {0x6F71,2,{0x9D,0xA3,0x00,0x00,}},
+ {0x6F72,2,{0xE4,0xFB,0x00,0x00,}},
+ {0x6F73,2,{0x9D,0xA4,0x00,0x00,}},
+ {0x6F74,2,{0xE4,0xF3,0x00,0x00,}},
+ {0x6F75,2,{0x9D,0xA5,0x00,0x00,}},
+ {0x6F76,2,{0x9D,0xA6,0x00,0x00,}},
+ {0x6F77,2,{0x9D,0xA7,0x00,0x00,}},
+ {0x6F78,2,{0xE4,0xFA,0x00,0x00,}},
+ {0x6F79,2,{0x9D,0xA8,0x00,0x00,}},
+ {0x6F7A,2,{0xE4,0xFD,0x00,0x00,}},
+ {0x6F7B,2,{0x9D,0xA9,0x00,0x00,}},
+ {0x6F7C,2,{0xE4,0xFC,0x00,0x00,}},
+ {0x6F7D,2,{0x9D,0xAA,0x00,0x00,}},
+ {0x6F7E,2,{0x9D,0xAB,0x00,0x00,}},
+ {0x6F7F,2,{0x9D,0xAC,0x00,0x00,}},
+ {0x6F80,2,{0x9D,0xAD,0x00,0x00,}},
+ {0x6F81,2,{0x9D,0xAE,0x00,0x00,}},
+ {0x6F82,2,{0x9D,0xAF,0x00,0x00,}},
+ {0x6F83,2,{0x9D,0xB0,0x00,0x00,}},
+ {0x6F84,2,{0xB3,0xCE,0x00,0x00,}},
+ {0x6F85,2,{0x9D,0xB1,0x00,0x00,}},
+ {0x6F86,2,{0x9D,0xB2,0x00,0x00,}},
+ {0x6F87,2,{0x9D,0xB3,0x00,0x00,}},
+ {0x6F88,2,{0xB3,0xBA,0x00,0x00,}},
+ {0x6F89,2,{0xE4,0xF7,0x00,0x00,}},
+ {0x6F8A,2,{0x9D,0xB4,0x00,0x00,}},
+ {0x6F8B,2,{0x9D,0xB5,0x00,0x00,}},
+ {0x6F8C,2,{0xE4,0xF9,0x00,0x00,}},
+ {0x6F8D,2,{0xE4,0xF8,0x00,0x00,}},
+ {0x6F8E,2,{0xC5,0xEC,0x00,0x00,}},
+ {0x6F8F,2,{0x9D,0xB6,0x00,0x00,}},
+ {0x6F90,2,{0x9D,0xB7,0x00,0x00,}},
+ {0x6F91,2,{0x9D,0xB8,0x00,0x00,}},
+ {0x6F92,2,{0x9D,0xB9,0x00,0x00,}},
+ {0x6F93,2,{0x9D,0xBA,0x00,0x00,}},
+ {0x6F94,2,{0x9D,0xBB,0x00,0x00,}},
+ {0x6F95,2,{0x9D,0xBC,0x00,0x00,}},
+ {0x6F96,2,{0x9D,0xBD,0x00,0x00,}},
+ {0x6F97,2,{0x9D,0xBE,0x00,0x00,}},
+ {0x6F98,2,{0x9D,0xBF,0x00,0x00,}},
+ {0x6F99,2,{0x9D,0xC0,0x00,0x00,}},
+ {0x6F9A,2,{0x9D,0xC1,0x00,0x00,}},
+ {0x6F9B,2,{0x9D,0xC2,0x00,0x00,}},
+ {0x6F9C,2,{0xC0,0xBD,0x00,0x00,}},
+ {0x6F9D,2,{0x9D,0xC3,0x00,0x00,}},
+ {0x6F9E,2,{0x9D,0xC4,0x00,0x00,}},
+ {0x6F9F,2,{0x9D,0xC5,0x00,0x00,}},
+ {0x6FA0,2,{0x9D,0xC6,0x00,0x00,}},
+ {0x6FA1,2,{0xD4,0xE8,0x00,0x00,}},
+ {0x6FA2,2,{0x9D,0xC7,0x00,0x00,}},
+ {0x6FA3,2,{0x9D,0xC8,0x00,0x00,}},
+ {0x6FA4,2,{0x9D,0xC9,0x00,0x00,}},
+ {0x6FA5,2,{0x9D,0xCA,0x00,0x00,}},
+ {0x6FA6,2,{0x9D,0xCB,0x00,0x00,}},
+ {0x6FA7,2,{0xE5,0xA2,0x00,0x00,}},
+ {0x6FA8,2,{0x9D,0xCC,0x00,0x00,}},
+ {0x6FA9,2,{0x9D,0xCD,0x00,0x00,}},
+ {0x6FAA,2,{0x9D,0xCE,0x00,0x00,}},
+ {0x6FAB,2,{0x9D,0xCF,0x00,0x00,}},
+ {0x6FAC,2,{0x9D,0xD0,0x00,0x00,}},
+ {0x6FAD,2,{0x9D,0xD1,0x00,0x00,}},
+ {0x6FAE,2,{0x9D,0xD2,0x00,0x00,}},
+ {0x6FAF,2,{0x9D,0xD3,0x00,0x00,}},
+ {0x6FB0,2,{0x9D,0xD4,0x00,0x00,}},
+ {0x6FB1,2,{0x9D,0xD5,0x00,0x00,}},
+ {0x6FB2,2,{0x9D,0xD6,0x00,0x00,}},
+ {0x6FB3,2,{0xB0,0xC4,0x00,0x00,}},
+ {0x6FB4,2,{0x9D,0xD7,0x00,0x00,}},
+ {0x6FB5,2,{0x9D,0xD8,0x00,0x00,}},
+ {0x6FB6,2,{0xE5,0xA4,0x00,0x00,}},
+ {0x6FB7,2,{0x9D,0xD9,0x00,0x00,}},
+ {0x6FB8,2,{0x9D,0xDA,0x00,0x00,}},
+ {0x6FB9,2,{0xE5,0xA3,0x00,0x00,}},
+ {0x6FBA,2,{0x9D,0xDB,0x00,0x00,}},
+ {0x6FBB,2,{0x9D,0xDC,0x00,0x00,}},
+ {0x6FBC,2,{0x9D,0xDD,0x00,0x00,}},
+ {0x6FBD,2,{0x9D,0xDE,0x00,0x00,}},
+ {0x6FBE,2,{0x9D,0xDF,0x00,0x00,}},
+ {0x6FBF,2,{0x9D,0xE0,0x00,0x00,}},
+ {0x6FC0,2,{0xBC,0xA4,0x00,0x00,}},
+ {0x6FC1,2,{0x9D,0xE1,0x00,0x00,}},
+ {0x6FC2,2,{0xE5,0xA5,0x00,0x00,}},
+ {0x6FC3,2,{0x9D,0xE2,0x00,0x00,}},
+ {0x6FC4,2,{0x9D,0xE3,0x00,0x00,}},
+ {0x6FC5,2,{0x9D,0xE4,0x00,0x00,}},
+ {0x6FC6,2,{0x9D,0xE5,0x00,0x00,}},
+ {0x6FC7,2,{0x9D,0xE6,0x00,0x00,}},
+ {0x6FC8,2,{0x9D,0xE7,0x00,0x00,}},
+ {0x6FC9,2,{0xE5,0xA1,0x00,0x00,}},
+ {0x6FCA,2,{0x9D,0xE8,0x00,0x00,}},
+ {0x6FCB,2,{0x9D,0xE9,0x00,0x00,}},
+ {0x6FCC,2,{0x9D,0xEA,0x00,0x00,}},
+ {0x6FCD,2,{0x9D,0xEB,0x00,0x00,}},
+ {0x6FCE,2,{0x9D,0xEC,0x00,0x00,}},
+ {0x6FCF,2,{0x9D,0xED,0x00,0x00,}},
+ {0x6FD0,2,{0x9D,0xEE,0x00,0x00,}},
+ {0x6FD1,2,{0xE4,0xFE,0x00,0x00,}},
+ {0x6FD2,2,{0xB1,0xF4,0x00,0x00,}},
+ {0x6FD3,2,{0x9D,0xEF,0x00,0x00,}},
+ {0x6FD4,2,{0x9D,0xF0,0x00,0x00,}},
+ {0x6FD5,2,{0x9D,0xF1,0x00,0x00,}},
+ {0x6FD6,2,{0x9D,0xF2,0x00,0x00,}},
+ {0x6FD7,2,{0x9D,0xF3,0x00,0x00,}},
+ {0x6FD8,2,{0x9D,0xF4,0x00,0x00,}},
+ {0x6FD9,2,{0x9D,0xF5,0x00,0x00,}},
+ {0x6FDA,2,{0x9D,0xF6,0x00,0x00,}},
+ {0x6FDB,2,{0x9D,0xF7,0x00,0x00,}},
+ {0x6FDC,2,{0x9D,0xF8,0x00,0x00,}},
+ {0x6FDD,2,{0x9D,0xF9,0x00,0x00,}},
+ {0x6FDE,2,{0xE5,0xA8,0x00,0x00,}},
+ {0x6FDF,2,{0x9D,0xFA,0x00,0x00,}},
+ {0x6FE0,2,{0xE5,0xA9,0x00,0x00,}},
+ {0x6FE1,2,{0xE5,0xA6,0x00,0x00,}},
+ {0x6FE2,2,{0x9D,0xFB,0x00,0x00,}},
+ {0x6FE3,2,{0x9D,0xFC,0x00,0x00,}},
+ {0x6FE4,2,{0x9D,0xFD,0x00,0x00,}},
+ {0x6FE5,2,{0x9D,0xFE,0x00,0x00,}},
+ {0x6FE6,2,{0x9E,0x40,0x00,0x00,}},
+ {0x6FE7,2,{0x9E,0x41,0x00,0x00,}},
+ {0x6FE8,2,{0x9E,0x42,0x00,0x00,}},
+ {0x6FE9,2,{0x9E,0x43,0x00,0x00,}},
+ {0x6FEA,2,{0x9E,0x44,0x00,0x00,}},
+ {0x6FEB,2,{0x9E,0x45,0x00,0x00,}},
+ {0x6FEC,2,{0x9E,0x46,0x00,0x00,}},
+ {0x6FED,2,{0x9E,0x47,0x00,0x00,}},
+ {0x6FEE,2,{0xE5,0xA7,0x00,0x00,}},
+ {0x6FEF,2,{0xE5,0xAA,0x00,0x00,}},
+ {0x6FF0,2,{0x9E,0x48,0x00,0x00,}},
+ {0x6FF1,2,{0x9E,0x49,0x00,0x00,}},
+ {0x6FF2,2,{0x9E,0x4A,0x00,0x00,}},
+ {0x6FF3,2,{0x9E,0x4B,0x00,0x00,}},
+ {0x6FF4,2,{0x9E,0x4C,0x00,0x00,}},
+ {0x6FF5,2,{0x9E,0x4D,0x00,0x00,}},
+ {0x6FF6,2,{0x9E,0x4E,0x00,0x00,}},
+ {0x6FF7,2,{0x9E,0x4F,0x00,0x00,}},
+ {0x6FF8,2,{0x9E,0x50,0x00,0x00,}},
+ {0x6FF9,2,{0x9E,0x51,0x00,0x00,}},
+ {0x6FFA,2,{0x9E,0x52,0x00,0x00,}},
+ {0x6FFB,2,{0x9E,0x53,0x00,0x00,}},
+ {0x6FFC,2,{0x9E,0x54,0x00,0x00,}},
+ {0x6FFD,2,{0x9E,0x55,0x00,0x00,}},
+ {0x6FFE,2,{0x9E,0x56,0x00,0x00,}},
+ {0x6FFF,2,{0x9E,0x57,0x00,0x00,}},
+ {0x7000,2,{0x9E,0x58,0x00,0x00,}},
+ {0x7001,2,{0x9E,0x59,0x00,0x00,}},
+ {0x7002,2,{0x9E,0x5A,0x00,0x00,}},
+ {0x7003,2,{0x9E,0x5B,0x00,0x00,}},
+ {0x7004,2,{0x9E,0x5C,0x00,0x00,}},
+ {0x7005,2,{0x9E,0x5D,0x00,0x00,}},
+ {0x7006,2,{0x9E,0x5E,0x00,0x00,}},
+ {0x7007,2,{0x9E,0x5F,0x00,0x00,}},
+ {0x7008,2,{0x9E,0x60,0x00,0x00,}},
+ {0x7009,2,{0x9E,0x61,0x00,0x00,}},
+ {0x700A,2,{0x9E,0x62,0x00,0x00,}},
+ {0x700B,2,{0x9E,0x63,0x00,0x00,}},
+ {0x700C,2,{0x9E,0x64,0x00,0x00,}},
+ {0x700D,2,{0x9E,0x65,0x00,0x00,}},
+ {0x700E,2,{0x9E,0x66,0x00,0x00,}},
+ {0x700F,2,{0x9E,0x67,0x00,0x00,}},
+ {0x7010,2,{0x9E,0x68,0x00,0x00,}},
+ {0x7011,2,{0xC6,0xD9,0x00,0x00,}},
+ {0x7012,2,{0x9E,0x69,0x00,0x00,}},
+ {0x7013,2,{0x9E,0x6A,0x00,0x00,}},
+ {0x7014,2,{0x9E,0x6B,0x00,0x00,}},
+ {0x7015,2,{0x9E,0x6C,0x00,0x00,}},
+ {0x7016,2,{0x9E,0x6D,0x00,0x00,}},
+ {0x7017,2,{0x9E,0x6E,0x00,0x00,}},
+ {0x7018,2,{0x9E,0x6F,0x00,0x00,}},
+ {0x7019,2,{0x9E,0x70,0x00,0x00,}},
+ {0x701A,2,{0xE5,0xAB,0x00,0x00,}},
+ {0x701B,2,{0xE5,0xAD,0x00,0x00,}},
+ {0x701C,2,{0x9E,0x71,0x00,0x00,}},
+ {0x701D,2,{0x9E,0x72,0x00,0x00,}},
+ {0x701E,2,{0x9E,0x73,0x00,0x00,}},
+ {0x701F,2,{0x9E,0x74,0x00,0x00,}},
+ {0x7020,2,{0x9E,0x75,0x00,0x00,}},
+ {0x7021,2,{0x9E,0x76,0x00,0x00,}},
+ {0x7022,2,{0x9E,0x77,0x00,0x00,}},
+ {0x7023,2,{0xE5,0xAC,0x00,0x00,}},
+ {0x7024,2,{0x9E,0x78,0x00,0x00,}},
+ {0x7025,2,{0x9E,0x79,0x00,0x00,}},
+ {0x7026,2,{0x9E,0x7A,0x00,0x00,}},
+ {0x7027,2,{0x9E,0x7B,0x00,0x00,}},
+ {0x7028,2,{0x9E,0x7C,0x00,0x00,}},
+ {0x7029,2,{0x9E,0x7D,0x00,0x00,}},
+ {0x702A,2,{0x9E,0x7E,0x00,0x00,}},
+ {0x702B,2,{0x9E,0x80,0x00,0x00,}},
+ {0x702C,2,{0x9E,0x81,0x00,0x00,}},
+ {0x702D,2,{0x9E,0x82,0x00,0x00,}},
+ {0x702E,2,{0x9E,0x83,0x00,0x00,}},
+ {0x702F,2,{0x9E,0x84,0x00,0x00,}},
+ {0x7030,2,{0x9E,0x85,0x00,0x00,}},
+ {0x7031,2,{0x9E,0x86,0x00,0x00,}},
+ {0x7032,2,{0x9E,0x87,0x00,0x00,}},
+ {0x7033,2,{0x9E,0x88,0x00,0x00,}},
+ {0x7034,2,{0x9E,0x89,0x00,0x00,}},
+ {0x7035,2,{0xE5,0xAF,0x00,0x00,}},
+ {0x7036,2,{0x9E,0x8A,0x00,0x00,}},
+ {0x7037,2,{0x9E,0x8B,0x00,0x00,}},
+ {0x7038,2,{0x9E,0x8C,0x00,0x00,}},
+ {0x7039,2,{0xE5,0xAE,0x00,0x00,}},
+ {0x703A,2,{0x9E,0x8D,0x00,0x00,}},
+ {0x703B,2,{0x9E,0x8E,0x00,0x00,}},
+ {0x703C,2,{0x9E,0x8F,0x00,0x00,}},
+ {0x703D,2,{0x9E,0x90,0x00,0x00,}},
+ {0x703E,2,{0x9E,0x91,0x00,0x00,}},
+ {0x703F,2,{0x9E,0x92,0x00,0x00,}},
+ {0x7040,2,{0x9E,0x93,0x00,0x00,}},
+ {0x7041,2,{0x9E,0x94,0x00,0x00,}},
+ {0x7042,2,{0x9E,0x95,0x00,0x00,}},
+ {0x7043,2,{0x9E,0x96,0x00,0x00,}},
+ {0x7044,2,{0x9E,0x97,0x00,0x00,}},
+ {0x7045,2,{0x9E,0x98,0x00,0x00,}},
+ {0x7046,2,{0x9E,0x99,0x00,0x00,}},
+ {0x7047,2,{0x9E,0x9A,0x00,0x00,}},
+ {0x7048,2,{0x9E,0x9B,0x00,0x00,}},
+ {0x7049,2,{0x9E,0x9C,0x00,0x00,}},
+ {0x704A,2,{0x9E,0x9D,0x00,0x00,}},
+ {0x704B,2,{0x9E,0x9E,0x00,0x00,}},
+ {0x704C,2,{0xB9,0xE0,0x00,0x00,}},
+ {0x704D,2,{0x9E,0x9F,0x00,0x00,}},
+ {0x704E,2,{0x9E,0xA0,0x00,0x00,}},
+ {0x704F,2,{0xE5,0xB0,0x00,0x00,}},
+ {0x7050,2,{0x9E,0xA1,0x00,0x00,}},
+ {0x7051,2,{0x9E,0xA2,0x00,0x00,}},
+ {0x7052,2,{0x9E,0xA3,0x00,0x00,}},
+ {0x7053,2,{0x9E,0xA4,0x00,0x00,}},
+ {0x7054,2,{0x9E,0xA5,0x00,0x00,}},
+ {0x7055,2,{0x9E,0xA6,0x00,0x00,}},
+ {0x7056,2,{0x9E,0xA7,0x00,0x00,}},
+ {0x7057,2,{0x9E,0xA8,0x00,0x00,}},
+ {0x7058,2,{0x9E,0xA9,0x00,0x00,}},
+ {0x7059,2,{0x9E,0xAA,0x00,0x00,}},
+ {0x705A,2,{0x9E,0xAB,0x00,0x00,}},
+ {0x705B,2,{0x9E,0xAC,0x00,0x00,}},
+ {0x705C,2,{0x9E,0xAD,0x00,0x00,}},
+ {0x705D,2,{0x9E,0xAE,0x00,0x00,}},
+ {0x705E,2,{0xE5,0xB1,0x00,0x00,}},
+ {0x705F,2,{0x9E,0xAF,0x00,0x00,}},
+ {0x7060,2,{0x9E,0xB0,0x00,0x00,}},
+ {0x7061,2,{0x9E,0xB1,0x00,0x00,}},
+ {0x7062,2,{0x9E,0xB2,0x00,0x00,}},
+ {0x7063,2,{0x9E,0xB3,0x00,0x00,}},
+ {0x7064,2,{0x9E,0xB4,0x00,0x00,}},
+ {0x7065,2,{0x9E,0xB5,0x00,0x00,}},
+ {0x7066,2,{0x9E,0xB6,0x00,0x00,}},
+ {0x7067,2,{0x9E,0xB7,0x00,0x00,}},
+ {0x7068,2,{0x9E,0xB8,0x00,0x00,}},
+ {0x7069,2,{0x9E,0xB9,0x00,0x00,}},
+ {0x706A,2,{0x9E,0xBA,0x00,0x00,}},
+ {0x706B,2,{0xBB,0xF0,0x00,0x00,}},
+ {0x706C,2,{0xEC,0xE1,0x00,0x00,}},
+ {0x706D,2,{0xC3,0xF0,0x00,0x00,}},
+ {0x706E,2,{0x9E,0xBB,0x00,0x00,}},
+ {0x706F,2,{0xB5,0xC6,0x00,0x00,}},
+ {0x7070,2,{0xBB,0xD2,0x00,0x00,}},
+ {0x7071,2,{0x9E,0xBC,0x00,0x00,}},
+ {0x7072,2,{0x9E,0xBD,0x00,0x00,}},
+ {0x7073,2,{0x9E,0xBE,0x00,0x00,}},
+ {0x7074,2,{0x9E,0xBF,0x00,0x00,}},
+ {0x7075,2,{0xC1,0xE9,0x00,0x00,}},
+ {0x7076,2,{0xD4,0xEE,0x00,0x00,}},
+ {0x7077,2,{0x9E,0xC0,0x00,0x00,}},
+ {0x7078,2,{0xBE,0xC4,0x00,0x00,}},
+ {0x7079,2,{0x9E,0xC1,0x00,0x00,}},
+ {0x707A,2,{0x9E,0xC2,0x00,0x00,}},
+ {0x707B,2,{0x9E,0xC3,0x00,0x00,}},
+ {0x707C,2,{0xD7,0xC6,0x00,0x00,}},
+ {0x707D,2,{0x9E,0xC4,0x00,0x00,}},
+ {0x707E,2,{0xD4,0xD6,0x00,0x00,}},
+ {0x707F,2,{0xB2,0xD3,0x00,0x00,}},
+ {0x7080,2,{0xEC,0xBE,0x00,0x00,}},
+ {0x7081,2,{0x9E,0xC5,0x00,0x00,}},
+ {0x7082,2,{0x9E,0xC6,0x00,0x00,}},
+ {0x7083,2,{0x9E,0xC7,0x00,0x00,}},
+ {0x7084,2,{0x9E,0xC8,0x00,0x00,}},
+ {0x7085,2,{0xEA,0xC1,0x00,0x00,}},
+ {0x7086,2,{0x9E,0xC9,0x00,0x00,}},
+ {0x7087,2,{0x9E,0xCA,0x00,0x00,}},
+ {0x7088,2,{0x9E,0xCB,0x00,0x00,}},
+ {0x7089,2,{0xC2,0xAF,0x00,0x00,}},
+ {0x708A,2,{0xB4,0xB6,0x00,0x00,}},
+ {0x708B,2,{0x9E,0xCC,0x00,0x00,}},
+ {0x708C,2,{0x9E,0xCD,0x00,0x00,}},
+ {0x708D,2,{0x9E,0xCE,0x00,0x00,}},
+ {0x708E,2,{0xD1,0xD7,0x00,0x00,}},
+ {0x708F,2,{0x9E,0xCF,0x00,0x00,}},
+ {0x7090,2,{0x9E,0xD0,0x00,0x00,}},
+ {0x7091,2,{0x9E,0xD1,0x00,0x00,}},
+ {0x7092,2,{0xB3,0xB4,0x00,0x00,}},
+ {0x7093,2,{0x9E,0xD2,0x00,0x00,}},
+ {0x7094,2,{0xC8,0xB2,0x00,0x00,}},
+ {0x7095,2,{0xBF,0xBB,0x00,0x00,}},
+ {0x7096,2,{0xEC,0xC0,0x00,0x00,}},
+ {0x7097,2,{0x9E,0xD3,0x00,0x00,}},
+ {0x7098,2,{0x9E,0xD4,0x00,0x00,}},
+ {0x7099,2,{0xD6,0xCB,0x00,0x00,}},
+ {0x709A,2,{0x9E,0xD5,0x00,0x00,}},
+ {0x709B,2,{0x9E,0xD6,0x00,0x00,}},
+ {0x709C,2,{0xEC,0xBF,0x00,0x00,}},
+ {0x709D,2,{0xEC,0xC1,0x00,0x00,}},
+ {0x709E,2,{0x9E,0xD7,0x00,0x00,}},
+ {0x709F,2,{0x9E,0xD8,0x00,0x00,}},
+ {0x70A0,2,{0x9E,0xD9,0x00,0x00,}},
+ {0x70A1,2,{0x9E,0xDA,0x00,0x00,}},
+ {0x70A2,2,{0x9E,0xDB,0x00,0x00,}},
+ {0x70A3,2,{0x9E,0xDC,0x00,0x00,}},
+ {0x70A4,2,{0x9E,0xDD,0x00,0x00,}},
+ {0x70A5,2,{0x9E,0xDE,0x00,0x00,}},
+ {0x70A6,2,{0x9E,0xDF,0x00,0x00,}},
+ {0x70A7,2,{0x9E,0xE0,0x00,0x00,}},
+ {0x70A8,2,{0x9E,0xE1,0x00,0x00,}},
+ {0x70A9,2,{0x9E,0xE2,0x00,0x00,}},
+ {0x70AA,2,{0x9E,0xE3,0x00,0x00,}},
+ {0x70AB,2,{0xEC,0xC5,0x00,0x00,}},
+ {0x70AC,2,{0xBE,0xE6,0x00,0x00,}},
+ {0x70AD,2,{0xCC,0xBF,0x00,0x00,}},
+ {0x70AE,2,{0xC5,0xDA,0x00,0x00,}},
+ {0x70AF,2,{0xBE,0xBC,0x00,0x00,}},
+ {0x70B0,2,{0x9E,0xE4,0x00,0x00,}},
+ {0x70B1,2,{0xEC,0xC6,0x00,0x00,}},
+ {0x70B2,2,{0x9E,0xE5,0x00,0x00,}},
+ {0x70B3,2,{0xB1,0xFE,0x00,0x00,}},
+ {0x70B4,2,{0x9E,0xE6,0x00,0x00,}},
+ {0x70B5,2,{0x9E,0xE7,0x00,0x00,}},
+ {0x70B6,2,{0x9E,0xE8,0x00,0x00,}},
+ {0x70B7,2,{0xEC,0xC4,0x00,0x00,}},
+ {0x70B8,2,{0xD5,0xA8,0x00,0x00,}},
+ {0x70B9,2,{0xB5,0xE3,0x00,0x00,}},
+ {0x70BA,2,{0x9E,0xE9,0x00,0x00,}},
+ {0x70BB,2,{0xEC,0xC2,0x00,0x00,}},
+ {0x70BC,2,{0xC1,0xB6,0x00,0x00,}},
+ {0x70BD,2,{0xB3,0xE3,0x00,0x00,}},
+ {0x70BE,2,{0x9E,0xEA,0x00,0x00,}},
+ {0x70BF,2,{0x9E,0xEB,0x00,0x00,}},
+ {0x70C0,2,{0xEC,0xC3,0x00,0x00,}},
+ {0x70C1,2,{0xCB,0xB8,0x00,0x00,}},
+ {0x70C2,2,{0xC0,0xC3,0x00,0x00,}},
+ {0x70C3,2,{0xCC,0xFE,0x00,0x00,}},
+ {0x70C4,2,{0x9E,0xEC,0x00,0x00,}},
+ {0x70C5,2,{0x9E,0xED,0x00,0x00,}},
+ {0x70C6,2,{0x9E,0xEE,0x00,0x00,}},
+ {0x70C7,2,{0x9E,0xEF,0x00,0x00,}},
+ {0x70C8,2,{0xC1,0xD2,0x00,0x00,}},
+ {0x70C9,2,{0x9E,0xF0,0x00,0x00,}},
+ {0x70CA,2,{0xEC,0xC8,0x00,0x00,}},
+ {0x70CB,2,{0x9E,0xF1,0x00,0x00,}},
+ {0x70CC,2,{0x9E,0xF2,0x00,0x00,}},
+ {0x70CD,2,{0x9E,0xF3,0x00,0x00,}},
+ {0x70CE,2,{0x9E,0xF4,0x00,0x00,}},
+ {0x70CF,2,{0x9E,0xF5,0x00,0x00,}},
+ {0x70D0,2,{0x9E,0xF6,0x00,0x00,}},
+ {0x70D1,2,{0x9E,0xF7,0x00,0x00,}},
+ {0x70D2,2,{0x9E,0xF8,0x00,0x00,}},
+ {0x70D3,2,{0x9E,0xF9,0x00,0x00,}},
+ {0x70D4,2,{0x9E,0xFA,0x00,0x00,}},
+ {0x70D5,2,{0x9E,0xFB,0x00,0x00,}},
+ {0x70D6,2,{0x9E,0xFC,0x00,0x00,}},
+ {0x70D7,2,{0x9E,0xFD,0x00,0x00,}},
+ {0x70D8,2,{0xBA,0xE6,0x00,0x00,}},
+ {0x70D9,2,{0xC0,0xD3,0x00,0x00,}},
+ {0x70DA,2,{0x9E,0xFE,0x00,0x00,}},
+ {0x70DB,2,{0xD6,0xF2,0x00,0x00,}},
+ {0x70DC,2,{0x9F,0x40,0x00,0x00,}},
+ {0x70DD,2,{0x9F,0x41,0x00,0x00,}},
+ {0x70DE,2,{0x9F,0x42,0x00,0x00,}},
+ {0x70DF,2,{0xD1,0xCC,0x00,0x00,}},
+ {0x70E0,2,{0x9F,0x43,0x00,0x00,}},
+ {0x70E1,2,{0x9F,0x44,0x00,0x00,}},
+ {0x70E2,2,{0x9F,0x45,0x00,0x00,}},
+ {0x70E3,2,{0x9F,0x46,0x00,0x00,}},
+ {0x70E4,2,{0xBF,0xBE,0x00,0x00,}},
+ {0x70E5,2,{0x9F,0x47,0x00,0x00,}},
+ {0x70E6,2,{0xB7,0xB3,0x00,0x00,}},
+ {0x70E7,2,{0xC9,0xD5,0x00,0x00,}},
+ {0x70E8,2,{0xEC,0xC7,0x00,0x00,}},
+ {0x70E9,2,{0xBB,0xE2,0x00,0x00,}},
+ {0x70EA,2,{0x9F,0x48,0x00,0x00,}},
+ {0x70EB,2,{0xCC,0xCC,0x00,0x00,}},
+ {0x70EC,2,{0xBD,0xFD,0x00,0x00,}},
+ {0x70ED,2,{0xC8,0xC8,0x00,0x00,}},
+ {0x70EE,2,{0x9F,0x49,0x00,0x00,}},
+ {0x70EF,2,{0xCF,0xA9,0x00,0x00,}},
+ {0x70F0,2,{0x9F,0x4A,0x00,0x00,}},
+ {0x70F1,2,{0x9F,0x4B,0x00,0x00,}},
+ {0x70F2,2,{0x9F,0x4C,0x00,0x00,}},
+ {0x70F3,2,{0x9F,0x4D,0x00,0x00,}},
+ {0x70F4,2,{0x9F,0x4E,0x00,0x00,}},
+ {0x70F5,2,{0x9F,0x4F,0x00,0x00,}},
+ {0x70F6,2,{0x9F,0x50,0x00,0x00,}},
+ {0x70F7,2,{0xCD,0xE9,0x00,0x00,}},
+ {0x70F8,2,{0x9F,0x51,0x00,0x00,}},
+ {0x70F9,2,{0xC5,0xEB,0x00,0x00,}},
+ {0x70FA,2,{0x9F,0x52,0x00,0x00,}},
+ {0x70FB,2,{0x9F,0x53,0x00,0x00,}},
+ {0x70FC,2,{0x9F,0x54,0x00,0x00,}},
+ {0x70FD,2,{0xB7,0xE9,0x00,0x00,}},
+ {0x70FE,2,{0x9F,0x55,0x00,0x00,}},
+ {0x70FF,2,{0x9F,0x56,0x00,0x00,}},
+ {0x7100,2,{0x9F,0x57,0x00,0x00,}},
+ {0x7101,2,{0x9F,0x58,0x00,0x00,}},
+ {0x7102,2,{0x9F,0x59,0x00,0x00,}},
+ {0x7103,2,{0x9F,0x5A,0x00,0x00,}},
+ {0x7104,2,{0x9F,0x5B,0x00,0x00,}},
+ {0x7105,2,{0x9F,0x5C,0x00,0x00,}},
+ {0x7106,2,{0x9F,0x5D,0x00,0x00,}},
+ {0x7107,2,{0x9F,0x5E,0x00,0x00,}},
+ {0x7108,2,{0x9F,0x5F,0x00,0x00,}},
+ {0x7109,2,{0xD1,0xC9,0x00,0x00,}},
+ {0x710A,2,{0xBA,0xB8,0x00,0x00,}},
+ {0x710B,2,{0x9F,0x60,0x00,0x00,}},
+ {0x710C,2,{0x9F,0x61,0x00,0x00,}},
+ {0x710D,2,{0x9F,0x62,0x00,0x00,}},
+ {0x710E,2,{0x9F,0x63,0x00,0x00,}},
+ {0x710F,2,{0x9F,0x64,0x00,0x00,}},
+ {0x7110,2,{0xEC,0xC9,0x00,0x00,}},
+ {0x7111,2,{0x9F,0x65,0x00,0x00,}},
+ {0x7112,2,{0x9F,0x66,0x00,0x00,}},
+ {0x7113,2,{0xEC,0xCA,0x00,0x00,}},
+ {0x7114,2,{0x9F,0x67,0x00,0x00,}},
+ {0x7115,2,{0xBB,0xC0,0x00,0x00,}},
+ {0x7116,2,{0xEC,0xCB,0x00,0x00,}},
+ {0x7117,2,{0x9F,0x68,0x00,0x00,}},
+ {0x7118,2,{0xEC,0xE2,0x00,0x00,}},
+ {0x7119,2,{0xB1,0xBA,0x00,0x00,}},
+ {0x711A,2,{0xB7,0xD9,0x00,0x00,}},
+ {0x711B,2,{0x9F,0x69,0x00,0x00,}},
+ {0x711C,2,{0x9F,0x6A,0x00,0x00,}},
+ {0x711D,2,{0x9F,0x6B,0x00,0x00,}},
+ {0x711E,2,{0x9F,0x6C,0x00,0x00,}},
+ {0x711F,2,{0x9F,0x6D,0x00,0x00,}},
+ {0x7120,2,{0x9F,0x6E,0x00,0x00,}},
+ {0x7121,2,{0x9F,0x6F,0x00,0x00,}},
+ {0x7122,2,{0x9F,0x70,0x00,0x00,}},
+ {0x7123,2,{0x9F,0x71,0x00,0x00,}},
+ {0x7124,2,{0x9F,0x72,0x00,0x00,}},
+ {0x7125,2,{0x9F,0x73,0x00,0x00,}},
+ {0x7126,2,{0xBD,0xB9,0x00,0x00,}},
+ {0x7127,2,{0x9F,0x74,0x00,0x00,}},
+ {0x7128,2,{0x9F,0x75,0x00,0x00,}},
+ {0x7129,2,{0x9F,0x76,0x00,0x00,}},
+ {0x712A,2,{0x9F,0x77,0x00,0x00,}},
+ {0x712B,2,{0x9F,0x78,0x00,0x00,}},
+ {0x712C,2,{0x9F,0x79,0x00,0x00,}},
+ {0x712D,2,{0x9F,0x7A,0x00,0x00,}},
+ {0x712E,2,{0x9F,0x7B,0x00,0x00,}},
+ {0x712F,2,{0xEC,0xCC,0x00,0x00,}},
+ {0x7130,2,{0xD1,0xE6,0x00,0x00,}},
+ {0x7131,2,{0xEC,0xCD,0x00,0x00,}},
+ {0x7132,2,{0x9F,0x7C,0x00,0x00,}},
+ {0x7133,2,{0x9F,0x7D,0x00,0x00,}},
+ {0x7134,2,{0x9F,0x7E,0x00,0x00,}},
+ {0x7135,2,{0x9F,0x80,0x00,0x00,}},
+ {0x7136,2,{0xC8,0xBB,0x00,0x00,}},
+ {0x7137,2,{0x9F,0x81,0x00,0x00,}},
+ {0x7138,2,{0x9F,0x82,0x00,0x00,}},
+ {0x7139,2,{0x9F,0x83,0x00,0x00,}},
+ {0x713A,2,{0x9F,0x84,0x00,0x00,}},
+ {0x713B,2,{0x9F,0x85,0x00,0x00,}},
+ {0x713C,2,{0x9F,0x86,0x00,0x00,}},
+ {0x713D,2,{0x9F,0x87,0x00,0x00,}},
+ {0x713E,2,{0x9F,0x88,0x00,0x00,}},
+ {0x713F,2,{0x9F,0x89,0x00,0x00,}},
+ {0x7140,2,{0x9F,0x8A,0x00,0x00,}},
+ {0x7141,2,{0x9F,0x8B,0x00,0x00,}},
+ {0x7142,2,{0x9F,0x8C,0x00,0x00,}},
+ {0x7143,2,{0x9F,0x8D,0x00,0x00,}},
+ {0x7144,2,{0x9F,0x8E,0x00,0x00,}},
+ {0x7145,2,{0xEC,0xD1,0x00,0x00,}},
+ {0x7146,2,{0x9F,0x8F,0x00,0x00,}},
+ {0x7147,2,{0x9F,0x90,0x00,0x00,}},
+ {0x7148,2,{0x9F,0x91,0x00,0x00,}},
+ {0x7149,2,{0x9F,0x92,0x00,0x00,}},
+ {0x714A,2,{0xEC,0xD3,0x00,0x00,}},
+ {0x714B,2,{0x9F,0x93,0x00,0x00,}},
+ {0x714C,2,{0xBB,0xCD,0x00,0x00,}},
+ {0x714D,2,{0x9F,0x94,0x00,0x00,}},
+ {0x714E,2,{0xBC,0xE5,0x00,0x00,}},
+ {0x714F,2,{0x9F,0x95,0x00,0x00,}},
+ {0x7150,2,{0x9F,0x96,0x00,0x00,}},
+ {0x7151,2,{0x9F,0x97,0x00,0x00,}},
+ {0x7152,2,{0x9F,0x98,0x00,0x00,}},
+ {0x7153,2,{0x9F,0x99,0x00,0x00,}},
+ {0x7154,2,{0x9F,0x9A,0x00,0x00,}},
+ {0x7155,2,{0x9F,0x9B,0x00,0x00,}},
+ {0x7156,2,{0x9F,0x9C,0x00,0x00,}},
+ {0x7157,2,{0x9F,0x9D,0x00,0x00,}},
+ {0x7158,2,{0x9F,0x9E,0x00,0x00,}},
+ {0x7159,2,{0x9F,0x9F,0x00,0x00,}},
+ {0x715A,2,{0x9F,0xA0,0x00,0x00,}},
+ {0x715B,2,{0x9F,0xA1,0x00,0x00,}},
+ {0x715C,2,{0xEC,0xCF,0x00,0x00,}},
+ {0x715D,2,{0x9F,0xA2,0x00,0x00,}},
+ {0x715E,2,{0xC9,0xB7,0x00,0x00,}},
+ {0x715F,2,{0x9F,0xA3,0x00,0x00,}},
+ {0x7160,2,{0x9F,0xA4,0x00,0x00,}},
+ {0x7161,2,{0x9F,0xA5,0x00,0x00,}},
+ {0x7162,2,{0x9F,0xA6,0x00,0x00,}},
+ {0x7163,2,{0x9F,0xA7,0x00,0x00,}},
+ {0x7164,2,{0xC3,0xBA,0x00,0x00,}},
+ {0x7165,2,{0x9F,0xA8,0x00,0x00,}},
+ {0x7166,2,{0xEC,0xE3,0x00,0x00,}},
+ {0x7167,2,{0xD5,0xD5,0x00,0x00,}},
+ {0x7168,2,{0xEC,0xD0,0x00,0x00,}},
+ {0x7169,2,{0x9F,0xA9,0x00,0x00,}},
+ {0x716A,2,{0x9F,0xAA,0x00,0x00,}},
+ {0x716B,2,{0x9F,0xAB,0x00,0x00,}},
+ {0x716C,2,{0x9F,0xAC,0x00,0x00,}},
+ {0x716D,2,{0x9F,0xAD,0x00,0x00,}},
+ {0x716E,2,{0xD6,0xF3,0x00,0x00,}},
+ {0x716F,2,{0x9F,0xAE,0x00,0x00,}},
+ {0x7170,2,{0x9F,0xAF,0x00,0x00,}},
+ {0x7171,2,{0x9F,0xB0,0x00,0x00,}},
+ {0x7172,2,{0xEC,0xD2,0x00,0x00,}},
+ {0x7173,2,{0xEC,0xCE,0x00,0x00,}},
+ {0x7174,2,{0x9F,0xB1,0x00,0x00,}},
+ {0x7175,2,{0x9F,0xB2,0x00,0x00,}},
+ {0x7176,2,{0x9F,0xB3,0x00,0x00,}},
+ {0x7177,2,{0x9F,0xB4,0x00,0x00,}},
+ {0x7178,2,{0xEC,0xD4,0x00,0x00,}},
+ {0x7179,2,{0x9F,0xB5,0x00,0x00,}},
+ {0x717A,2,{0xEC,0xD5,0x00,0x00,}},
+ {0x717B,2,{0x9F,0xB6,0x00,0x00,}},
+ {0x717C,2,{0x9F,0xB7,0x00,0x00,}},
+ {0x717D,2,{0xC9,0xBF,0x00,0x00,}},
+ {0x717E,2,{0x9F,0xB8,0x00,0x00,}},
+ {0x717F,2,{0x9F,0xB9,0x00,0x00,}},
+ {0x7180,2,{0x9F,0xBA,0x00,0x00,}},
+ {0x7181,2,{0x9F,0xBB,0x00,0x00,}},
+ {0x7182,2,{0x9F,0xBC,0x00,0x00,}},
+ {0x7183,2,{0x9F,0xBD,0x00,0x00,}},
+ {0x7184,2,{0xCF,0xA8,0x00,0x00,}},
+ {0x7185,2,{0x9F,0xBE,0x00,0x00,}},
+ {0x7186,2,{0x9F,0xBF,0x00,0x00,}},
+ {0x7187,2,{0x9F,0xC0,0x00,0x00,}},
+ {0x7188,2,{0x9F,0xC1,0x00,0x00,}},
+ {0x7189,2,{0x9F,0xC2,0x00,0x00,}},
+ {0x718A,2,{0xD0,0xDC,0x00,0x00,}},
+ {0x718B,2,{0x9F,0xC3,0x00,0x00,}},
+ {0x718C,2,{0x9F,0xC4,0x00,0x00,}},
+ {0x718D,2,{0x9F,0xC5,0x00,0x00,}},
+ {0x718E,2,{0x9F,0xC6,0x00,0x00,}},
+ {0x718F,2,{0xD1,0xAC,0x00,0x00,}},
+ {0x7190,2,{0x9F,0xC7,0x00,0x00,}},
+ {0x7191,2,{0x9F,0xC8,0x00,0x00,}},
+ {0x7192,2,{0x9F,0xC9,0x00,0x00,}},
+ {0x7193,2,{0x9F,0xCA,0x00,0x00,}},
+ {0x7194,2,{0xC8,0xDB,0x00,0x00,}},
+ {0x7195,2,{0x9F,0xCB,0x00,0x00,}},
+ {0x7196,2,{0x9F,0xCC,0x00,0x00,}},
+ {0x7197,2,{0x9F,0xCD,0x00,0x00,}},
+ {0x7198,2,{0xEC,0xD6,0x00,0x00,}},
+ {0x7199,2,{0xCE,0xF5,0x00,0x00,}},
+ {0x719A,2,{0x9F,0xCE,0x00,0x00,}},
+ {0x719B,2,{0x9F,0xCF,0x00,0x00,}},
+ {0x719C,2,{0x9F,0xD0,0x00,0x00,}},
+ {0x719D,2,{0x9F,0xD1,0x00,0x00,}},
+ {0x719E,2,{0x9F,0xD2,0x00,0x00,}},
+ {0x719F,2,{0xCA,0xEC,0x00,0x00,}},
+ {0x71A0,2,{0xEC,0xDA,0x00,0x00,}},
+ {0x71A1,2,{0x9F,0xD3,0x00,0x00,}},
+ {0x71A2,2,{0x9F,0xD4,0x00,0x00,}},
+ {0x71A3,2,{0x9F,0xD5,0x00,0x00,}},
+ {0x71A4,2,{0x9F,0xD6,0x00,0x00,}},
+ {0x71A5,2,{0x9F,0xD7,0x00,0x00,}},
+ {0x71A6,2,{0x9F,0xD8,0x00,0x00,}},
+ {0x71A7,2,{0x9F,0xD9,0x00,0x00,}},
+ {0x71A8,2,{0xEC,0xD9,0x00,0x00,}},
+ {0x71A9,2,{0x9F,0xDA,0x00,0x00,}},
+ {0x71AA,2,{0x9F,0xDB,0x00,0x00,}},
+ {0x71AB,2,{0x9F,0xDC,0x00,0x00,}},
+ {0x71AC,2,{0xB0,0xBE,0x00,0x00,}},
+ {0x71AD,2,{0x9F,0xDD,0x00,0x00,}},
+ {0x71AE,2,{0x9F,0xDE,0x00,0x00,}},
+ {0x71AF,2,{0x9F,0xDF,0x00,0x00,}},
+ {0x71B0,2,{0x9F,0xE0,0x00,0x00,}},
+ {0x71B1,2,{0x9F,0xE1,0x00,0x00,}},
+ {0x71B2,2,{0x9F,0xE2,0x00,0x00,}},
+ {0x71B3,2,{0xEC,0xD7,0x00,0x00,}},
+ {0x71B4,2,{0x9F,0xE3,0x00,0x00,}},
+ {0x71B5,2,{0xEC,0xD8,0x00,0x00,}},
+ {0x71B6,2,{0x9F,0xE4,0x00,0x00,}},
+ {0x71B7,2,{0x9F,0xE5,0x00,0x00,}},
+ {0x71B8,2,{0x9F,0xE6,0x00,0x00,}},
+ {0x71B9,2,{0xEC,0xE4,0x00,0x00,}},
+ {0x71BA,2,{0x9F,0xE7,0x00,0x00,}},
+ {0x71BB,2,{0x9F,0xE8,0x00,0x00,}},
+ {0x71BC,2,{0x9F,0xE9,0x00,0x00,}},
+ {0x71BD,2,{0x9F,0xEA,0x00,0x00,}},
+ {0x71BE,2,{0x9F,0xEB,0x00,0x00,}},
+ {0x71BF,2,{0x9F,0xEC,0x00,0x00,}},
+ {0x71C0,2,{0x9F,0xED,0x00,0x00,}},
+ {0x71C1,2,{0x9F,0xEE,0x00,0x00,}},
+ {0x71C2,2,{0x9F,0xEF,0x00,0x00,}},
+ {0x71C3,2,{0xC8,0xBC,0x00,0x00,}},
+ {0x71C4,2,{0x9F,0xF0,0x00,0x00,}},
+ {0x71C5,2,{0x9F,0xF1,0x00,0x00,}},
+ {0x71C6,2,{0x9F,0xF2,0x00,0x00,}},
+ {0x71C7,2,{0x9F,0xF3,0x00,0x00,}},
+ {0x71C8,2,{0x9F,0xF4,0x00,0x00,}},
+ {0x71C9,2,{0x9F,0xF5,0x00,0x00,}},
+ {0x71CA,2,{0x9F,0xF6,0x00,0x00,}},
+ {0x71CB,2,{0x9F,0xF7,0x00,0x00,}},
+ {0x71CC,2,{0x9F,0xF8,0x00,0x00,}},
+ {0x71CD,2,{0x9F,0xF9,0x00,0x00,}},
+ {0x71CE,2,{0xC1,0xC7,0x00,0x00,}},
+ {0x71CF,2,{0x9F,0xFA,0x00,0x00,}},
+ {0x71D0,2,{0x9F,0xFB,0x00,0x00,}},
+ {0x71D1,2,{0x9F,0xFC,0x00,0x00,}},
+ {0x71D2,2,{0x9F,0xFD,0x00,0x00,}},
+ {0x71D3,2,{0x9F,0xFE,0x00,0x00,}},
+ {0x71D4,2,{0xEC,0xDC,0x00,0x00,}},
+ {0x71D5,2,{0xD1,0xE0,0x00,0x00,}},
+ {0x71D6,2,{0xA0,0x40,0x00,0x00,}},
+ {0x71D7,2,{0xA0,0x41,0x00,0x00,}},
+ {0x71D8,2,{0xA0,0x42,0x00,0x00,}},
+ {0x71D9,2,{0xA0,0x43,0x00,0x00,}},
+ {0x71DA,2,{0xA0,0x44,0x00,0x00,}},
+ {0x71DB,2,{0xA0,0x45,0x00,0x00,}},
+ {0x71DC,2,{0xA0,0x46,0x00,0x00,}},
+ {0x71DD,2,{0xA0,0x47,0x00,0x00,}},
+ {0x71DE,2,{0xA0,0x48,0x00,0x00,}},
+ {0x71DF,2,{0xA0,0x49,0x00,0x00,}},
+ {0x71E0,2,{0xEC,0xDB,0x00,0x00,}},
+ {0x71E1,2,{0xA0,0x4A,0x00,0x00,}},
+ {0x71E2,2,{0xA0,0x4B,0x00,0x00,}},
+ {0x71E3,2,{0xA0,0x4C,0x00,0x00,}},
+ {0x71E4,2,{0xA0,0x4D,0x00,0x00,}},
+ {0x71E5,2,{0xD4,0xEF,0x00,0x00,}},
+ {0x71E6,2,{0xA0,0x4E,0x00,0x00,}},
+ {0x71E7,2,{0xEC,0xDD,0x00,0x00,}},
+ {0x71E8,2,{0xA0,0x4F,0x00,0x00,}},
+ {0x71E9,2,{0xA0,0x50,0x00,0x00,}},
+ {0x71EA,2,{0xA0,0x51,0x00,0x00,}},
+ {0x71EB,2,{0xA0,0x52,0x00,0x00,}},
+ {0x71EC,2,{0xA0,0x53,0x00,0x00,}},
+ {0x71ED,2,{0xA0,0x54,0x00,0x00,}},
+ {0x71EE,2,{0xDB,0xC6,0x00,0x00,}},
+ {0x71EF,2,{0xA0,0x55,0x00,0x00,}},
+ {0x71F0,2,{0xA0,0x56,0x00,0x00,}},
+ {0x71F1,2,{0xA0,0x57,0x00,0x00,}},
+ {0x71F2,2,{0xA0,0x58,0x00,0x00,}},
+ {0x71F3,2,{0xA0,0x59,0x00,0x00,}},
+ {0x71F4,2,{0xA0,0x5A,0x00,0x00,}},
+ {0x71F5,2,{0xA0,0x5B,0x00,0x00,}},
+ {0x71F6,2,{0xA0,0x5C,0x00,0x00,}},
+ {0x71F7,2,{0xA0,0x5D,0x00,0x00,}},
+ {0x71F8,2,{0xA0,0x5E,0x00,0x00,}},
+ {0x71F9,2,{0xEC,0xDE,0x00,0x00,}},
+ {0x71FA,2,{0xA0,0x5F,0x00,0x00,}},
+ {0x71FB,2,{0xA0,0x60,0x00,0x00,}},
+ {0x71FC,2,{0xA0,0x61,0x00,0x00,}},
+ {0x71FD,2,{0xA0,0x62,0x00,0x00,}},
+ {0x71FE,2,{0xA0,0x63,0x00,0x00,}},
+ {0x71FF,2,{0xA0,0x64,0x00,0x00,}},
+ {0x7200,2,{0xA0,0x65,0x00,0x00,}},
+ {0x7201,2,{0xA0,0x66,0x00,0x00,}},
+ {0x7202,2,{0xA0,0x67,0x00,0x00,}},
+ {0x7203,2,{0xA0,0x68,0x00,0x00,}},
+ {0x7204,2,{0xA0,0x69,0x00,0x00,}},
+ {0x7205,2,{0xA0,0x6A,0x00,0x00,}},
+ {0x7206,2,{0xB1,0xAC,0x00,0x00,}},
+ {0x7207,2,{0xA0,0x6B,0x00,0x00,}},
+ {0x7208,2,{0xA0,0x6C,0x00,0x00,}},
+ {0x7209,2,{0xA0,0x6D,0x00,0x00,}},
+ {0x720A,2,{0xA0,0x6E,0x00,0x00,}},
+ {0x720B,2,{0xA0,0x6F,0x00,0x00,}},
+ {0x720C,2,{0xA0,0x70,0x00,0x00,}},
+ {0x720D,2,{0xA0,0x71,0x00,0x00,}},
+ {0x720E,2,{0xA0,0x72,0x00,0x00,}},
+ {0x720F,2,{0xA0,0x73,0x00,0x00,}},
+ {0x7210,2,{0xA0,0x74,0x00,0x00,}},
+ {0x7211,2,{0xA0,0x75,0x00,0x00,}},
+ {0x7212,2,{0xA0,0x76,0x00,0x00,}},
+ {0x7213,2,{0xA0,0x77,0x00,0x00,}},
+ {0x7214,2,{0xA0,0x78,0x00,0x00,}},
+ {0x7215,2,{0xA0,0x79,0x00,0x00,}},
+ {0x7216,2,{0xA0,0x7A,0x00,0x00,}},
+ {0x7217,2,{0xA0,0x7B,0x00,0x00,}},
+ {0x7218,2,{0xA0,0x7C,0x00,0x00,}},
+ {0x7219,2,{0xA0,0x7D,0x00,0x00,}},
+ {0x721A,2,{0xA0,0x7E,0x00,0x00,}},
+ {0x721B,2,{0xA0,0x80,0x00,0x00,}},
+ {0x721C,2,{0xA0,0x81,0x00,0x00,}},
+ {0x721D,2,{0xEC,0xDF,0x00,0x00,}},
+ {0x721E,2,{0xA0,0x82,0x00,0x00,}},
+ {0x721F,2,{0xA0,0x83,0x00,0x00,}},
+ {0x7220,2,{0xA0,0x84,0x00,0x00,}},
+ {0x7221,2,{0xA0,0x85,0x00,0x00,}},
+ {0x7222,2,{0xA0,0x86,0x00,0x00,}},
+ {0x7223,2,{0xA0,0x87,0x00,0x00,}},
+ {0x7224,2,{0xA0,0x88,0x00,0x00,}},
+ {0x7225,2,{0xA0,0x89,0x00,0x00,}},
+ {0x7226,2,{0xA0,0x8A,0x00,0x00,}},
+ {0x7227,2,{0xA0,0x8B,0x00,0x00,}},
+ {0x7228,2,{0xEC,0xE0,0x00,0x00,}},
+ {0x7229,2,{0xA0,0x8C,0x00,0x00,}},
+ {0x722A,2,{0xD7,0xA6,0x00,0x00,}},
+ {0x722B,2,{0xA0,0x8D,0x00,0x00,}},
+ {0x722C,2,{0xC5,0xC0,0x00,0x00,}},
+ {0x722D,2,{0xA0,0x8E,0x00,0x00,}},
+ {0x722E,2,{0xA0,0x8F,0x00,0x00,}},
+ {0x722F,2,{0xA0,0x90,0x00,0x00,}},
+ {0x7230,2,{0xEB,0xBC,0x00,0x00,}},
+ {0x7231,2,{0xB0,0xAE,0x00,0x00,}},
+ {0x7232,2,{0xA0,0x91,0x00,0x00,}},
+ {0x7233,2,{0xA0,0x92,0x00,0x00,}},
+ {0x7234,2,{0xA0,0x93,0x00,0x00,}},
+ {0x7235,2,{0xBE,0xF4,0x00,0x00,}},
+ {0x7236,2,{0xB8,0xB8,0x00,0x00,}},
+ {0x7237,2,{0xD2,0xAF,0x00,0x00,}},
+ {0x7238,2,{0xB0,0xD6,0x00,0x00,}},
+ {0x7239,2,{0xB5,0xF9,0x00,0x00,}},
+ {0x723A,2,{0xA0,0x94,0x00,0x00,}},
+ {0x723B,2,{0xD8,0xB3,0x00,0x00,}},
+ {0x723C,2,{0xA0,0x95,0x00,0x00,}},
+ {0x723D,2,{0xCB,0xAC,0x00,0x00,}},
+ {0x723E,2,{0xA0,0x96,0x00,0x00,}},
+ {0x723F,2,{0xE3,0xDD,0x00,0x00,}},
+ {0x7240,2,{0xA0,0x97,0x00,0x00,}},
+ {0x7241,2,{0xA0,0x98,0x00,0x00,}},
+ {0x7242,2,{0xA0,0x99,0x00,0x00,}},
+ {0x7243,2,{0xA0,0x9A,0x00,0x00,}},
+ {0x7244,2,{0xA0,0x9B,0x00,0x00,}},
+ {0x7245,2,{0xA0,0x9C,0x00,0x00,}},
+ {0x7246,2,{0xA0,0x9D,0x00,0x00,}},
+ {0x7247,2,{0xC6,0xAC,0x00,0x00,}},
+ {0x7248,2,{0xB0,0xE6,0x00,0x00,}},
+ {0x7249,2,{0xA0,0x9E,0x00,0x00,}},
+ {0x724A,2,{0xA0,0x9F,0x00,0x00,}},
+ {0x724B,2,{0xA0,0xA0,0x00,0x00,}},
+ {0x724C,2,{0xC5,0xC6,0x00,0x00,}},
+ {0x724D,2,{0xEB,0xB9,0x00,0x00,}},
+ {0x724E,2,{0xA0,0xA1,0x00,0x00,}},
+ {0x724F,2,{0xA0,0xA2,0x00,0x00,}},
+ {0x7250,2,{0xA0,0xA3,0x00,0x00,}},
+ {0x7251,2,{0xA0,0xA4,0x00,0x00,}},
+ {0x7252,2,{0xEB,0xBA,0x00,0x00,}},
+ {0x7253,2,{0xA0,0xA5,0x00,0x00,}},
+ {0x7254,2,{0xA0,0xA6,0x00,0x00,}},
+ {0x7255,2,{0xA0,0xA7,0x00,0x00,}},
+ {0x7256,2,{0xEB,0xBB,0x00,0x00,}},
+ {0x7257,2,{0xA0,0xA8,0x00,0x00,}},
+ {0x7258,2,{0xA0,0xA9,0x00,0x00,}},
+ {0x7259,2,{0xD1,0xC0,0x00,0x00,}},
+ {0x725A,2,{0xA0,0xAA,0x00,0x00,}},
+ {0x725B,2,{0xC5,0xA3,0x00,0x00,}},
+ {0x725C,2,{0xA0,0xAB,0x00,0x00,}},
+ {0x725D,2,{0xEA,0xF2,0x00,0x00,}},
+ {0x725E,2,{0xA0,0xAC,0x00,0x00,}},
+ {0x725F,2,{0xC4,0xB2,0x00,0x00,}},
+ {0x7260,2,{0xA0,0xAD,0x00,0x00,}},
+ {0x7261,2,{0xC4,0xB5,0x00,0x00,}},
+ {0x7262,2,{0xC0,0xCE,0x00,0x00,}},
+ {0x7263,2,{0xA0,0xAE,0x00,0x00,}},
+ {0x7264,2,{0xA0,0xAF,0x00,0x00,}},
+ {0x7265,2,{0xA0,0xB0,0x00,0x00,}},
+ {0x7266,2,{0xEA,0xF3,0x00,0x00,}},
+ {0x7267,2,{0xC4,0xC1,0x00,0x00,}},
+ {0x7268,2,{0xA0,0xB1,0x00,0x00,}},
+ {0x7269,2,{0xCE,0xEF,0x00,0x00,}},
+ {0x726A,2,{0xA0,0xB2,0x00,0x00,}},
+ {0x726B,2,{0xA0,0xB3,0x00,0x00,}},
+ {0x726C,2,{0xA0,0xB4,0x00,0x00,}},
+ {0x726D,2,{0xA0,0xB5,0x00,0x00,}},
+ {0x726E,2,{0xEA,0xF0,0x00,0x00,}},
+ {0x726F,2,{0xEA,0xF4,0x00,0x00,}},
+ {0x7270,2,{0xA0,0xB6,0x00,0x00,}},
+ {0x7271,2,{0xA0,0xB7,0x00,0x00,}},
+ {0x7272,2,{0xC9,0xFC,0x00,0x00,}},
+ {0x7273,2,{0xA0,0xB8,0x00,0x00,}},
+ {0x7274,2,{0xA0,0xB9,0x00,0x00,}},
+ {0x7275,2,{0xC7,0xA3,0x00,0x00,}},
+ {0x7276,2,{0xA0,0xBA,0x00,0x00,}},
+ {0x7277,2,{0xA0,0xBB,0x00,0x00,}},
+ {0x7278,2,{0xA0,0xBC,0x00,0x00,}},
+ {0x7279,2,{0xCC,0xD8,0x00,0x00,}},
+ {0x727A,2,{0xCE,0xFE,0x00,0x00,}},
+ {0x727B,2,{0xA0,0xBD,0x00,0x00,}},
+ {0x727C,2,{0xA0,0xBE,0x00,0x00,}},
+ {0x727D,2,{0xA0,0xBF,0x00,0x00,}},
+ {0x727E,2,{0xEA,0xF5,0x00,0x00,}},
+ {0x727F,2,{0xEA,0xF6,0x00,0x00,}},
+ {0x7280,2,{0xCF,0xAC,0x00,0x00,}},
+ {0x7281,2,{0xC0,0xE7,0x00,0x00,}},
+ {0x7282,2,{0xA0,0xC0,0x00,0x00,}},
+ {0x7283,2,{0xA0,0xC1,0x00,0x00,}},
+ {0x7284,2,{0xEA,0xF7,0x00,0x00,}},
+ {0x7285,2,{0xA0,0xC2,0x00,0x00,}},
+ {0x7286,2,{0xA0,0xC3,0x00,0x00,}},
+ {0x7287,2,{0xA0,0xC4,0x00,0x00,}},
+ {0x7288,2,{0xA0,0xC5,0x00,0x00,}},
+ {0x7289,2,{0xA0,0xC6,0x00,0x00,}},
+ {0x728A,2,{0xB6,0xBF,0x00,0x00,}},
+ {0x728B,2,{0xEA,0xF8,0x00,0x00,}},
+ {0x728C,2,{0xA0,0xC7,0x00,0x00,}},
+ {0x728D,2,{0xEA,0xF9,0x00,0x00,}},
+ {0x728E,2,{0xA0,0xC8,0x00,0x00,}},
+ {0x728F,2,{0xEA,0xFA,0x00,0x00,}},
+ {0x7290,2,{0xA0,0xC9,0x00,0x00,}},
+ {0x7291,2,{0xA0,0xCA,0x00,0x00,}},
+ {0x7292,2,{0xEA,0xFB,0x00,0x00,}},
+ {0x7293,2,{0xA0,0xCB,0x00,0x00,}},
+ {0x7294,2,{0xA0,0xCC,0x00,0x00,}},
+ {0x7295,2,{0xA0,0xCD,0x00,0x00,}},
+ {0x7296,2,{0xA0,0xCE,0x00,0x00,}},
+ {0x7297,2,{0xA0,0xCF,0x00,0x00,}},
+ {0x7298,2,{0xA0,0xD0,0x00,0x00,}},
+ {0x7299,2,{0xA0,0xD1,0x00,0x00,}},
+ {0x729A,2,{0xA0,0xD2,0x00,0x00,}},
+ {0x729B,2,{0xA0,0xD3,0x00,0x00,}},
+ {0x729C,2,{0xA0,0xD4,0x00,0x00,}},
+ {0x729D,2,{0xA0,0xD5,0x00,0x00,}},
+ {0x729E,2,{0xA0,0xD6,0x00,0x00,}},
+ {0x729F,2,{0xEA,0xF1,0x00,0x00,}},
+ {0x72A0,2,{0xA0,0xD7,0x00,0x00,}},
+ {0x72A1,2,{0xA0,0xD8,0x00,0x00,}},
+ {0x72A2,2,{0xA0,0xD9,0x00,0x00,}},
+ {0x72A3,2,{0xA0,0xDA,0x00,0x00,}},
+ {0x72A4,2,{0xA0,0xDB,0x00,0x00,}},
+ {0x72A5,2,{0xA0,0xDC,0x00,0x00,}},
+ {0x72A6,2,{0xA0,0xDD,0x00,0x00,}},
+ {0x72A7,2,{0xA0,0xDE,0x00,0x00,}},
+ {0x72A8,2,{0xA0,0xDF,0x00,0x00,}},
+ {0x72A9,2,{0xA0,0xE0,0x00,0x00,}},
+ {0x72AA,2,{0xA0,0xE1,0x00,0x00,}},
+ {0x72AB,2,{0xA0,0xE2,0x00,0x00,}},
+ {0x72AC,2,{0xC8,0xAE,0x00,0x00,}},
+ {0x72AD,2,{0xE1,0xEB,0x00,0x00,}},
+ {0x72AE,2,{0xA0,0xE3,0x00,0x00,}},
+ {0x72AF,2,{0xB7,0xB8,0x00,0x00,}},
+ {0x72B0,2,{0xE1,0xEC,0x00,0x00,}},
+ {0x72B1,2,{0xA0,0xE4,0x00,0x00,}},
+ {0x72B2,2,{0xA0,0xE5,0x00,0x00,}},
+ {0x72B3,2,{0xA0,0xE6,0x00,0x00,}},
+ {0x72B4,2,{0xE1,0xED,0x00,0x00,}},
+ {0x72B5,2,{0xA0,0xE7,0x00,0x00,}},
+ {0x72B6,2,{0xD7,0xB4,0x00,0x00,}},
+ {0x72B7,2,{0xE1,0xEE,0x00,0x00,}},
+ {0x72B8,2,{0xE1,0xEF,0x00,0x00,}},
+ {0x72B9,2,{0xD3,0xCC,0x00,0x00,}},
+ {0x72BA,2,{0xA0,0xE8,0x00,0x00,}},
+ {0x72BB,2,{0xA0,0xE9,0x00,0x00,}},
+ {0x72BC,2,{0xA0,0xEA,0x00,0x00,}},
+ {0x72BD,2,{0xA0,0xEB,0x00,0x00,}},
+ {0x72BE,2,{0xA0,0xEC,0x00,0x00,}},
+ {0x72BF,2,{0xA0,0xED,0x00,0x00,}},
+ {0x72C0,2,{0xA0,0xEE,0x00,0x00,}},
+ {0x72C1,2,{0xE1,0xF1,0x00,0x00,}},
+ {0x72C2,2,{0xBF,0xF1,0x00,0x00,}},
+ {0x72C3,2,{0xE1,0xF0,0x00,0x00,}},
+ {0x72C4,2,{0xB5,0xD2,0x00,0x00,}},
+ {0x72C5,2,{0xA0,0xEF,0x00,0x00,}},
+ {0x72C6,2,{0xA0,0xF0,0x00,0x00,}},
+ {0x72C7,2,{0xA0,0xF1,0x00,0x00,}},
+ {0x72C8,2,{0xB1,0xB7,0x00,0x00,}},
+ {0x72C9,2,{0xA0,0xF2,0x00,0x00,}},
+ {0x72CA,2,{0xA0,0xF3,0x00,0x00,}},
+ {0x72CB,2,{0xA0,0xF4,0x00,0x00,}},
+ {0x72CC,2,{0xA0,0xF5,0x00,0x00,}},
+ {0x72CD,2,{0xE1,0xF3,0x00,0x00,}},
+ {0x72CE,2,{0xE1,0xF2,0x00,0x00,}},
+ {0x72CF,2,{0xA0,0xF6,0x00,0x00,}},
+ {0x72D0,2,{0xBA,0xFC,0x00,0x00,}},
+ {0x72D1,2,{0xA0,0xF7,0x00,0x00,}},
+ {0x72D2,2,{0xE1,0xF4,0x00,0x00,}},
+ {0x72D3,2,{0xA0,0xF8,0x00,0x00,}},
+ {0x72D4,2,{0xA0,0xF9,0x00,0x00,}},
+ {0x72D5,2,{0xA0,0xFA,0x00,0x00,}},
+ {0x72D6,2,{0xA0,0xFB,0x00,0x00,}},
+ {0x72D7,2,{0xB9,0xB7,0x00,0x00,}},
+ {0x72D8,2,{0xA0,0xFC,0x00,0x00,}},
+ {0x72D9,2,{0xBE,0xD1,0x00,0x00,}},
+ {0x72DA,2,{0xA0,0xFD,0x00,0x00,}},
+ {0x72DB,2,{0xA0,0xFE,0x00,0x00,}},
+ {0x72DC,2,{0xAA,0x40,0x00,0x00,}},
+ {0x72DD,2,{0xAA,0x41,0x00,0x00,}},
+ {0x72DE,2,{0xC4,0xFC,0x00,0x00,}},
+ {0x72DF,2,{0xAA,0x42,0x00,0x00,}},
+ {0x72E0,2,{0xBA,0xDD,0x00,0x00,}},
+ {0x72E1,2,{0xBD,0xC6,0x00,0x00,}},
+ {0x72E2,2,{0xAA,0x43,0x00,0x00,}},
+ {0x72E3,2,{0xAA,0x44,0x00,0x00,}},
+ {0x72E4,2,{0xAA,0x45,0x00,0x00,}},
+ {0x72E5,2,{0xAA,0x46,0x00,0x00,}},
+ {0x72E6,2,{0xAA,0x47,0x00,0x00,}},
+ {0x72E7,2,{0xAA,0x48,0x00,0x00,}},
+ {0x72E8,2,{0xE1,0xF5,0x00,0x00,}},
+ {0x72E9,2,{0xE1,0xF7,0x00,0x00,}},
+ {0x72EA,2,{0xAA,0x49,0x00,0x00,}},
+ {0x72EB,2,{0xAA,0x4A,0x00,0x00,}},
+ {0x72EC,2,{0xB6,0xC0,0x00,0x00,}},
+ {0x72ED,2,{0xCF,0xC1,0x00,0x00,}},
+ {0x72EE,2,{0xCA,0xA8,0x00,0x00,}},
+ {0x72EF,2,{0xE1,0xF6,0x00,0x00,}},
+ {0x72F0,2,{0xD5,0xF8,0x00,0x00,}},
+ {0x72F1,2,{0xD3,0xFC,0x00,0x00,}},
+ {0x72F2,2,{0xE1,0xF8,0x00,0x00,}},
+ {0x72F3,2,{0xE1,0xFC,0x00,0x00,}},
+ {0x72F4,2,{0xE1,0xF9,0x00,0x00,}},
+ {0x72F5,2,{0xAA,0x4B,0x00,0x00,}},
+ {0x72F6,2,{0xAA,0x4C,0x00,0x00,}},
+ {0x72F7,2,{0xE1,0xFA,0x00,0x00,}},
+ {0x72F8,2,{0xC0,0xEA,0x00,0x00,}},
+ {0x72F9,2,{0xAA,0x4D,0x00,0x00,}},
+ {0x72FA,2,{0xE1,0xFE,0x00,0x00,}},
+ {0x72FB,2,{0xE2,0xA1,0x00,0x00,}},
+ {0x72FC,2,{0xC0,0xC7,0x00,0x00,}},
+ {0x72FD,2,{0xAA,0x4E,0x00,0x00,}},
+ {0x72FE,2,{0xAA,0x4F,0x00,0x00,}},
+ {0x72FF,2,{0xAA,0x50,0x00,0x00,}},
+ {0x7300,2,{0xAA,0x51,0x00,0x00,}},
+ {0x7301,2,{0xE1,0xFB,0x00,0x00,}},
+ {0x7302,2,{0xAA,0x52,0x00,0x00,}},
+ {0x7303,2,{0xE1,0xFD,0x00,0x00,}},
+ {0x7304,2,{0xAA,0x53,0x00,0x00,}},
+ {0x7305,2,{0xAA,0x54,0x00,0x00,}},
+ {0x7306,2,{0xAA,0x55,0x00,0x00,}},
+ {0x7307,2,{0xAA,0x56,0x00,0x00,}},
+ {0x7308,2,{0xAA,0x57,0x00,0x00,}},
+ {0x7309,2,{0xAA,0x58,0x00,0x00,}},
+ {0x730A,2,{0xE2,0xA5,0x00,0x00,}},
+ {0x730B,2,{0xAA,0x59,0x00,0x00,}},
+ {0x730C,2,{0xAA,0x5A,0x00,0x00,}},
+ {0x730D,2,{0xAA,0x5B,0x00,0x00,}},
+ {0x730E,2,{0xC1,0xD4,0x00,0x00,}},
+ {0x730F,2,{0xAA,0x5C,0x00,0x00,}},
+ {0x7310,2,{0xAA,0x5D,0x00,0x00,}},
+ {0x7311,2,{0xAA,0x5E,0x00,0x00,}},
+ {0x7312,2,{0xAA,0x5F,0x00,0x00,}},
+ {0x7313,2,{0xE2,0xA3,0x00,0x00,}},
+ {0x7314,2,{0xAA,0x60,0x00,0x00,}},
+ {0x7315,2,{0xE2,0xA8,0x00,0x00,}},
+ {0x7316,2,{0xB2,0xFE,0x00,0x00,}},
+ {0x7317,2,{0xE2,0xA2,0x00,0x00,}},
+ {0x7318,2,{0xAA,0x61,0x00,0x00,}},
+ {0x7319,2,{0xAA,0x62,0x00,0x00,}},
+ {0x731A,2,{0xAA,0x63,0x00,0x00,}},
+ {0x731B,2,{0xC3,0xCD,0x00,0x00,}},
+ {0x731C,2,{0xB2,0xC2,0x00,0x00,}},
+ {0x731D,2,{0xE2,0xA7,0x00,0x00,}},
+ {0x731E,2,{0xE2,0xA6,0x00,0x00,}},
+ {0x731F,2,{0xAA,0x64,0x00,0x00,}},
+ {0x7320,2,{0xAA,0x65,0x00,0x00,}},
+ {0x7321,2,{0xE2,0xA4,0x00,0x00,}},
+ {0x7322,2,{0xE2,0xA9,0x00,0x00,}},
+ {0x7323,2,{0xAA,0x66,0x00,0x00,}},
+ {0x7324,2,{0xAA,0x67,0x00,0x00,}},
+ {0x7325,2,{0xE2,0xAB,0x00,0x00,}},
+ {0x7326,2,{0xAA,0x68,0x00,0x00,}},
+ {0x7327,2,{0xAA,0x69,0x00,0x00,}},
+ {0x7328,2,{0xAA,0x6A,0x00,0x00,}},
+ {0x7329,2,{0xD0,0xC9,0x00,0x00,}},
+ {0x732A,2,{0xD6,0xED,0x00,0x00,}},
+ {0x732B,2,{0xC3,0xA8,0x00,0x00,}},
+ {0x732C,2,{0xE2,0xAC,0x00,0x00,}},
+ {0x732D,2,{0xAA,0x6B,0x00,0x00,}},
+ {0x732E,2,{0xCF,0xD7,0x00,0x00,}},
+ {0x732F,2,{0xAA,0x6C,0x00,0x00,}},
+ {0x7330,2,{0xAA,0x6D,0x00,0x00,}},
+ {0x7331,2,{0xE2,0xAE,0x00,0x00,}},
+ {0x7332,2,{0xAA,0x6E,0x00,0x00,}},
+ {0x7333,2,{0xAA,0x6F,0x00,0x00,}},
+ {0x7334,2,{0xBA,0xEF,0x00,0x00,}},
+ {0x7335,2,{0xAA,0x70,0x00,0x00,}},
+ {0x7336,2,{0xAA,0x71,0x00,0x00,}},
+ {0x7337,2,{0xE9,0xE0,0x00,0x00,}},
+ {0x7338,2,{0xE2,0xAD,0x00,0x00,}},
+ {0x7339,2,{0xE2,0xAA,0x00,0x00,}},
+ {0x733A,2,{0xAA,0x72,0x00,0x00,}},
+ {0x733B,2,{0xAA,0x73,0x00,0x00,}},
+ {0x733C,2,{0xAA,0x74,0x00,0x00,}},
+ {0x733D,2,{0xAA,0x75,0x00,0x00,}},
+ {0x733E,2,{0xBB,0xAB,0x00,0x00,}},
+ {0x733F,2,{0xD4,0xB3,0x00,0x00,}},
+ {0x7340,2,{0xAA,0x76,0x00,0x00,}},
+ {0x7341,2,{0xAA,0x77,0x00,0x00,}},
+ {0x7342,2,{0xAA,0x78,0x00,0x00,}},
+ {0x7343,2,{0xAA,0x79,0x00,0x00,}},
+ {0x7344,2,{0xAA,0x7A,0x00,0x00,}},
+ {0x7345,2,{0xAA,0x7B,0x00,0x00,}},
+ {0x7346,2,{0xAA,0x7C,0x00,0x00,}},
+ {0x7347,2,{0xAA,0x7D,0x00,0x00,}},
+ {0x7348,2,{0xAA,0x7E,0x00,0x00,}},
+ {0x7349,2,{0xAA,0x80,0x00,0x00,}},
+ {0x734A,2,{0xAA,0x81,0x00,0x00,}},
+ {0x734B,2,{0xAA,0x82,0x00,0x00,}},
+ {0x734C,2,{0xAA,0x83,0x00,0x00,}},
+ {0x734D,2,{0xE2,0xB0,0x00,0x00,}},
+ {0x734E,2,{0xAA,0x84,0x00,0x00,}},
+ {0x734F,2,{0xAA,0x85,0x00,0x00,}},
+ {0x7350,2,{0xE2,0xAF,0x00,0x00,}},
+ {0x7351,2,{0xAA,0x86,0x00,0x00,}},
+ {0x7352,2,{0xE9,0xE1,0x00,0x00,}},
+ {0x7353,2,{0xAA,0x87,0x00,0x00,}},
+ {0x7354,2,{0xAA,0x88,0x00,0x00,}},
+ {0x7355,2,{0xAA,0x89,0x00,0x00,}},
+ {0x7356,2,{0xAA,0x8A,0x00,0x00,}},
+ {0x7357,2,{0xE2,0xB1,0x00,0x00,}},
+ {0x7358,2,{0xAA,0x8B,0x00,0x00,}},
+ {0x7359,2,{0xAA,0x8C,0x00,0x00,}},
+ {0x735A,2,{0xAA,0x8D,0x00,0x00,}},
+ {0x735B,2,{0xAA,0x8E,0x00,0x00,}},
+ {0x735C,2,{0xAA,0x8F,0x00,0x00,}},
+ {0x735D,2,{0xAA,0x90,0x00,0x00,}},
+ {0x735E,2,{0xAA,0x91,0x00,0x00,}},
+ {0x735F,2,{0xAA,0x92,0x00,0x00,}},
+ {0x7360,2,{0xE2,0xB2,0x00,0x00,}},
+ {0x7361,2,{0xAA,0x93,0x00,0x00,}},
+ {0x7362,2,{0xAA,0x94,0x00,0x00,}},
+ {0x7363,2,{0xAA,0x95,0x00,0x00,}},
+ {0x7364,2,{0xAA,0x96,0x00,0x00,}},
+ {0x7365,2,{0xAA,0x97,0x00,0x00,}},
+ {0x7366,2,{0xAA,0x98,0x00,0x00,}},
+ {0x7367,2,{0xAA,0x99,0x00,0x00,}},
+ {0x7368,2,{0xAA,0x9A,0x00,0x00,}},
+ {0x7369,2,{0xAA,0x9B,0x00,0x00,}},
+ {0x736A,2,{0xAA,0x9C,0x00,0x00,}},
+ {0x736B,2,{0xAA,0x9D,0x00,0x00,}},
+ {0x736C,2,{0xE2,0xB3,0x00,0x00,}},
+ {0x736D,2,{0xCC,0xA1,0x00,0x00,}},
+ {0x736E,2,{0xAA,0x9E,0x00,0x00,}},
+ {0x736F,2,{0xE2,0xB4,0x00,0x00,}},
+ {0x7370,2,{0xAA,0x9F,0x00,0x00,}},
+ {0x7371,2,{0xAA,0xA0,0x00,0x00,}},
+ {0x7372,2,{0xAB,0x40,0x00,0x00,}},
+ {0x7373,2,{0xAB,0x41,0x00,0x00,}},
+ {0x7374,2,{0xAB,0x42,0x00,0x00,}},
+ {0x7375,2,{0xAB,0x43,0x00,0x00,}},
+ {0x7376,2,{0xAB,0x44,0x00,0x00,}},
+ {0x7377,2,{0xAB,0x45,0x00,0x00,}},
+ {0x7378,2,{0xAB,0x46,0x00,0x00,}},
+ {0x7379,2,{0xAB,0x47,0x00,0x00,}},
+ {0x737A,2,{0xAB,0x48,0x00,0x00,}},
+ {0x737B,2,{0xAB,0x49,0x00,0x00,}},
+ {0x737C,2,{0xAB,0x4A,0x00,0x00,}},
+ {0x737D,2,{0xAB,0x4B,0x00,0x00,}},
+ {0x737E,2,{0xE2,0xB5,0x00,0x00,}},
+ {0x737F,2,{0xAB,0x4C,0x00,0x00,}},
+ {0x7380,2,{0xAB,0x4D,0x00,0x00,}},
+ {0x7381,2,{0xAB,0x4E,0x00,0x00,}},
+ {0x7382,2,{0xAB,0x4F,0x00,0x00,}},
+ {0x7383,2,{0xAB,0x50,0x00,0x00,}},
+ {0x7384,2,{0xD0,0xFE,0x00,0x00,}},
+ {0x7385,2,{0xAB,0x51,0x00,0x00,}},
+ {0x7386,2,{0xAB,0x52,0x00,0x00,}},
+ {0x7387,2,{0xC2,0xCA,0x00,0x00,}},
+ {0x7388,2,{0xAB,0x53,0x00,0x00,}},
+ {0x7389,2,{0xD3,0xF1,0x00,0x00,}},
+ {0x738A,2,{0xAB,0x54,0x00,0x00,}},
+ {0x738B,2,{0xCD,0xF5,0x00,0x00,}},
+ {0x738C,2,{0xAB,0x55,0x00,0x00,}},
+ {0x738D,2,{0xAB,0x56,0x00,0x00,}},
+ {0x738E,2,{0xE7,0xE0,0x00,0x00,}},
+ {0x738F,2,{0xAB,0x57,0x00,0x00,}},
+ {0x7390,2,{0xAB,0x58,0x00,0x00,}},
+ {0x7391,2,{0xE7,0xE1,0x00,0x00,}},
+ {0x7392,2,{0xAB,0x59,0x00,0x00,}},
+ {0x7393,2,{0xAB,0x5A,0x00,0x00,}},
+ {0x7394,2,{0xAB,0x5B,0x00,0x00,}},
+ {0x7395,2,{0xAB,0x5C,0x00,0x00,}},
+ {0x7396,2,{0xBE,0xC1,0x00,0x00,}},
+ {0x7397,2,{0xAB,0x5D,0x00,0x00,}},
+ {0x7398,2,{0xAB,0x5E,0x00,0x00,}},
+ {0x7399,2,{0xAB,0x5F,0x00,0x00,}},
+ {0x739A,2,{0xAB,0x60,0x00,0x00,}},
+ {0x739B,2,{0xC2,0xEA,0x00,0x00,}},
+ {0x739C,2,{0xAB,0x61,0x00,0x00,}},
+ {0x739D,2,{0xAB,0x62,0x00,0x00,}},
+ {0x739E,2,{0xAB,0x63,0x00,0x00,}},
+ {0x739F,2,{0xE7,0xE4,0x00,0x00,}},
+ {0x73A0,2,{0xAB,0x64,0x00,0x00,}},
+ {0x73A1,2,{0xAB,0x65,0x00,0x00,}},
+ {0x73A2,2,{0xE7,0xE3,0x00,0x00,}},
+ {0x73A3,2,{0xAB,0x66,0x00,0x00,}},
+ {0x73A4,2,{0xAB,0x67,0x00,0x00,}},
+ {0x73A5,2,{0xAB,0x68,0x00,0x00,}},
+ {0x73A6,2,{0xAB,0x69,0x00,0x00,}},
+ {0x73A7,2,{0xAB,0x6A,0x00,0x00,}},
+ {0x73A8,2,{0xAB,0x6B,0x00,0x00,}},
+ {0x73A9,2,{0xCD,0xE6,0x00,0x00,}},
+ {0x73AA,2,{0xAB,0x6C,0x00,0x00,}},
+ {0x73AB,2,{0xC3,0xB5,0x00,0x00,}},
+ {0x73AC,2,{0xAB,0x6D,0x00,0x00,}},
+ {0x73AD,2,{0xAB,0x6E,0x00,0x00,}},
+ {0x73AE,2,{0xE7,0xE2,0x00,0x00,}},
+ {0x73AF,2,{0xBB,0xB7,0x00,0x00,}},
+ {0x73B0,2,{0xCF,0xD6,0x00,0x00,}},
+ {0x73B1,2,{0xAB,0x6F,0x00,0x00,}},
+ {0x73B2,2,{0xC1,0xE1,0x00,0x00,}},
+ {0x73B3,2,{0xE7,0xE9,0x00,0x00,}},
+ {0x73B4,2,{0xAB,0x70,0x00,0x00,}},
+ {0x73B5,2,{0xAB,0x71,0x00,0x00,}},
+ {0x73B6,2,{0xAB,0x72,0x00,0x00,}},
+ {0x73B7,2,{0xE7,0xE8,0x00,0x00,}},
+ {0x73B8,2,{0xAB,0x73,0x00,0x00,}},
+ {0x73B9,2,{0xAB,0x74,0x00,0x00,}},
+ {0x73BA,2,{0xE7,0xF4,0x00,0x00,}},
+ {0x73BB,2,{0xB2,0xA3,0x00,0x00,}},
+ {0x73BC,2,{0xAB,0x75,0x00,0x00,}},
+ {0x73BD,2,{0xAB,0x76,0x00,0x00,}},
+ {0x73BE,2,{0xAB,0x77,0x00,0x00,}},
+ {0x73BF,2,{0xAB,0x78,0x00,0x00,}},
+ {0x73C0,2,{0xE7,0xEA,0x00,0x00,}},
+ {0x73C1,2,{0xAB,0x79,0x00,0x00,}},
+ {0x73C2,2,{0xE7,0xE6,0x00,0x00,}},
+ {0x73C3,2,{0xAB,0x7A,0x00,0x00,}},
+ {0x73C4,2,{0xAB,0x7B,0x00,0x00,}},
+ {0x73C5,2,{0xAB,0x7C,0x00,0x00,}},
+ {0x73C6,2,{0xAB,0x7D,0x00,0x00,}},
+ {0x73C7,2,{0xAB,0x7E,0x00,0x00,}},
+ {0x73C8,2,{0xE7,0xEC,0x00,0x00,}},
+ {0x73C9,2,{0xE7,0xEB,0x00,0x00,}},
+ {0x73CA,2,{0xC9,0xBA,0x00,0x00,}},
+ {0x73CB,2,{0xAB,0x80,0x00,0x00,}},
+ {0x73CC,2,{0xAB,0x81,0x00,0x00,}},
+ {0x73CD,2,{0xD5,0xE4,0x00,0x00,}},
+ {0x73CE,2,{0xAB,0x82,0x00,0x00,}},
+ {0x73CF,2,{0xE7,0xE5,0x00,0x00,}},
+ {0x73D0,2,{0xB7,0xA9,0x00,0x00,}},
+ {0x73D1,2,{0xE7,0xE7,0x00,0x00,}},
+ {0x73D2,2,{0xAB,0x83,0x00,0x00,}},
+ {0x73D3,2,{0xAB,0x84,0x00,0x00,}},
+ {0x73D4,2,{0xAB,0x85,0x00,0x00,}},
+ {0x73D5,2,{0xAB,0x86,0x00,0x00,}},
+ {0x73D6,2,{0xAB,0x87,0x00,0x00,}},
+ {0x73D7,2,{0xAB,0x88,0x00,0x00,}},
+ {0x73D8,2,{0xAB,0x89,0x00,0x00,}},
+ {0x73D9,2,{0xE7,0xEE,0x00,0x00,}},
+ {0x73DA,2,{0xAB,0x8A,0x00,0x00,}},
+ {0x73DB,2,{0xAB,0x8B,0x00,0x00,}},
+ {0x73DC,2,{0xAB,0x8C,0x00,0x00,}},
+ {0x73DD,2,{0xAB,0x8D,0x00,0x00,}},
+ {0x73DE,2,{0xE7,0xF3,0x00,0x00,}},
+ {0x73DF,2,{0xAB,0x8E,0x00,0x00,}},
+ {0x73E0,2,{0xD6,0xE9,0x00,0x00,}},
+ {0x73E1,2,{0xAB,0x8F,0x00,0x00,}},
+ {0x73E2,2,{0xAB,0x90,0x00,0x00,}},
+ {0x73E3,2,{0xAB,0x91,0x00,0x00,}},
+ {0x73E4,2,{0xAB,0x92,0x00,0x00,}},
+ {0x73E5,2,{0xE7,0xED,0x00,0x00,}},
+ {0x73E6,2,{0xAB,0x93,0x00,0x00,}},
+ {0x73E7,2,{0xE7,0xF2,0x00,0x00,}},
+ {0x73E8,2,{0xAB,0x94,0x00,0x00,}},
+ {0x73E9,2,{0xE7,0xF1,0x00,0x00,}},
+ {0x73EA,2,{0xAB,0x95,0x00,0x00,}},
+ {0x73EB,2,{0xAB,0x96,0x00,0x00,}},
+ {0x73EC,2,{0xAB,0x97,0x00,0x00,}},
+ {0x73ED,2,{0xB0,0xE0,0x00,0x00,}},
+ {0x73EE,2,{0xAB,0x98,0x00,0x00,}},
+ {0x73EF,2,{0xAB,0x99,0x00,0x00,}},
+ {0x73F0,2,{0xAB,0x9A,0x00,0x00,}},
+ {0x73F1,2,{0xAB,0x9B,0x00,0x00,}},
+ {0x73F2,2,{0xE7,0xF5,0x00,0x00,}},
+ {0x73F3,2,{0xAB,0x9C,0x00,0x00,}},
+ {0x73F4,2,{0xAB,0x9D,0x00,0x00,}},
+ {0x73F5,2,{0xAB,0x9E,0x00,0x00,}},
+ {0x73F6,2,{0xAB,0x9F,0x00,0x00,}},
+ {0x73F7,2,{0xAB,0xA0,0x00,0x00,}},
+ {0x73F8,2,{0xAC,0x40,0x00,0x00,}},
+ {0x73F9,2,{0xAC,0x41,0x00,0x00,}},
+ {0x73FA,2,{0xAC,0x42,0x00,0x00,}},
+ {0x73FB,2,{0xAC,0x43,0x00,0x00,}},
+ {0x73FC,2,{0xAC,0x44,0x00,0x00,}},
+ {0x73FD,2,{0xAC,0x45,0x00,0x00,}},
+ {0x73FE,2,{0xAC,0x46,0x00,0x00,}},
+ {0x73FF,2,{0xAC,0x47,0x00,0x00,}},
+ {0x7400,2,{0xAC,0x48,0x00,0x00,}},
+ {0x7401,2,{0xAC,0x49,0x00,0x00,}},
+ {0x7402,2,{0xAC,0x4A,0x00,0x00,}},
+ {0x7403,2,{0xC7,0xF2,0x00,0x00,}},
+ {0x7404,2,{0xAC,0x4B,0x00,0x00,}},
+ {0x7405,2,{0xC0,0xC5,0x00,0x00,}},
+ {0x7406,2,{0xC0,0xED,0x00,0x00,}},
+ {0x7407,2,{0xAC,0x4C,0x00,0x00,}},
+ {0x7408,2,{0xAC,0x4D,0x00,0x00,}},
+ {0x7409,2,{0xC1,0xF0,0x00,0x00,}},
+ {0x740A,2,{0xE7,0xF0,0x00,0x00,}},
+ {0x740B,2,{0xAC,0x4E,0x00,0x00,}},
+ {0x740C,2,{0xAC,0x4F,0x00,0x00,}},
+ {0x740D,2,{0xAC,0x50,0x00,0x00,}},
+ {0x740E,2,{0xAC,0x51,0x00,0x00,}},
+ {0x740F,2,{0xE7,0xF6,0x00,0x00,}},
+ {0x7410,2,{0xCB,0xF6,0x00,0x00,}},
+ {0x7411,2,{0xAC,0x52,0x00,0x00,}},
+ {0x7412,2,{0xAC,0x53,0x00,0x00,}},
+ {0x7413,2,{0xAC,0x54,0x00,0x00,}},
+ {0x7414,2,{0xAC,0x55,0x00,0x00,}},
+ {0x7415,2,{0xAC,0x56,0x00,0x00,}},
+ {0x7416,2,{0xAC,0x57,0x00,0x00,}},
+ {0x7417,2,{0xAC,0x58,0x00,0x00,}},
+ {0x7418,2,{0xAC,0x59,0x00,0x00,}},
+ {0x7419,2,{0xAC,0x5A,0x00,0x00,}},
+ {0x741A,2,{0xE8,0xA2,0x00,0x00,}},
+ {0x741B,2,{0xE8,0xA1,0x00,0x00,}},
+ {0x741C,2,{0xAC,0x5B,0x00,0x00,}},
+ {0x741D,2,{0xAC,0x5C,0x00,0x00,}},
+ {0x741E,2,{0xAC,0x5D,0x00,0x00,}},
+ {0x741F,2,{0xAC,0x5E,0x00,0x00,}},
+ {0x7420,2,{0xAC,0x5F,0x00,0x00,}},
+ {0x7421,2,{0xAC,0x60,0x00,0x00,}},
+ {0x7422,2,{0xD7,0xC1,0x00,0x00,}},
+ {0x7423,2,{0xAC,0x61,0x00,0x00,}},
+ {0x7424,2,{0xAC,0x62,0x00,0x00,}},
+ {0x7425,2,{0xE7,0xFA,0x00,0x00,}},
+ {0x7426,2,{0xE7,0xF9,0x00,0x00,}},
+ {0x7427,2,{0xAC,0x63,0x00,0x00,}},
+ {0x7428,2,{0xE7,0xFB,0x00,0x00,}},
+ {0x7429,2,{0xAC,0x64,0x00,0x00,}},
+ {0x742A,2,{0xE7,0xF7,0x00,0x00,}},
+ {0x742B,2,{0xAC,0x65,0x00,0x00,}},
+ {0x742C,2,{0xE7,0xFE,0x00,0x00,}},
+ {0x742D,2,{0xAC,0x66,0x00,0x00,}},
+ {0x742E,2,{0xE7,0xFD,0x00,0x00,}},
+ {0x742F,2,{0xAC,0x67,0x00,0x00,}},
+ {0x7430,2,{0xE7,0xFC,0x00,0x00,}},
+ {0x7431,2,{0xAC,0x68,0x00,0x00,}},
+ {0x7432,2,{0xAC,0x69,0x00,0x00,}},
+ {0x7433,2,{0xC1,0xD5,0x00,0x00,}},
+ {0x7434,2,{0xC7,0xD9,0x00,0x00,}},
+ {0x7435,2,{0xC5,0xFD,0x00,0x00,}},
+ {0x7436,2,{0xC5,0xC3,0x00,0x00,}},
+ {0x7437,2,{0xAC,0x6A,0x00,0x00,}},
+ {0x7438,2,{0xAC,0x6B,0x00,0x00,}},
+ {0x7439,2,{0xAC,0x6C,0x00,0x00,}},
+ {0x743A,2,{0xAC,0x6D,0x00,0x00,}},
+ {0x743B,2,{0xAC,0x6E,0x00,0x00,}},
+ {0x743C,2,{0xC7,0xED,0x00,0x00,}},
+ {0x743D,2,{0xAC,0x6F,0x00,0x00,}},
+ {0x743E,2,{0xAC,0x70,0x00,0x00,}},
+ {0x743F,2,{0xAC,0x71,0x00,0x00,}},
+ {0x7440,2,{0xAC,0x72,0x00,0x00,}},
+ {0x7441,2,{0xE8,0xA3,0x00,0x00,}},
+ {0x7442,2,{0xAC,0x73,0x00,0x00,}},
+ {0x7443,2,{0xAC,0x74,0x00,0x00,}},
+ {0x7444,2,{0xAC,0x75,0x00,0x00,}},
+ {0x7445,2,{0xAC,0x76,0x00,0x00,}},
+ {0x7446,2,{0xAC,0x77,0x00,0x00,}},
+ {0x7447,2,{0xAC,0x78,0x00,0x00,}},
+ {0x7448,2,{0xAC,0x79,0x00,0x00,}},
+ {0x7449,2,{0xAC,0x7A,0x00,0x00,}},
+ {0x744A,2,{0xAC,0x7B,0x00,0x00,}},
+ {0x744B,2,{0xAC,0x7C,0x00,0x00,}},
+ {0x744C,2,{0xAC,0x7D,0x00,0x00,}},
+ {0x744D,2,{0xAC,0x7E,0x00,0x00,}},
+ {0x744E,2,{0xAC,0x80,0x00,0x00,}},
+ {0x744F,2,{0xAC,0x81,0x00,0x00,}},
+ {0x7450,2,{0xAC,0x82,0x00,0x00,}},
+ {0x7451,2,{0xAC,0x83,0x00,0x00,}},
+ {0x7452,2,{0xAC,0x84,0x00,0x00,}},
+ {0x7453,2,{0xAC,0x85,0x00,0x00,}},
+ {0x7454,2,{0xAC,0x86,0x00,0x00,}},
+ {0x7455,2,{0xE8,0xA6,0x00,0x00,}},
+ {0x7456,2,{0xAC,0x87,0x00,0x00,}},
+ {0x7457,2,{0xE8,0xA5,0x00,0x00,}},
+ {0x7458,2,{0xAC,0x88,0x00,0x00,}},
+ {0x7459,2,{0xE8,0xA7,0x00,0x00,}},
+ {0x745A,2,{0xBA,0xF7,0x00,0x00,}},
+ {0x745B,2,{0xE7,0xF8,0x00,0x00,}},
+ {0x745C,2,{0xE8,0xA4,0x00,0x00,}},
+ {0x745D,2,{0xAC,0x89,0x00,0x00,}},
+ {0x745E,2,{0xC8,0xF0,0x00,0x00,}},
+ {0x745F,2,{0xC9,0xAA,0x00,0x00,}},
+ {0x7460,2,{0xAC,0x8A,0x00,0x00,}},
+ {0x7461,2,{0xAC,0x8B,0x00,0x00,}},
+ {0x7462,2,{0xAC,0x8C,0x00,0x00,}},
+ {0x7463,2,{0xAC,0x8D,0x00,0x00,}},
+ {0x7464,2,{0xAC,0x8E,0x00,0x00,}},
+ {0x7465,2,{0xAC,0x8F,0x00,0x00,}},
+ {0x7466,2,{0xAC,0x90,0x00,0x00,}},
+ {0x7467,2,{0xAC,0x91,0x00,0x00,}},
+ {0x7468,2,{0xAC,0x92,0x00,0x00,}},
+ {0x7469,2,{0xAC,0x93,0x00,0x00,}},
+ {0x746A,2,{0xAC,0x94,0x00,0x00,}},
+ {0x746B,2,{0xAC,0x95,0x00,0x00,}},
+ {0x746C,2,{0xAC,0x96,0x00,0x00,}},
+ {0x746D,2,{0xE8,0xA9,0x00,0x00,}},
+ {0x746E,2,{0xAC,0x97,0x00,0x00,}},
+ {0x746F,2,{0xAC,0x98,0x00,0x00,}},
+ {0x7470,2,{0xB9,0xE5,0x00,0x00,}},
+ {0x7471,2,{0xAC,0x99,0x00,0x00,}},
+ {0x7472,2,{0xAC,0x9A,0x00,0x00,}},
+ {0x7473,2,{0xAC,0x9B,0x00,0x00,}},
+ {0x7474,2,{0xAC,0x9C,0x00,0x00,}},
+ {0x7475,2,{0xAC,0x9D,0x00,0x00,}},
+ {0x7476,2,{0xD1,0xFE,0x00,0x00,}},
+ {0x7477,2,{0xE8,0xA8,0x00,0x00,}},
+ {0x7478,2,{0xAC,0x9E,0x00,0x00,}},
+ {0x7479,2,{0xAC,0x9F,0x00,0x00,}},
+ {0x747A,2,{0xAC,0xA0,0x00,0x00,}},
+ {0x747B,2,{0xAD,0x40,0x00,0x00,}},
+ {0x747C,2,{0xAD,0x41,0x00,0x00,}},
+ {0x747D,2,{0xAD,0x42,0x00,0x00,}},
+ {0x747E,2,{0xE8,0xAA,0x00,0x00,}},
+ {0x747F,2,{0xAD,0x43,0x00,0x00,}},
+ {0x7480,2,{0xE8,0xAD,0x00,0x00,}},
+ {0x7481,2,{0xE8,0xAE,0x00,0x00,}},
+ {0x7482,2,{0xAD,0x44,0x00,0x00,}},
+ {0x7483,2,{0xC1,0xA7,0x00,0x00,}},
+ {0x7484,2,{0xAD,0x45,0x00,0x00,}},
+ {0x7485,2,{0xAD,0x46,0x00,0x00,}},
+ {0x7486,2,{0xAD,0x47,0x00,0x00,}},
+ {0x7487,2,{0xE8,0xAF,0x00,0x00,}},
+ {0x7488,2,{0xAD,0x48,0x00,0x00,}},
+ {0x7489,2,{0xAD,0x49,0x00,0x00,}},
+ {0x748A,2,{0xAD,0x4A,0x00,0x00,}},
+ {0x748B,2,{0xE8,0xB0,0x00,0x00,}},
+ {0x748C,2,{0xAD,0x4B,0x00,0x00,}},
+ {0x748D,2,{0xAD,0x4C,0x00,0x00,}},
+ {0x748E,2,{0xE8,0xAC,0x00,0x00,}},
+ {0x748F,2,{0xAD,0x4D,0x00,0x00,}},
+ {0x7490,2,{0xE8,0xB4,0x00,0x00,}},
+ {0x7491,2,{0xAD,0x4E,0x00,0x00,}},
+ {0x7492,2,{0xAD,0x4F,0x00,0x00,}},
+ {0x7493,2,{0xAD,0x50,0x00,0x00,}},
+ {0x7494,2,{0xAD,0x51,0x00,0x00,}},
+ {0x7495,2,{0xAD,0x52,0x00,0x00,}},
+ {0x7496,2,{0xAD,0x53,0x00,0x00,}},
+ {0x7497,2,{0xAD,0x54,0x00,0x00,}},
+ {0x7498,2,{0xAD,0x55,0x00,0x00,}},
+ {0x7499,2,{0xAD,0x56,0x00,0x00,}},
+ {0x749A,2,{0xAD,0x57,0x00,0x00,}},
+ {0x749B,2,{0xAD,0x58,0x00,0x00,}},
+ {0x749C,2,{0xE8,0xAB,0x00,0x00,}},
+ {0x749D,2,{0xAD,0x59,0x00,0x00,}},
+ {0x749E,2,{0xE8,0xB1,0x00,0x00,}},
+ {0x749F,2,{0xAD,0x5A,0x00,0x00,}},
+ {0x74A0,2,{0xAD,0x5B,0x00,0x00,}},
+ {0x74A1,2,{0xAD,0x5C,0x00,0x00,}},
+ {0x74A2,2,{0xAD,0x5D,0x00,0x00,}},
+ {0x74A3,2,{0xAD,0x5E,0x00,0x00,}},
+ {0x74A4,2,{0xAD,0x5F,0x00,0x00,}},
+ {0x74A5,2,{0xAD,0x60,0x00,0x00,}},
+ {0x74A6,2,{0xAD,0x61,0x00,0x00,}},
+ {0x74A7,2,{0xE8,0xB5,0x00,0x00,}},
+ {0x74A8,2,{0xE8,0xB2,0x00,0x00,}},
+ {0x74A9,2,{0xE8,0xB3,0x00,0x00,}},
+ {0x74AA,2,{0xAD,0x62,0x00,0x00,}},
+ {0x74AB,2,{0xAD,0x63,0x00,0x00,}},
+ {0x74AC,2,{0xAD,0x64,0x00,0x00,}},
+ {0x74AD,2,{0xAD,0x65,0x00,0x00,}},
+ {0x74AE,2,{0xAD,0x66,0x00,0x00,}},
+ {0x74AF,2,{0xAD,0x67,0x00,0x00,}},
+ {0x74B0,2,{0xAD,0x68,0x00,0x00,}},
+ {0x74B1,2,{0xAD,0x69,0x00,0x00,}},
+ {0x74B2,2,{0xAD,0x6A,0x00,0x00,}},
+ {0x74B3,2,{0xAD,0x6B,0x00,0x00,}},
+ {0x74B4,2,{0xAD,0x6C,0x00,0x00,}},
+ {0x74B5,2,{0xAD,0x6D,0x00,0x00,}},
+ {0x74B6,2,{0xAD,0x6E,0x00,0x00,}},
+ {0x74B7,2,{0xAD,0x6F,0x00,0x00,}},
+ {0x74B8,2,{0xAD,0x70,0x00,0x00,}},
+ {0x74B9,2,{0xAD,0x71,0x00,0x00,}},
+ {0x74BA,2,{0xE8,0xB7,0x00,0x00,}},
+ {0x74BB,2,{0xAD,0x72,0x00,0x00,}},
+ {0x74BC,2,{0xAD,0x73,0x00,0x00,}},
+ {0x74BD,2,{0xAD,0x74,0x00,0x00,}},
+ {0x74BE,2,{0xAD,0x75,0x00,0x00,}},
+ {0x74BF,2,{0xAD,0x76,0x00,0x00,}},
+ {0x74C0,2,{0xAD,0x77,0x00,0x00,}},
+ {0x74C1,2,{0xAD,0x78,0x00,0x00,}},
+ {0x74C2,2,{0xAD,0x79,0x00,0x00,}},
+ {0x74C3,2,{0xAD,0x7A,0x00,0x00,}},
+ {0x74C4,2,{0xAD,0x7B,0x00,0x00,}},
+ {0x74C5,2,{0xAD,0x7C,0x00,0x00,}},
+ {0x74C6,2,{0xAD,0x7D,0x00,0x00,}},
+ {0x74C7,2,{0xAD,0x7E,0x00,0x00,}},
+ {0x74C8,2,{0xAD,0x80,0x00,0x00,}},
+ {0x74C9,2,{0xAD,0x81,0x00,0x00,}},
+ {0x74CA,2,{0xAD,0x82,0x00,0x00,}},
+ {0x74CB,2,{0xAD,0x83,0x00,0x00,}},
+ {0x74CC,2,{0xAD,0x84,0x00,0x00,}},
+ {0x74CD,2,{0xAD,0x85,0x00,0x00,}},
+ {0x74CE,2,{0xAD,0x86,0x00,0x00,}},
+ {0x74CF,2,{0xAD,0x87,0x00,0x00,}},
+ {0x74D0,2,{0xAD,0x88,0x00,0x00,}},
+ {0x74D1,2,{0xAD,0x89,0x00,0x00,}},
+ {0x74D2,2,{0xE8,0xB6,0x00,0x00,}},
+ {0x74D3,2,{0xAD,0x8A,0x00,0x00,}},
+ {0x74D4,2,{0xAD,0x8B,0x00,0x00,}},
+ {0x74D5,2,{0xAD,0x8C,0x00,0x00,}},
+ {0x74D6,2,{0xAD,0x8D,0x00,0x00,}},
+ {0x74D7,2,{0xAD,0x8E,0x00,0x00,}},
+ {0x74D8,2,{0xAD,0x8F,0x00,0x00,}},
+ {0x74D9,2,{0xAD,0x90,0x00,0x00,}},
+ {0x74DA,2,{0xAD,0x91,0x00,0x00,}},
+ {0x74DB,2,{0xAD,0x92,0x00,0x00,}},
+ {0x74DC,2,{0xB9,0xCF,0x00,0x00,}},
+ {0x74DD,2,{0xAD,0x93,0x00,0x00,}},
+ {0x74DE,2,{0xF0,0xAC,0x00,0x00,}},
+ {0x74DF,2,{0xAD,0x94,0x00,0x00,}},
+ {0x74E0,2,{0xF0,0xAD,0x00,0x00,}},
+ {0x74E1,2,{0xAD,0x95,0x00,0x00,}},
+ {0x74E2,2,{0xC6,0xB0,0x00,0x00,}},
+ {0x74E3,2,{0xB0,0xEA,0x00,0x00,}},
+ {0x74E4,2,{0xC8,0xBF,0x00,0x00,}},
+ {0x74E5,2,{0xAD,0x96,0x00,0x00,}},
+ {0x74E6,2,{0xCD,0xDF,0x00,0x00,}},
+ {0x74E7,2,{0xAD,0x97,0x00,0x00,}},
+ {0x74E8,2,{0xAD,0x98,0x00,0x00,}},
+ {0x74E9,2,{0xAD,0x99,0x00,0x00,}},
+ {0x74EA,2,{0xAD,0x9A,0x00,0x00,}},
+ {0x74EB,2,{0xAD,0x9B,0x00,0x00,}},
+ {0x74EC,2,{0xAD,0x9C,0x00,0x00,}},
+ {0x74ED,2,{0xAD,0x9D,0x00,0x00,}},
+ {0x74EE,2,{0xCE,0xCD,0x00,0x00,}},
+ {0x74EF,2,{0xEA,0xB1,0x00,0x00,}},
+ {0x74F0,2,{0xAD,0x9E,0x00,0x00,}},
+ {0x74F1,2,{0xAD,0x9F,0x00,0x00,}},
+ {0x74F2,2,{0xAD,0xA0,0x00,0x00,}},
+ {0x74F3,2,{0xAE,0x40,0x00,0x00,}},
+ {0x74F4,2,{0xEA,0xB2,0x00,0x00,}},
+ {0x74F5,2,{0xAE,0x41,0x00,0x00,}},
+ {0x74F6,2,{0xC6,0xBF,0x00,0x00,}},
+ {0x74F7,2,{0xB4,0xC9,0x00,0x00,}},
+ {0x74F8,2,{0xAE,0x42,0x00,0x00,}},
+ {0x74F9,2,{0xAE,0x43,0x00,0x00,}},
+ {0x74FA,2,{0xAE,0x44,0x00,0x00,}},
+ {0x74FB,2,{0xAE,0x45,0x00,0x00,}},
+ {0x74FC,2,{0xAE,0x46,0x00,0x00,}},
+ {0x74FD,2,{0xAE,0x47,0x00,0x00,}},
+ {0x74FE,2,{0xAE,0x48,0x00,0x00,}},
+ {0x74FF,2,{0xEA,0xB3,0x00,0x00,}},
+ {0x7500,2,{0xAE,0x49,0x00,0x00,}},
+ {0x7501,2,{0xAE,0x4A,0x00,0x00,}},
+ {0x7502,2,{0xAE,0x4B,0x00,0x00,}},
+ {0x7503,2,{0xAE,0x4C,0x00,0x00,}},
+ {0x7504,2,{0xD5,0xE7,0x00,0x00,}},
+ {0x7505,2,{0xAE,0x4D,0x00,0x00,}},
+ {0x7506,2,{0xAE,0x4E,0x00,0x00,}},
+ {0x7507,2,{0xAE,0x4F,0x00,0x00,}},
+ {0x7508,2,{0xAE,0x50,0x00,0x00,}},
+ {0x7509,2,{0xAE,0x51,0x00,0x00,}},
+ {0x750A,2,{0xAE,0x52,0x00,0x00,}},
+ {0x750B,2,{0xAE,0x53,0x00,0x00,}},
+ {0x750C,2,{0xAE,0x54,0x00,0x00,}},
+ {0x750D,2,{0xDD,0xF9,0x00,0x00,}},
+ {0x750E,2,{0xAE,0x55,0x00,0x00,}},
+ {0x750F,2,{0xEA,0xB4,0x00,0x00,}},
+ {0x7510,2,{0xAE,0x56,0x00,0x00,}},
+ {0x7511,2,{0xEA,0xB5,0x00,0x00,}},
+ {0x7512,2,{0xAE,0x57,0x00,0x00,}},
+ {0x7513,2,{0xEA,0xB6,0x00,0x00,}},
+ {0x7514,2,{0xAE,0x58,0x00,0x00,}},
+ {0x7515,2,{0xAE,0x59,0x00,0x00,}},
+ {0x7516,2,{0xAE,0x5A,0x00,0x00,}},
+ {0x7517,2,{0xAE,0x5B,0x00,0x00,}},
+ {0x7518,2,{0xB8,0xCA,0x00,0x00,}},
+ {0x7519,2,{0xDF,0xB0,0x00,0x00,}},
+ {0x751A,2,{0xC9,0xF5,0x00,0x00,}},
+ {0x751B,2,{0xAE,0x5C,0x00,0x00,}},
+ {0x751C,2,{0xCC,0xF0,0x00,0x00,}},
+ {0x751D,2,{0xAE,0x5D,0x00,0x00,}},
+ {0x751E,2,{0xAE,0x5E,0x00,0x00,}},
+ {0x751F,2,{0xC9,0xFA,0x00,0x00,}},
+ {0x7520,2,{0xAE,0x5F,0x00,0x00,}},
+ {0x7521,2,{0xAE,0x60,0x00,0x00,}},
+ {0x7522,2,{0xAE,0x61,0x00,0x00,}},
+ {0x7523,2,{0xAE,0x62,0x00,0x00,}},
+ {0x7524,2,{0xAE,0x63,0x00,0x00,}},
+ {0x7525,2,{0xC9,0xFB,0x00,0x00,}},
+ {0x7526,2,{0xAE,0x64,0x00,0x00,}},
+ {0x7527,2,{0xAE,0x65,0x00,0x00,}},
+ {0x7528,2,{0xD3,0xC3,0x00,0x00,}},
+ {0x7529,2,{0xCB,0xA6,0x00,0x00,}},
+ {0x752A,2,{0xAE,0x66,0x00,0x00,}},
+ {0x752B,2,{0xB8,0xA6,0x00,0x00,}},
+ {0x752C,2,{0xF0,0xAE,0x00,0x00,}},
+ {0x752D,2,{0xB1,0xC2,0x00,0x00,}},
+ {0x752E,2,{0xAE,0x67,0x00,0x00,}},
+ {0x752F,2,{0xE5,0xB8,0x00,0x00,}},
+ {0x7530,2,{0xCC,0xEF,0x00,0x00,}},
+ {0x7531,2,{0xD3,0xC9,0x00,0x00,}},
+ {0x7532,2,{0xBC,0xD7,0x00,0x00,}},
+ {0x7533,2,{0xC9,0xEA,0x00,0x00,}},
+ {0x7534,2,{0xAE,0x68,0x00,0x00,}},
+ {0x7535,2,{0xB5,0xE7,0x00,0x00,}},
+ {0x7536,2,{0xAE,0x69,0x00,0x00,}},
+ {0x7537,2,{0xC4,0xD0,0x00,0x00,}},
+ {0x7538,2,{0xB5,0xE9,0x00,0x00,}},
+ {0x7539,2,{0xAE,0x6A,0x00,0x00,}},
+ {0x753A,2,{0xEE,0xAE,0x00,0x00,}},
+ {0x753B,2,{0xBB,0xAD,0x00,0x00,}},
+ {0x753C,2,{0xAE,0x6B,0x00,0x00,}},
+ {0x753D,2,{0xAE,0x6C,0x00,0x00,}},
+ {0x753E,2,{0xE7,0xDE,0x00,0x00,}},
+ {0x753F,2,{0xAE,0x6D,0x00,0x00,}},
+ {0x7540,2,{0xEE,0xAF,0x00,0x00,}},
+ {0x7541,2,{0xAE,0x6E,0x00,0x00,}},
+ {0x7542,2,{0xAE,0x6F,0x00,0x00,}},
+ {0x7543,2,{0xAE,0x70,0x00,0x00,}},
+ {0x7544,2,{0xAE,0x71,0x00,0x00,}},
+ {0x7545,2,{0xB3,0xA9,0x00,0x00,}},
+ {0x7546,2,{0xAE,0x72,0x00,0x00,}},
+ {0x7547,2,{0xAE,0x73,0x00,0x00,}},
+ {0x7548,2,{0xEE,0xB2,0x00,0x00,}},
+ {0x7549,2,{0xAE,0x74,0x00,0x00,}},
+ {0x754A,2,{0xAE,0x75,0x00,0x00,}},
+ {0x754B,2,{0xEE,0xB1,0x00,0x00,}},
+ {0x754C,2,{0xBD,0xE7,0x00,0x00,}},
+ {0x754D,2,{0xAE,0x76,0x00,0x00,}},
+ {0x754E,2,{0xEE,0xB0,0x00,0x00,}},
+ {0x754F,2,{0xCE,0xB7,0x00,0x00,}},
+ {0x7550,2,{0xAE,0x77,0x00,0x00,}},
+ {0x7551,2,{0xAE,0x78,0x00,0x00,}},
+ {0x7552,2,{0xAE,0x79,0x00,0x00,}},
+ {0x7553,2,{0xAE,0x7A,0x00,0x00,}},
+ {0x7554,2,{0xC5,0xCF,0x00,0x00,}},
+ {0x7555,2,{0xAE,0x7B,0x00,0x00,}},
+ {0x7556,2,{0xAE,0x7C,0x00,0x00,}},
+ {0x7557,2,{0xAE,0x7D,0x00,0x00,}},
+ {0x7558,2,{0xAE,0x7E,0x00,0x00,}},
+ {0x7559,2,{0xC1,0xF4,0x00,0x00,}},
+ {0x755A,2,{0xDB,0xCE,0x00,0x00,}},
+ {0x755B,2,{0xEE,0xB3,0x00,0x00,}},
+ {0x755C,2,{0xD0,0xF3,0x00,0x00,}},
+ {0x755D,2,{0xAE,0x80,0x00,0x00,}},
+ {0x755E,2,{0xAE,0x81,0x00,0x00,}},
+ {0x755F,2,{0xAE,0x82,0x00,0x00,}},
+ {0x7560,2,{0xAE,0x83,0x00,0x00,}},
+ {0x7561,2,{0xAE,0x84,0x00,0x00,}},
+ {0x7562,2,{0xAE,0x85,0x00,0x00,}},
+ {0x7563,2,{0xAE,0x86,0x00,0x00,}},
+ {0x7564,2,{0xAE,0x87,0x00,0x00,}},
+ {0x7565,2,{0xC2,0xD4,0x00,0x00,}},
+ {0x7566,2,{0xC6,0xE8,0x00,0x00,}},
+ {0x7567,2,{0xAE,0x88,0x00,0x00,}},
+ {0x7568,2,{0xAE,0x89,0x00,0x00,}},
+ {0x7569,2,{0xAE,0x8A,0x00,0x00,}},
+ {0x756A,2,{0xB7,0xAC,0x00,0x00,}},
+ {0x756B,2,{0xAE,0x8B,0x00,0x00,}},
+ {0x756C,2,{0xAE,0x8C,0x00,0x00,}},
+ {0x756D,2,{0xAE,0x8D,0x00,0x00,}},
+ {0x756E,2,{0xAE,0x8E,0x00,0x00,}},
+ {0x756F,2,{0xAE,0x8F,0x00,0x00,}},
+ {0x7570,2,{0xAE,0x90,0x00,0x00,}},
+ {0x7571,2,{0xAE,0x91,0x00,0x00,}},
+ {0x7572,2,{0xEE,0xB4,0x00,0x00,}},
+ {0x7573,2,{0xAE,0x92,0x00,0x00,}},
+ {0x7574,2,{0xB3,0xEB,0x00,0x00,}},
+ {0x7575,2,{0xAE,0x93,0x00,0x00,}},
+ {0x7576,2,{0xAE,0x94,0x00,0x00,}},
+ {0x7577,2,{0xAE,0x95,0x00,0x00,}},
+ {0x7578,2,{0xBB,0xFB,0x00,0x00,}},
+ {0x7579,2,{0xEE,0xB5,0x00,0x00,}},
+ {0x757A,2,{0xAE,0x96,0x00,0x00,}},
+ {0x757B,2,{0xAE,0x97,0x00,0x00,}},
+ {0x757C,2,{0xAE,0x98,0x00,0x00,}},
+ {0x757D,2,{0xAE,0x99,0x00,0x00,}},
+ {0x757E,2,{0xAE,0x9A,0x00,0x00,}},
+ {0x757F,2,{0xE7,0xDC,0x00,0x00,}},
+ {0x7580,2,{0xAE,0x9B,0x00,0x00,}},
+ {0x7581,2,{0xAE,0x9C,0x00,0x00,}},
+ {0x7582,2,{0xAE,0x9D,0x00,0x00,}},
+ {0x7583,2,{0xEE,0xB6,0x00,0x00,}},
+ {0x7584,2,{0xAE,0x9E,0x00,0x00,}},
+ {0x7585,2,{0xAE,0x9F,0x00,0x00,}},
+ {0x7586,2,{0xBD,0xAE,0x00,0x00,}},
+ {0x7587,2,{0xAE,0xA0,0x00,0x00,}},
+ {0x7588,2,{0xAF,0x40,0x00,0x00,}},
+ {0x7589,2,{0xAF,0x41,0x00,0x00,}},
+ {0x758A,2,{0xAF,0x42,0x00,0x00,}},
+ {0x758B,2,{0xF1,0xE2,0x00,0x00,}},
+ {0x758C,2,{0xAF,0x43,0x00,0x00,}},
+ {0x758D,2,{0xAF,0x44,0x00,0x00,}},
+ {0x758E,2,{0xAF,0x45,0x00,0x00,}},
+ {0x758F,2,{0xCA,0xE8,0x00,0x00,}},
+ {0x7590,2,{0xAF,0x46,0x00,0x00,}},
+ {0x7591,2,{0xD2,0xC9,0x00,0x00,}},
+ {0x7592,2,{0xF0,0xDA,0x00,0x00,}},
+ {0x7593,2,{0xAF,0x47,0x00,0x00,}},
+ {0x7594,2,{0xF0,0xDB,0x00,0x00,}},
+ {0x7595,2,{0xAF,0x48,0x00,0x00,}},
+ {0x7596,2,{0xF0,0xDC,0x00,0x00,}},
+ {0x7597,2,{0xC1,0xC6,0x00,0x00,}},
+ {0x7598,2,{0xAF,0x49,0x00,0x00,}},
+ {0x7599,2,{0xB8,0xED,0x00,0x00,}},
+ {0x759A,2,{0xBE,0xCE,0x00,0x00,}},
+ {0x759B,2,{0xAF,0x4A,0x00,0x00,}},
+ {0x759C,2,{0xAF,0x4B,0x00,0x00,}},
+ {0x759D,2,{0xF0,0xDE,0x00,0x00,}},
+ {0x759E,2,{0xAF,0x4C,0x00,0x00,}},
+ {0x759F,2,{0xC5,0xB1,0x00,0x00,}},
+ {0x75A0,2,{0xF0,0xDD,0x00,0x00,}},
+ {0x75A1,2,{0xD1,0xF1,0x00,0x00,}},
+ {0x75A2,2,{0xAF,0x4D,0x00,0x00,}},
+ {0x75A3,2,{0xF0,0xE0,0x00,0x00,}},
+ {0x75A4,2,{0xB0,0xCC,0x00,0x00,}},
+ {0x75A5,2,{0xBD,0xEA,0x00,0x00,}},
+ {0x75A6,2,{0xAF,0x4E,0x00,0x00,}},
+ {0x75A7,2,{0xAF,0x4F,0x00,0x00,}},
+ {0x75A8,2,{0xAF,0x50,0x00,0x00,}},
+ {0x75A9,2,{0xAF,0x51,0x00,0x00,}},
+ {0x75AA,2,{0xAF,0x52,0x00,0x00,}},
+ {0x75AB,2,{0xD2,0xDF,0x00,0x00,}},
+ {0x75AC,2,{0xF0,0xDF,0x00,0x00,}},
+ {0x75AD,2,{0xAF,0x53,0x00,0x00,}},
+ {0x75AE,2,{0xB4,0xAF,0x00,0x00,}},
+ {0x75AF,2,{0xB7,0xE8,0x00,0x00,}},
+ {0x75B0,2,{0xF0,0xE6,0x00,0x00,}},
+ {0x75B1,2,{0xF0,0xE5,0x00,0x00,}},
+ {0x75B2,2,{0xC6,0xA3,0x00,0x00,}},
+ {0x75B3,2,{0xF0,0xE1,0x00,0x00,}},
+ {0x75B4,2,{0xF0,0xE2,0x00,0x00,}},
+ {0x75B5,2,{0xB4,0xC3,0x00,0x00,}},
+ {0x75B6,2,{0xAF,0x54,0x00,0x00,}},
+ {0x75B7,2,{0xAF,0x55,0x00,0x00,}},
+ {0x75B8,2,{0xF0,0xE3,0x00,0x00,}},
+ {0x75B9,2,{0xD5,0xEE,0x00,0x00,}},
+ {0x75BA,2,{0xAF,0x56,0x00,0x00,}},
+ {0x75BB,2,{0xAF,0x57,0x00,0x00,}},
+ {0x75BC,2,{0xCC,0xDB,0x00,0x00,}},
+ {0x75BD,2,{0xBE,0xD2,0x00,0x00,}},
+ {0x75BE,2,{0xBC,0xB2,0x00,0x00,}},
+ {0x75BF,2,{0xAF,0x58,0x00,0x00,}},
+ {0x75C0,2,{0xAF,0x59,0x00,0x00,}},
+ {0x75C1,2,{0xAF,0x5A,0x00,0x00,}},
+ {0x75C2,2,{0xF0,0xE8,0x00,0x00,}},
+ {0x75C3,2,{0xF0,0xE7,0x00,0x00,}},
+ {0x75C4,2,{0xF0,0xE4,0x00,0x00,}},
+ {0x75C5,2,{0xB2,0xA1,0x00,0x00,}},
+ {0x75C6,2,{0xAF,0x5B,0x00,0x00,}},
+ {0x75C7,2,{0xD6,0xA2,0x00,0x00,}},
+ {0x75C8,2,{0xD3,0xB8,0x00,0x00,}},
+ {0x75C9,2,{0xBE,0xB7,0x00,0x00,}},
+ {0x75CA,2,{0xC8,0xAC,0x00,0x00,}},
+ {0x75CB,2,{0xAF,0x5C,0x00,0x00,}},
+ {0x75CC,2,{0xAF,0x5D,0x00,0x00,}},
+ {0x75CD,2,{0xF0,0xEA,0x00,0x00,}},
+ {0x75CE,2,{0xAF,0x5E,0x00,0x00,}},
+ {0x75CF,2,{0xAF,0x5F,0x00,0x00,}},
+ {0x75D0,2,{0xAF,0x60,0x00,0x00,}},
+ {0x75D1,2,{0xAF,0x61,0x00,0x00,}},
+ {0x75D2,2,{0xD1,0xF7,0x00,0x00,}},
+ {0x75D3,2,{0xAF,0x62,0x00,0x00,}},
+ {0x75D4,2,{0xD6,0xCC,0x00,0x00,}},
+ {0x75D5,2,{0xBA,0xDB,0x00,0x00,}},
+ {0x75D6,2,{0xF0,0xE9,0x00,0x00,}},
+ {0x75D7,2,{0xAF,0x63,0x00,0x00,}},
+ {0x75D8,2,{0xB6,0xBB,0x00,0x00,}},
+ {0x75D9,2,{0xAF,0x64,0x00,0x00,}},
+ {0x75DA,2,{0xAF,0x65,0x00,0x00,}},
+ {0x75DB,2,{0xCD,0xB4,0x00,0x00,}},
+ {0x75DC,2,{0xAF,0x66,0x00,0x00,}},
+ {0x75DD,2,{0xAF,0x67,0x00,0x00,}},
+ {0x75DE,2,{0xC6,0xA6,0x00,0x00,}},
+ {0x75DF,2,{0xAF,0x68,0x00,0x00,}},
+ {0x75E0,2,{0xAF,0x69,0x00,0x00,}},
+ {0x75E1,2,{0xAF,0x6A,0x00,0x00,}},
+ {0x75E2,2,{0xC1,0xA1,0x00,0x00,}},
+ {0x75E3,2,{0xF0,0xEB,0x00,0x00,}},
+ {0x75E4,2,{0xF0,0xEE,0x00,0x00,}},
+ {0x75E5,2,{0xAF,0x6B,0x00,0x00,}},
+ {0x75E6,2,{0xF0,0xED,0x00,0x00,}},
+ {0x75E7,2,{0xF0,0xF0,0x00,0x00,}},
+ {0x75E8,2,{0xF0,0xEC,0x00,0x00,}},
+ {0x75E9,2,{0xAF,0x6C,0x00,0x00,}},
+ {0x75EA,2,{0xBB,0xBE,0x00,0x00,}},
+ {0x75EB,2,{0xF0,0xEF,0x00,0x00,}},
+ {0x75EC,2,{0xAF,0x6D,0x00,0x00,}},
+ {0x75ED,2,{0xAF,0x6E,0x00,0x00,}},
+ {0x75EE,2,{0xAF,0x6F,0x00,0x00,}},
+ {0x75EF,2,{0xAF,0x70,0x00,0x00,}},
+ {0x75F0,2,{0xCC,0xB5,0x00,0x00,}},
+ {0x75F1,2,{0xF0,0xF2,0x00,0x00,}},
+ {0x75F2,2,{0xAF,0x71,0x00,0x00,}},
+ {0x75F3,2,{0xAF,0x72,0x00,0x00,}},
+ {0x75F4,2,{0xB3,0xD5,0x00,0x00,}},
+ {0x75F5,2,{0xAF,0x73,0x00,0x00,}},
+ {0x75F6,2,{0xAF,0x74,0x00,0x00,}},
+ {0x75F7,2,{0xAF,0x75,0x00,0x00,}},
+ {0x75F8,2,{0xAF,0x76,0x00,0x00,}},
+ {0x75F9,2,{0xB1,0xD4,0x00,0x00,}},
+ {0x75FA,2,{0xAF,0x77,0x00,0x00,}},
+ {0x75FB,2,{0xAF,0x78,0x00,0x00,}},
+ {0x75FC,2,{0xF0,0xF3,0x00,0x00,}},
+ {0x75FD,2,{0xAF,0x79,0x00,0x00,}},
+ {0x75FE,2,{0xAF,0x7A,0x00,0x00,}},
+ {0x75FF,2,{0xF0,0xF4,0x00,0x00,}},
+ {0x7600,2,{0xF0,0xF6,0x00,0x00,}},
+ {0x7601,2,{0xB4,0xE1,0x00,0x00,}},
+ {0x7602,2,{0xAF,0x7B,0x00,0x00,}},
+ {0x7603,2,{0xF0,0xF1,0x00,0x00,}},
+ {0x7604,2,{0xAF,0x7C,0x00,0x00,}},
+ {0x7605,2,{0xF0,0xF7,0x00,0x00,}},
+ {0x7606,2,{0xAF,0x7D,0x00,0x00,}},
+ {0x7607,2,{0xAF,0x7E,0x00,0x00,}},
+ {0x7608,2,{0xAF,0x80,0x00,0x00,}},
+ {0x7609,2,{0xAF,0x81,0x00,0x00,}},
+ {0x760A,2,{0xF0,0xFA,0x00,0x00,}},
+ {0x760B,2,{0xAF,0x82,0x00,0x00,}},
+ {0x760C,2,{0xF0,0xF8,0x00,0x00,}},
+ {0x760D,2,{0xAF,0x83,0x00,0x00,}},
+ {0x760E,2,{0xAF,0x84,0x00,0x00,}},
+ {0x760F,2,{0xAF,0x85,0x00,0x00,}},
+ {0x7610,2,{0xF0,0xF5,0x00,0x00,}},
+ {0x7611,2,{0xAF,0x86,0x00,0x00,}},
+ {0x7612,2,{0xAF,0x87,0x00,0x00,}},
+ {0x7613,2,{0xAF,0x88,0x00,0x00,}},
+ {0x7614,2,{0xAF,0x89,0x00,0x00,}},
+ {0x7615,2,{0xF0,0xFD,0x00,0x00,}},
+ {0x7616,2,{0xAF,0x8A,0x00,0x00,}},
+ {0x7617,2,{0xF0,0xF9,0x00,0x00,}},
+ {0x7618,2,{0xF0,0xFC,0x00,0x00,}},
+ {0x7619,2,{0xF0,0xFE,0x00,0x00,}},
+ {0x761A,2,{0xAF,0x8B,0x00,0x00,}},
+ {0x761B,2,{0xF1,0xA1,0x00,0x00,}},
+ {0x761C,2,{0xAF,0x8C,0x00,0x00,}},
+ {0x761D,2,{0xAF,0x8D,0x00,0x00,}},
+ {0x761E,2,{0xAF,0x8E,0x00,0x00,}},
+ {0x761F,2,{0xCE,0xC1,0x00,0x00,}},
+ {0x7620,2,{0xF1,0xA4,0x00,0x00,}},
+ {0x7621,2,{0xAF,0x8F,0x00,0x00,}},
+ {0x7622,2,{0xF1,0xA3,0x00,0x00,}},
+ {0x7623,2,{0xAF,0x90,0x00,0x00,}},
+ {0x7624,2,{0xC1,0xF6,0x00,0x00,}},
+ {0x7625,2,{0xF0,0xFB,0x00,0x00,}},
+ {0x7626,2,{0xCA,0xDD,0x00,0x00,}},
+ {0x7627,2,{0xAF,0x91,0x00,0x00,}},
+ {0x7628,2,{0xAF,0x92,0x00,0x00,}},
+ {0x7629,2,{0xB4,0xF1,0x00,0x00,}},
+ {0x762A,2,{0xB1,0xF1,0x00,0x00,}},
+ {0x762B,2,{0xCC,0xB1,0x00,0x00,}},
+ {0x762C,2,{0xAF,0x93,0x00,0x00,}},
+ {0x762D,2,{0xF1,0xA6,0x00,0x00,}},
+ {0x762E,2,{0xAF,0x94,0x00,0x00,}},
+ {0x762F,2,{0xAF,0x95,0x00,0x00,}},
+ {0x7630,2,{0xF1,0xA7,0x00,0x00,}},
+ {0x7631,2,{0xAF,0x96,0x00,0x00,}},
+ {0x7632,2,{0xAF,0x97,0x00,0x00,}},
+ {0x7633,2,{0xF1,0xAC,0x00,0x00,}},
+ {0x7634,2,{0xD5,0xCE,0x00,0x00,}},
+ {0x7635,2,{0xF1,0xA9,0x00,0x00,}},
+ {0x7636,2,{0xAF,0x98,0x00,0x00,}},
+ {0x7637,2,{0xAF,0x99,0x00,0x00,}},
+ {0x7638,2,{0xC8,0xB3,0x00,0x00,}},
+ {0x7639,2,{0xAF,0x9A,0x00,0x00,}},
+ {0x763A,2,{0xAF,0x9B,0x00,0x00,}},
+ {0x763B,2,{0xAF,0x9C,0x00,0x00,}},
+ {0x763C,2,{0xF1,0xA2,0x00,0x00,}},
+ {0x763D,2,{0xAF,0x9D,0x00,0x00,}},
+ {0x763E,2,{0xF1,0xAB,0x00,0x00,}},
+ {0x763F,2,{0xF1,0xA8,0x00,0x00,}},
+ {0x7640,2,{0xF1,0xA5,0x00,0x00,}},
+ {0x7641,2,{0xAF,0x9E,0x00,0x00,}},
+ {0x7642,2,{0xAF,0x9F,0x00,0x00,}},
+ {0x7643,2,{0xF1,0xAA,0x00,0x00,}},
+ {0x7644,2,{0xAF,0xA0,0x00,0x00,}},
+ {0x7645,2,{0xB0,0x40,0x00,0x00,}},
+ {0x7646,2,{0xB0,0x41,0x00,0x00,}},
+ {0x7647,2,{0xB0,0x42,0x00,0x00,}},
+ {0x7648,2,{0xB0,0x43,0x00,0x00,}},
+ {0x7649,2,{0xB0,0x44,0x00,0x00,}},
+ {0x764A,2,{0xB0,0x45,0x00,0x00,}},
+ {0x764B,2,{0xB0,0x46,0x00,0x00,}},
+ {0x764C,2,{0xB0,0xA9,0x00,0x00,}},
+ {0x764D,2,{0xF1,0xAD,0x00,0x00,}},
+ {0x764E,2,{0xB0,0x47,0x00,0x00,}},
+ {0x764F,2,{0xB0,0x48,0x00,0x00,}},
+ {0x7650,2,{0xB0,0x49,0x00,0x00,}},
+ {0x7651,2,{0xB0,0x4A,0x00,0x00,}},
+ {0x7652,2,{0xB0,0x4B,0x00,0x00,}},
+ {0x7653,2,{0xB0,0x4C,0x00,0x00,}},
+ {0x7654,2,{0xF1,0xAF,0x00,0x00,}},
+ {0x7655,2,{0xB0,0x4D,0x00,0x00,}},
+ {0x7656,2,{0xF1,0xB1,0x00,0x00,}},
+ {0x7657,2,{0xB0,0x4E,0x00,0x00,}},
+ {0x7658,2,{0xB0,0x4F,0x00,0x00,}},
+ {0x7659,2,{0xB0,0x50,0x00,0x00,}},
+ {0x765A,2,{0xB0,0x51,0x00,0x00,}},
+ {0x765B,2,{0xB0,0x52,0x00,0x00,}},
+ {0x765C,2,{0xF1,0xB0,0x00,0x00,}},
+ {0x765D,2,{0xB0,0x53,0x00,0x00,}},
+ {0x765E,2,{0xF1,0xAE,0x00,0x00,}},
+ {0x765F,2,{0xB0,0x54,0x00,0x00,}},
+ {0x7660,2,{0xB0,0x55,0x00,0x00,}},
+ {0x7661,2,{0xB0,0x56,0x00,0x00,}},
+ {0x7662,2,{0xB0,0x57,0x00,0x00,}},
+ {0x7663,2,{0xD1,0xA2,0x00,0x00,}},
+ {0x7664,2,{0xB0,0x58,0x00,0x00,}},
+ {0x7665,2,{0xB0,0x59,0x00,0x00,}},
+ {0x7666,2,{0xB0,0x5A,0x00,0x00,}},
+ {0x7667,2,{0xB0,0x5B,0x00,0x00,}},
+ {0x7668,2,{0xB0,0x5C,0x00,0x00,}},
+ {0x7669,2,{0xB0,0x5D,0x00,0x00,}},
+ {0x766A,2,{0xB0,0x5E,0x00,0x00,}},
+ {0x766B,2,{0xF1,0xB2,0x00,0x00,}},
+ {0x766C,2,{0xB0,0x5F,0x00,0x00,}},
+ {0x766D,2,{0xB0,0x60,0x00,0x00,}},
+ {0x766E,2,{0xB0,0x61,0x00,0x00,}},
+ {0x766F,2,{0xF1,0xB3,0x00,0x00,}},
+ {0x7670,2,{0xB0,0x62,0x00,0x00,}},
+ {0x7671,2,{0xB0,0x63,0x00,0x00,}},
+ {0x7672,2,{0xB0,0x64,0x00,0x00,}},
+ {0x7673,2,{0xB0,0x65,0x00,0x00,}},
+ {0x7674,2,{0xB0,0x66,0x00,0x00,}},
+ {0x7675,2,{0xB0,0x67,0x00,0x00,}},
+ {0x7676,2,{0xB0,0x68,0x00,0x00,}},
+ {0x7677,2,{0xB0,0x69,0x00,0x00,}},
+ {0x7678,2,{0xB9,0xEF,0x00,0x00,}},
+ {0x7679,2,{0xB0,0x6A,0x00,0x00,}},
+ {0x767A,2,{0xB0,0x6B,0x00,0x00,}},
+ {0x767B,2,{0xB5,0xC7,0x00,0x00,}},
+ {0x767C,2,{0xB0,0x6C,0x00,0x00,}},
+ {0x767D,2,{0xB0,0xD7,0x00,0x00,}},
+ {0x767E,2,{0xB0,0xD9,0x00,0x00,}},
+ {0x767F,2,{0xB0,0x6D,0x00,0x00,}},
+ {0x7680,2,{0xB0,0x6E,0x00,0x00,}},
+ {0x7681,2,{0xB0,0x6F,0x00,0x00,}},
+ {0x7682,2,{0xD4,0xED,0x00,0x00,}},
+ {0x7683,2,{0xB0,0x70,0x00,0x00,}},
+ {0x7684,2,{0xB5,0xC4,0x00,0x00,}},
+ {0x7685,2,{0xB0,0x71,0x00,0x00,}},
+ {0x7686,2,{0xBD,0xD4,0x00,0x00,}},
+ {0x7687,2,{0xBB,0xCA,0x00,0x00,}},
+ {0x7688,2,{0xF0,0xA7,0x00,0x00,}},
+ {0x7689,2,{0xB0,0x72,0x00,0x00,}},
+ {0x768A,2,{0xB0,0x73,0x00,0x00,}},
+ {0x768B,2,{0xB8,0xDE,0x00,0x00,}},
+ {0x768C,2,{0xB0,0x74,0x00,0x00,}},
+ {0x768D,2,{0xB0,0x75,0x00,0x00,}},
+ {0x768E,2,{0xF0,0xA8,0x00,0x00,}},
+ {0x768F,2,{0xB0,0x76,0x00,0x00,}},
+ {0x7690,2,{0xB0,0x77,0x00,0x00,}},
+ {0x7691,2,{0xB0,0xA8,0x00,0x00,}},
+ {0x7692,2,{0xB0,0x78,0x00,0x00,}},
+ {0x7693,2,{0xF0,0xA9,0x00,0x00,}},
+ {0x7694,2,{0xB0,0x79,0x00,0x00,}},
+ {0x7695,2,{0xB0,0x7A,0x00,0x00,}},
+ {0x7696,2,{0xCD,0xEE,0x00,0x00,}},
+ {0x7697,2,{0xB0,0x7B,0x00,0x00,}},
+ {0x7698,2,{0xB0,0x7C,0x00,0x00,}},
+ {0x7699,2,{0xF0,0xAA,0x00,0x00,}},
+ {0x769A,2,{0xB0,0x7D,0x00,0x00,}},
+ {0x769B,2,{0xB0,0x7E,0x00,0x00,}},
+ {0x769C,2,{0xB0,0x80,0x00,0x00,}},
+ {0x769D,2,{0xB0,0x81,0x00,0x00,}},
+ {0x769E,2,{0xB0,0x82,0x00,0x00,}},
+ {0x769F,2,{0xB0,0x83,0x00,0x00,}},
+ {0x76A0,2,{0xB0,0x84,0x00,0x00,}},
+ {0x76A1,2,{0xB0,0x85,0x00,0x00,}},
+ {0x76A2,2,{0xB0,0x86,0x00,0x00,}},
+ {0x76A3,2,{0xB0,0x87,0x00,0x00,}},
+ {0x76A4,2,{0xF0,0xAB,0x00,0x00,}},
+ {0x76A5,2,{0xB0,0x88,0x00,0x00,}},
+ {0x76A6,2,{0xB0,0x89,0x00,0x00,}},
+ {0x76A7,2,{0xB0,0x8A,0x00,0x00,}},
+ {0x76A8,2,{0xB0,0x8B,0x00,0x00,}},
+ {0x76A9,2,{0xB0,0x8C,0x00,0x00,}},
+ {0x76AA,2,{0xB0,0x8D,0x00,0x00,}},
+ {0x76AB,2,{0xB0,0x8E,0x00,0x00,}},
+ {0x76AC,2,{0xB0,0x8F,0x00,0x00,}},
+ {0x76AD,2,{0xB0,0x90,0x00,0x00,}},
+ {0x76AE,2,{0xC6,0xA4,0x00,0x00,}},
+ {0x76AF,2,{0xB0,0x91,0x00,0x00,}},
+ {0x76B0,2,{0xB0,0x92,0x00,0x00,}},
+ {0x76B1,2,{0xD6,0xE5,0x00,0x00,}},
+ {0x76B2,2,{0xF1,0xE4,0x00,0x00,}},
+ {0x76B3,2,{0xB0,0x93,0x00,0x00,}},
+ {0x76B4,2,{0xF1,0xE5,0x00,0x00,}},
+ {0x76B5,2,{0xB0,0x94,0x00,0x00,}},
+ {0x76B6,2,{0xB0,0x95,0x00,0x00,}},
+ {0x76B7,2,{0xB0,0x96,0x00,0x00,}},
+ {0x76B8,2,{0xB0,0x97,0x00,0x00,}},
+ {0x76B9,2,{0xB0,0x98,0x00,0x00,}},
+ {0x76BA,2,{0xB0,0x99,0x00,0x00,}},
+ {0x76BB,2,{0xB0,0x9A,0x00,0x00,}},
+ {0x76BC,2,{0xB0,0x9B,0x00,0x00,}},
+ {0x76BD,2,{0xB0,0x9C,0x00,0x00,}},
+ {0x76BE,2,{0xB0,0x9D,0x00,0x00,}},
+ {0x76BF,2,{0xC3,0xF3,0x00,0x00,}},
+ {0x76C0,2,{0xB0,0x9E,0x00,0x00,}},
+ {0x76C1,2,{0xB0,0x9F,0x00,0x00,}},
+ {0x76C2,2,{0xD3,0xDB,0x00,0x00,}},
+ {0x76C3,2,{0xB0,0xA0,0x00,0x00,}},
+ {0x76C4,2,{0xB1,0x40,0x00,0x00,}},
+ {0x76C5,2,{0xD6,0xD1,0x00,0x00,}},
+ {0x76C6,2,{0xC5,0xE8,0x00,0x00,}},
+ {0x76C7,2,{0xB1,0x41,0x00,0x00,}},
+ {0x76C8,2,{0xD3,0xAF,0x00,0x00,}},
+ {0x76C9,2,{0xB1,0x42,0x00,0x00,}},
+ {0x76CA,2,{0xD2,0xE6,0x00,0x00,}},
+ {0x76CB,2,{0xB1,0x43,0x00,0x00,}},
+ {0x76CC,2,{0xB1,0x44,0x00,0x00,}},
+ {0x76CD,2,{0xEE,0xC1,0x00,0x00,}},
+ {0x76CE,2,{0xB0,0xBB,0x00,0x00,}},
+ {0x76CF,2,{0xD5,0xB5,0x00,0x00,}},
+ {0x76D0,2,{0xD1,0xCE,0x00,0x00,}},
+ {0x76D1,2,{0xBC,0xE0,0x00,0x00,}},
+ {0x76D2,2,{0xBA,0xD0,0x00,0x00,}},
+ {0x76D3,2,{0xB1,0x45,0x00,0x00,}},
+ {0x76D4,2,{0xBF,0xF8,0x00,0x00,}},
+ {0x76D5,2,{0xB1,0x46,0x00,0x00,}},
+ {0x76D6,2,{0xB8,0xC7,0x00,0x00,}},
+ {0x76D7,2,{0xB5,0xC1,0x00,0x00,}},
+ {0x76D8,2,{0xC5,0xCC,0x00,0x00,}},
+ {0x76D9,2,{0xB1,0x47,0x00,0x00,}},
+ {0x76DA,2,{0xB1,0x48,0x00,0x00,}},
+ {0x76DB,2,{0xCA,0xA2,0x00,0x00,}},
+ {0x76DC,2,{0xB1,0x49,0x00,0x00,}},
+ {0x76DD,2,{0xB1,0x4A,0x00,0x00,}},
+ {0x76DE,2,{0xB1,0x4B,0x00,0x00,}},
+ {0x76DF,2,{0xC3,0xCB,0x00,0x00,}},
+ {0x76E0,2,{0xB1,0x4C,0x00,0x00,}},
+ {0x76E1,2,{0xB1,0x4D,0x00,0x00,}},
+ {0x76E2,2,{0xB1,0x4E,0x00,0x00,}},
+ {0x76E3,2,{0xB1,0x4F,0x00,0x00,}},
+ {0x76E4,2,{0xB1,0x50,0x00,0x00,}},
+ {0x76E5,2,{0xEE,0xC2,0x00,0x00,}},
+ {0x76E6,2,{0xB1,0x51,0x00,0x00,}},
+ {0x76E7,2,{0xB1,0x52,0x00,0x00,}},
+ {0x76E8,2,{0xB1,0x53,0x00,0x00,}},
+ {0x76E9,2,{0xB1,0x54,0x00,0x00,}},
+ {0x76EA,2,{0xB1,0x55,0x00,0x00,}},
+ {0x76EB,2,{0xB1,0x56,0x00,0x00,}},
+ {0x76EC,2,{0xB1,0x57,0x00,0x00,}},
+ {0x76ED,2,{0xB1,0x58,0x00,0x00,}},
+ {0x76EE,2,{0xC4,0xBF,0x00,0x00,}},
+ {0x76EF,2,{0xB6,0xA2,0x00,0x00,}},
+ {0x76F0,2,{0xB1,0x59,0x00,0x00,}},
+ {0x76F1,2,{0xED,0xEC,0x00,0x00,}},
+ {0x76F2,2,{0xC3,0xA4,0x00,0x00,}},
+ {0x76F3,2,{0xB1,0x5A,0x00,0x00,}},
+ {0x76F4,2,{0xD6,0xB1,0x00,0x00,}},
+ {0x76F5,2,{0xB1,0x5B,0x00,0x00,}},
+ {0x76F6,2,{0xB1,0x5C,0x00,0x00,}},
+ {0x76F7,2,{0xB1,0x5D,0x00,0x00,}},
+ {0x76F8,2,{0xCF,0xE0,0x00,0x00,}},
+ {0x76F9,2,{0xED,0xEF,0x00,0x00,}},
+ {0x76FA,2,{0xB1,0x5E,0x00,0x00,}},
+ {0x76FB,2,{0xB1,0x5F,0x00,0x00,}},
+ {0x76FC,2,{0xC5,0xCE,0x00,0x00,}},
+ {0x76FD,2,{0xB1,0x60,0x00,0x00,}},
+ {0x76FE,2,{0xB6,0xDC,0x00,0x00,}},
+ {0x76FF,2,{0xB1,0x61,0x00,0x00,}},
+ {0x7700,2,{0xB1,0x62,0x00,0x00,}},
+ {0x7701,2,{0xCA,0xA1,0x00,0x00,}},
+ {0x7702,2,{0xB1,0x63,0x00,0x00,}},
+ {0x7703,2,{0xB1,0x64,0x00,0x00,}},
+ {0x7704,2,{0xED,0xED,0x00,0x00,}},
+ {0x7705,2,{0xB1,0x65,0x00,0x00,}},
+ {0x7706,2,{0xB1,0x66,0x00,0x00,}},
+ {0x7707,2,{0xED,0xF0,0x00,0x00,}},
+ {0x7708,2,{0xED,0xF1,0x00,0x00,}},
+ {0x7709,2,{0xC3,0xBC,0x00,0x00,}},
+ {0x770A,2,{0xB1,0x67,0x00,0x00,}},
+ {0x770B,2,{0xBF,0xB4,0x00,0x00,}},
+ {0x770C,2,{0xB1,0x68,0x00,0x00,}},
+ {0x770D,2,{0xED,0xEE,0x00,0x00,}},
+ {0x770E,2,{0xB1,0x69,0x00,0x00,}},
+ {0x770F,2,{0xB1,0x6A,0x00,0x00,}},
+ {0x7710,2,{0xB1,0x6B,0x00,0x00,}},
+ {0x7711,2,{0xB1,0x6C,0x00,0x00,}},
+ {0x7712,2,{0xB1,0x6D,0x00,0x00,}},
+ {0x7713,2,{0xB1,0x6E,0x00,0x00,}},
+ {0x7714,2,{0xB1,0x6F,0x00,0x00,}},
+ {0x7715,2,{0xB1,0x70,0x00,0x00,}},
+ {0x7716,2,{0xB1,0x71,0x00,0x00,}},
+ {0x7717,2,{0xB1,0x72,0x00,0x00,}},
+ {0x7718,2,{0xB1,0x73,0x00,0x00,}},
+ {0x7719,2,{0xED,0xF4,0x00,0x00,}},
+ {0x771A,2,{0xED,0xF2,0x00,0x00,}},
+ {0x771B,2,{0xB1,0x74,0x00,0x00,}},
+ {0x771C,2,{0xB1,0x75,0x00,0x00,}},
+ {0x771D,2,{0xB1,0x76,0x00,0x00,}},
+ {0x771E,2,{0xB1,0x77,0x00,0x00,}},
+ {0x771F,2,{0xD5,0xE6,0x00,0x00,}},
+ {0x7720,2,{0xC3,0xDF,0x00,0x00,}},
+ {0x7721,2,{0xB1,0x78,0x00,0x00,}},
+ {0x7722,2,{0xED,0xF3,0x00,0x00,}},
+ {0x7723,2,{0xB1,0x79,0x00,0x00,}},
+ {0x7724,2,{0xB1,0x7A,0x00,0x00,}},
+ {0x7725,2,{0xB1,0x7B,0x00,0x00,}},
+ {0x7726,2,{0xED,0xF6,0x00,0x00,}},
+ {0x7727,2,{0xB1,0x7C,0x00,0x00,}},
+ {0x7728,2,{0xD5,0xA3,0x00,0x00,}},
+ {0x7729,2,{0xD1,0xA3,0x00,0x00,}},
+ {0x772A,2,{0xB1,0x7D,0x00,0x00,}},
+ {0x772B,2,{0xB1,0x7E,0x00,0x00,}},
+ {0x772C,2,{0xB1,0x80,0x00,0x00,}},
+ {0x772D,2,{0xED,0xF5,0x00,0x00,}},
+ {0x772E,2,{0xB1,0x81,0x00,0x00,}},
+ {0x772F,2,{0xC3,0xD0,0x00,0x00,}},
+ {0x7730,2,{0xB1,0x82,0x00,0x00,}},
+ {0x7731,2,{0xB1,0x83,0x00,0x00,}},
+ {0x7732,2,{0xB1,0x84,0x00,0x00,}},
+ {0x7733,2,{0xB1,0x85,0x00,0x00,}},
+ {0x7734,2,{0xB1,0x86,0x00,0x00,}},
+ {0x7735,2,{0xED,0xF7,0x00,0x00,}},
+ {0x7736,2,{0xBF,0xF4,0x00,0x00,}},
+ {0x7737,2,{0xBE,0xEC,0x00,0x00,}},
+ {0x7738,2,{0xED,0xF8,0x00,0x00,}},
+ {0x7739,2,{0xB1,0x87,0x00,0x00,}},
+ {0x773A,2,{0xCC,0xF7,0x00,0x00,}},
+ {0x773B,2,{0xB1,0x88,0x00,0x00,}},
+ {0x773C,2,{0xD1,0xDB,0x00,0x00,}},
+ {0x773D,2,{0xB1,0x89,0x00,0x00,}},
+ {0x773E,2,{0xB1,0x8A,0x00,0x00,}},
+ {0x773F,2,{0xB1,0x8B,0x00,0x00,}},
+ {0x7740,2,{0xD7,0xC5,0x00,0x00,}},
+ {0x7741,2,{0xD5,0xF6,0x00,0x00,}},
+ {0x7742,2,{0xB1,0x8C,0x00,0x00,}},
+ {0x7743,2,{0xED,0xFC,0x00,0x00,}},
+ {0x7744,2,{0xB1,0x8D,0x00,0x00,}},
+ {0x7745,2,{0xB1,0x8E,0x00,0x00,}},
+ {0x7746,2,{0xB1,0x8F,0x00,0x00,}},
+ {0x7747,2,{0xED,0xFB,0x00,0x00,}},
+ {0x7748,2,{0xB1,0x90,0x00,0x00,}},
+ {0x7749,2,{0xB1,0x91,0x00,0x00,}},
+ {0x774A,2,{0xB1,0x92,0x00,0x00,}},
+ {0x774B,2,{0xB1,0x93,0x00,0x00,}},
+ {0x774C,2,{0xB1,0x94,0x00,0x00,}},
+ {0x774D,2,{0xB1,0x95,0x00,0x00,}},
+ {0x774E,2,{0xB1,0x96,0x00,0x00,}},
+ {0x774F,2,{0xB1,0x97,0x00,0x00,}},
+ {0x7750,2,{0xED,0xF9,0x00,0x00,}},
+ {0x7751,2,{0xED,0xFA,0x00,0x00,}},
+ {0x7752,2,{0xB1,0x98,0x00,0x00,}},
+ {0x7753,2,{0xB1,0x99,0x00,0x00,}},
+ {0x7754,2,{0xB1,0x9A,0x00,0x00,}},
+ {0x7755,2,{0xB1,0x9B,0x00,0x00,}},
+ {0x7756,2,{0xB1,0x9C,0x00,0x00,}},
+ {0x7757,2,{0xB1,0x9D,0x00,0x00,}},
+ {0x7758,2,{0xB1,0x9E,0x00,0x00,}},
+ {0x7759,2,{0xB1,0x9F,0x00,0x00,}},
+ {0x775A,2,{0xED,0xFD,0x00,0x00,}},
+ {0x775B,2,{0xBE,0xA6,0x00,0x00,}},
+ {0x775C,2,{0xB1,0xA0,0x00,0x00,}},
+ {0x775D,2,{0xB2,0x40,0x00,0x00,}},
+ {0x775E,2,{0xB2,0x41,0x00,0x00,}},
+ {0x775F,2,{0xB2,0x42,0x00,0x00,}},
+ {0x7760,2,{0xB2,0x43,0x00,0x00,}},
+ {0x7761,2,{0xCB,0xAF,0x00,0x00,}},
+ {0x7762,2,{0xEE,0xA1,0x00,0x00,}},
+ {0x7763,2,{0xB6,0xBD,0x00,0x00,}},
+ {0x7764,2,{0xB2,0x44,0x00,0x00,}},
+ {0x7765,2,{0xEE,0xA2,0x00,0x00,}},
+ {0x7766,2,{0xC4,0xC0,0x00,0x00,}},
+ {0x7767,2,{0xB2,0x45,0x00,0x00,}},
+ {0x7768,2,{0xED,0xFE,0x00,0x00,}},
+ {0x7769,2,{0xB2,0x46,0x00,0x00,}},
+ {0x776A,2,{0xB2,0x47,0x00,0x00,}},
+ {0x776B,2,{0xBD,0xDE,0x00,0x00,}},
+ {0x776C,2,{0xB2,0xC7,0x00,0x00,}},
+ {0x776D,2,{0xB2,0x48,0x00,0x00,}},
+ {0x776E,2,{0xB2,0x49,0x00,0x00,}},
+ {0x776F,2,{0xB2,0x4A,0x00,0x00,}},
+ {0x7770,2,{0xB2,0x4B,0x00,0x00,}},
+ {0x7771,2,{0xB2,0x4C,0x00,0x00,}},
+ {0x7772,2,{0xB2,0x4D,0x00,0x00,}},
+ {0x7773,2,{0xB2,0x4E,0x00,0x00,}},
+ {0x7774,2,{0xB2,0x4F,0x00,0x00,}},
+ {0x7775,2,{0xB2,0x50,0x00,0x00,}},
+ {0x7776,2,{0xB2,0x51,0x00,0x00,}},
+ {0x7777,2,{0xB2,0x52,0x00,0x00,}},
+ {0x7778,2,{0xB2,0x53,0x00,0x00,}},
+ {0x7779,2,{0xB6,0xC3,0x00,0x00,}},
+ {0x777A,2,{0xB2,0x54,0x00,0x00,}},
+ {0x777B,2,{0xB2,0x55,0x00,0x00,}},
+ {0x777C,2,{0xB2,0x56,0x00,0x00,}},
+ {0x777D,2,{0xEE,0xA5,0x00,0x00,}},
+ {0x777E,2,{0xD8,0xBA,0x00,0x00,}},
+ {0x777F,2,{0xEE,0xA3,0x00,0x00,}},
+ {0x7780,2,{0xEE,0xA6,0x00,0x00,}},
+ {0x7781,2,{0xB2,0x57,0x00,0x00,}},
+ {0x7782,2,{0xB2,0x58,0x00,0x00,}},
+ {0x7783,2,{0xB2,0x59,0x00,0x00,}},
+ {0x7784,2,{0xC3,0xE9,0x00,0x00,}},
+ {0x7785,2,{0xB3,0xF2,0x00,0x00,}},
+ {0x7786,2,{0xB2,0x5A,0x00,0x00,}},
+ {0x7787,2,{0xB2,0x5B,0x00,0x00,}},
+ {0x7788,2,{0xB2,0x5C,0x00,0x00,}},
+ {0x7789,2,{0xB2,0x5D,0x00,0x00,}},
+ {0x778A,2,{0xB2,0x5E,0x00,0x00,}},
+ {0x778B,2,{0xB2,0x5F,0x00,0x00,}},
+ {0x778C,2,{0xEE,0xA7,0x00,0x00,}},
+ {0x778D,2,{0xEE,0xA4,0x00,0x00,}},
+ {0x778E,2,{0xCF,0xB9,0x00,0x00,}},
+ {0x778F,2,{0xB2,0x60,0x00,0x00,}},
+ {0x7790,2,{0xB2,0x61,0x00,0x00,}},
+ {0x7791,2,{0xEE,0xA8,0x00,0x00,}},
+ {0x7792,2,{0xC2,0xF7,0x00,0x00,}},
+ {0x7793,2,{0xB2,0x62,0x00,0x00,}},
+ {0x7794,2,{0xB2,0x63,0x00,0x00,}},
+ {0x7795,2,{0xB2,0x64,0x00,0x00,}},
+ {0x7796,2,{0xB2,0x65,0x00,0x00,}},
+ {0x7797,2,{0xB2,0x66,0x00,0x00,}},
+ {0x7798,2,{0xB2,0x67,0x00,0x00,}},
+ {0x7799,2,{0xB2,0x68,0x00,0x00,}},
+ {0x779A,2,{0xB2,0x69,0x00,0x00,}},
+ {0x779B,2,{0xB2,0x6A,0x00,0x00,}},
+ {0x779C,2,{0xB2,0x6B,0x00,0x00,}},
+ {0x779D,2,{0xB2,0x6C,0x00,0x00,}},
+ {0x779E,2,{0xB2,0x6D,0x00,0x00,}},
+ {0x779F,2,{0xEE,0xA9,0x00,0x00,}},
+ {0x77A0,2,{0xEE,0xAA,0x00,0x00,}},
+ {0x77A1,2,{0xB2,0x6E,0x00,0x00,}},
+ {0x77A2,2,{0xDE,0xAB,0x00,0x00,}},
+ {0x77A3,2,{0xB2,0x6F,0x00,0x00,}},
+ {0x77A4,2,{0xB2,0x70,0x00,0x00,}},
+ {0x77A5,2,{0xC6,0xB3,0x00,0x00,}},
+ {0x77A6,2,{0xB2,0x71,0x00,0x00,}},
+ {0x77A7,2,{0xC7,0xC6,0x00,0x00,}},
+ {0x77A8,2,{0xB2,0x72,0x00,0x00,}},
+ {0x77A9,2,{0xD6,0xF5,0x00,0x00,}},
+ {0x77AA,2,{0xB5,0xC9,0x00,0x00,}},
+ {0x77AB,2,{0xB2,0x73,0x00,0x00,}},
+ {0x77AC,2,{0xCB,0xB2,0x00,0x00,}},
+ {0x77AD,2,{0xB2,0x74,0x00,0x00,}},
+ {0x77AE,2,{0xB2,0x75,0x00,0x00,}},
+ {0x77AF,2,{0xB2,0x76,0x00,0x00,}},
+ {0x77B0,2,{0xEE,0xAB,0x00,0x00,}},
+ {0x77B1,2,{0xB2,0x77,0x00,0x00,}},
+ {0x77B2,2,{0xB2,0x78,0x00,0x00,}},
+ {0x77B3,2,{0xCD,0xAB,0x00,0x00,}},
+ {0x77B4,2,{0xB2,0x79,0x00,0x00,}},
+ {0x77B5,2,{0xEE,0xAC,0x00,0x00,}},
+ {0x77B6,2,{0xB2,0x7A,0x00,0x00,}},
+ {0x77B7,2,{0xB2,0x7B,0x00,0x00,}},
+ {0x77B8,2,{0xB2,0x7C,0x00,0x00,}},
+ {0x77B9,2,{0xB2,0x7D,0x00,0x00,}},
+ {0x77BA,2,{0xB2,0x7E,0x00,0x00,}},
+ {0x77BB,2,{0xD5,0xB0,0x00,0x00,}},
+ {0x77BC,2,{0xB2,0x80,0x00,0x00,}},
+ {0x77BD,2,{0xEE,0xAD,0x00,0x00,}},
+ {0x77BE,2,{0xB2,0x81,0x00,0x00,}},
+ {0x77BF,2,{0xF6,0xC4,0x00,0x00,}},
+ {0x77C0,2,{0xB2,0x82,0x00,0x00,}},
+ {0x77C1,2,{0xB2,0x83,0x00,0x00,}},
+ {0x77C2,2,{0xB2,0x84,0x00,0x00,}},
+ {0x77C3,2,{0xB2,0x85,0x00,0x00,}},
+ {0x77C4,2,{0xB2,0x86,0x00,0x00,}},
+ {0x77C5,2,{0xB2,0x87,0x00,0x00,}},
+ {0x77C6,2,{0xB2,0x88,0x00,0x00,}},
+ {0x77C7,2,{0xB2,0x89,0x00,0x00,}},
+ {0x77C8,2,{0xB2,0x8A,0x00,0x00,}},
+ {0x77C9,2,{0xB2,0x8B,0x00,0x00,}},
+ {0x77CA,2,{0xB2,0x8C,0x00,0x00,}},
+ {0x77CB,2,{0xB2,0x8D,0x00,0x00,}},
+ {0x77CC,2,{0xB2,0x8E,0x00,0x00,}},
+ {0x77CD,2,{0xDB,0xC7,0x00,0x00,}},
+ {0x77CE,2,{0xB2,0x8F,0x00,0x00,}},
+ {0x77CF,2,{0xB2,0x90,0x00,0x00,}},
+ {0x77D0,2,{0xB2,0x91,0x00,0x00,}},
+ {0x77D1,2,{0xB2,0x92,0x00,0x00,}},
+ {0x77D2,2,{0xB2,0x93,0x00,0x00,}},
+ {0x77D3,2,{0xB2,0x94,0x00,0x00,}},
+ {0x77D4,2,{0xB2,0x95,0x00,0x00,}},
+ {0x77D5,2,{0xB2,0x96,0x00,0x00,}},
+ {0x77D6,2,{0xB2,0x97,0x00,0x00,}},
+ {0x77D7,2,{0xB4,0xA3,0x00,0x00,}},
+ {0x77D8,2,{0xB2,0x98,0x00,0x00,}},
+ {0x77D9,2,{0xB2,0x99,0x00,0x00,}},
+ {0x77DA,2,{0xB2,0x9A,0x00,0x00,}},
+ {0x77DB,2,{0xC3,0xAC,0x00,0x00,}},
+ {0x77DC,2,{0xF1,0xE6,0x00,0x00,}},
+ {0x77DD,2,{0xB2,0x9B,0x00,0x00,}},
+ {0x77DE,2,{0xB2,0x9C,0x00,0x00,}},
+ {0x77DF,2,{0xB2,0x9D,0x00,0x00,}},
+ {0x77E0,2,{0xB2,0x9E,0x00,0x00,}},
+ {0x77E1,2,{0xB2,0x9F,0x00,0x00,}},
+ {0x77E2,2,{0xCA,0xB8,0x00,0x00,}},
+ {0x77E3,2,{0xD2,0xD3,0x00,0x00,}},
+ {0x77E4,2,{0xB2,0xA0,0x00,0x00,}},
+ {0x77E5,2,{0xD6,0xAA,0x00,0x00,}},
+ {0x77E6,2,{0xB3,0x40,0x00,0x00,}},
+ {0x77E7,2,{0xEF,0xF2,0x00,0x00,}},
+ {0x77E8,2,{0xB3,0x41,0x00,0x00,}},
+ {0x77E9,2,{0xBE,0xD8,0x00,0x00,}},
+ {0x77EA,2,{0xB3,0x42,0x00,0x00,}},
+ {0x77EB,2,{0xBD,0xC3,0x00,0x00,}},
+ {0x77EC,2,{0xEF,0xF3,0x00,0x00,}},
+ {0x77ED,2,{0xB6,0xCC,0x00,0x00,}},
+ {0x77EE,2,{0xB0,0xAB,0x00,0x00,}},
+ {0x77EF,2,{0xB3,0x43,0x00,0x00,}},
+ {0x77F0,2,{0xB3,0x44,0x00,0x00,}},
+ {0x77F1,2,{0xB3,0x45,0x00,0x00,}},
+ {0x77F2,2,{0xB3,0x46,0x00,0x00,}},
+ {0x77F3,2,{0xCA,0xAF,0x00,0x00,}},
+ {0x77F4,2,{0xB3,0x47,0x00,0x00,}},
+ {0x77F5,2,{0xB3,0x48,0x00,0x00,}},
+ {0x77F6,2,{0xED,0xB6,0x00,0x00,}},
+ {0x77F7,2,{0xB3,0x49,0x00,0x00,}},
+ {0x77F8,2,{0xED,0xB7,0x00,0x00,}},
+ {0x77F9,2,{0xB3,0x4A,0x00,0x00,}},
+ {0x77FA,2,{0xB3,0x4B,0x00,0x00,}},
+ {0x77FB,2,{0xB3,0x4C,0x00,0x00,}},
+ {0x77FC,2,{0xB3,0x4D,0x00,0x00,}},
+ {0x77FD,2,{0xCE,0xF9,0x00,0x00,}},
+ {0x77FE,2,{0xB7,0xAF,0x00,0x00,}},
+ {0x77FF,2,{0xBF,0xF3,0x00,0x00,}},
+ {0x7800,2,{0xED,0xB8,0x00,0x00,}},
+ {0x7801,2,{0xC2,0xEB,0x00,0x00,}},
+ {0x7802,2,{0xC9,0xB0,0x00,0x00,}},
+ {0x7803,2,{0xB3,0x4E,0x00,0x00,}},
+ {0x7804,2,{0xB3,0x4F,0x00,0x00,}},
+ {0x7805,2,{0xB3,0x50,0x00,0x00,}},
+ {0x7806,2,{0xB3,0x51,0x00,0x00,}},
+ {0x7807,2,{0xB3,0x52,0x00,0x00,}},
+ {0x7808,2,{0xB3,0x53,0x00,0x00,}},
+ {0x7809,2,{0xED,0xB9,0x00,0x00,}},
+ {0x780A,2,{0xB3,0x54,0x00,0x00,}},
+ {0x780B,2,{0xB3,0x55,0x00,0x00,}},
+ {0x780C,2,{0xC6,0xF6,0x00,0x00,}},
+ {0x780D,2,{0xBF,0xB3,0x00,0x00,}},
+ {0x780E,2,{0xB3,0x56,0x00,0x00,}},
+ {0x780F,2,{0xB3,0x57,0x00,0x00,}},
+ {0x7810,2,{0xB3,0x58,0x00,0x00,}},
+ {0x7811,2,{0xED,0xBC,0x00,0x00,}},
+ {0x7812,2,{0xC5,0xF8,0x00,0x00,}},
+ {0x7813,2,{0xB3,0x59,0x00,0x00,}},
+ {0x7814,2,{0xD1,0xD0,0x00,0x00,}},
+ {0x7815,2,{0xB3,0x5A,0x00,0x00,}},
+ {0x7816,2,{0xD7,0xA9,0x00,0x00,}},
+ {0x7817,2,{0xED,0xBA,0x00,0x00,}},
+ {0x7818,2,{0xED,0xBB,0x00,0x00,}},
+ {0x7819,2,{0xB3,0x5B,0x00,0x00,}},
+ {0x781A,2,{0xD1,0xE2,0x00,0x00,}},
+ {0x781B,2,{0xB3,0x5C,0x00,0x00,}},
+ {0x781C,2,{0xED,0xBF,0x00,0x00,}},
+ {0x781D,2,{0xED,0xC0,0x00,0x00,}},
+ {0x781E,2,{0xB3,0x5D,0x00,0x00,}},
+ {0x781F,2,{0xED,0xC4,0x00,0x00,}},
+ {0x7820,2,{0xB3,0x5E,0x00,0x00,}},
+ {0x7821,2,{0xB3,0x5F,0x00,0x00,}},
+ {0x7822,2,{0xB3,0x60,0x00,0x00,}},
+ {0x7823,2,{0xED,0xC8,0x00,0x00,}},
+ {0x7824,2,{0xB3,0x61,0x00,0x00,}},
+ {0x7825,2,{0xED,0xC6,0x00,0x00,}},
+ {0x7826,2,{0xED,0xCE,0x00,0x00,}},
+ {0x7827,2,{0xD5,0xE8,0x00,0x00,}},
+ {0x7828,2,{0xB3,0x62,0x00,0x00,}},
+ {0x7829,2,{0xED,0xC9,0x00,0x00,}},
+ {0x782A,2,{0xB3,0x63,0x00,0x00,}},
+ {0x782B,2,{0xB3,0x64,0x00,0x00,}},
+ {0x782C,2,{0xED,0xC7,0x00,0x00,}},
+ {0x782D,2,{0xED,0xBE,0x00,0x00,}},
+ {0x782E,2,{0xB3,0x65,0x00,0x00,}},
+ {0x782F,2,{0xB3,0x66,0x00,0x00,}},
+ {0x7830,2,{0xC5,0xE9,0x00,0x00,}},
+ {0x7831,2,{0xB3,0x67,0x00,0x00,}},
+ {0x7832,2,{0xB3,0x68,0x00,0x00,}},
+ {0x7833,2,{0xB3,0x69,0x00,0x00,}},
+ {0x7834,2,{0xC6,0xC6,0x00,0x00,}},
+ {0x7835,2,{0xB3,0x6A,0x00,0x00,}},
+ {0x7836,2,{0xB3,0x6B,0x00,0x00,}},
+ {0x7837,2,{0xC9,0xE9,0x00,0x00,}},
+ {0x7838,2,{0xD4,0xD2,0x00,0x00,}},
+ {0x7839,2,{0xED,0xC1,0x00,0x00,}},
+ {0x783A,2,{0xED,0xC2,0x00,0x00,}},
+ {0x783B,2,{0xED,0xC3,0x00,0x00,}},
+ {0x783C,2,{0xED,0xC5,0x00,0x00,}},
+ {0x783D,2,{0xB3,0x6C,0x00,0x00,}},
+ {0x783E,2,{0xC0,0xF9,0x00,0x00,}},
+ {0x783F,2,{0xB3,0x6D,0x00,0x00,}},
+ {0x7840,2,{0xB4,0xA1,0x00,0x00,}},
+ {0x7841,2,{0xB3,0x6E,0x00,0x00,}},
+ {0x7842,2,{0xB3,0x6F,0x00,0x00,}},
+ {0x7843,2,{0xB3,0x70,0x00,0x00,}},
+ {0x7844,2,{0xB3,0x71,0x00,0x00,}},
+ {0x7845,2,{0xB9,0xE8,0x00,0x00,}},
+ {0x7846,2,{0xB3,0x72,0x00,0x00,}},
+ {0x7847,2,{0xED,0xD0,0x00,0x00,}},
+ {0x7848,2,{0xB3,0x73,0x00,0x00,}},
+ {0x7849,2,{0xB3,0x74,0x00,0x00,}},
+ {0x784A,2,{0xB3,0x75,0x00,0x00,}},
+ {0x784B,2,{0xB3,0x76,0x00,0x00,}},
+ {0x784C,2,{0xED,0xD1,0x00,0x00,}},
+ {0x784D,2,{0xB3,0x77,0x00,0x00,}},
+ {0x784E,2,{0xED,0xCA,0x00,0x00,}},
+ {0x784F,2,{0xB3,0x78,0x00,0x00,}},
+ {0x7850,2,{0xED,0xCF,0x00,0x00,}},
+ {0x7851,2,{0xB3,0x79,0x00,0x00,}},
+ {0x7852,2,{0xCE,0xF8,0x00,0x00,}},
+ {0x7853,2,{0xB3,0x7A,0x00,0x00,}},
+ {0x7854,2,{0xB3,0x7B,0x00,0x00,}},
+ {0x7855,2,{0xCB,0xB6,0x00,0x00,}},
+ {0x7856,2,{0xED,0xCC,0x00,0x00,}},
+ {0x7857,2,{0xED,0xCD,0x00,0x00,}},
+ {0x7858,2,{0xB3,0x7C,0x00,0x00,}},
+ {0x7859,2,{0xB3,0x7D,0x00,0x00,}},
+ {0x785A,2,{0xB3,0x7E,0x00,0x00,}},
+ {0x785B,2,{0xB3,0x80,0x00,0x00,}},
+ {0x785C,2,{0xB3,0x81,0x00,0x00,}},
+ {0x785D,2,{0xCF,0xF5,0x00,0x00,}},
+ {0x785E,2,{0xB3,0x82,0x00,0x00,}},
+ {0x785F,2,{0xB3,0x83,0x00,0x00,}},
+ {0x7860,2,{0xB3,0x84,0x00,0x00,}},
+ {0x7861,2,{0xB3,0x85,0x00,0x00,}},
+ {0x7862,2,{0xB3,0x86,0x00,0x00,}},
+ {0x7863,2,{0xB3,0x87,0x00,0x00,}},
+ {0x7864,2,{0xB3,0x88,0x00,0x00,}},
+ {0x7865,2,{0xB3,0x89,0x00,0x00,}},
+ {0x7866,2,{0xB3,0x8A,0x00,0x00,}},
+ {0x7867,2,{0xB3,0x8B,0x00,0x00,}},
+ {0x7868,2,{0xB3,0x8C,0x00,0x00,}},
+ {0x7869,2,{0xB3,0x8D,0x00,0x00,}},
+ {0x786A,2,{0xED,0xD2,0x00,0x00,}},
+ {0x786B,2,{0xC1,0xF2,0x00,0x00,}},
+ {0x786C,2,{0xD3,0xB2,0x00,0x00,}},
+ {0x786D,2,{0xED,0xCB,0x00,0x00,}},
+ {0x786E,2,{0xC8,0xB7,0x00,0x00,}},
+ {0x786F,2,{0xB3,0x8E,0x00,0x00,}},
+ {0x7870,2,{0xB3,0x8F,0x00,0x00,}},
+ {0x7871,2,{0xB3,0x90,0x00,0x00,}},
+ {0x7872,2,{0xB3,0x91,0x00,0x00,}},
+ {0x7873,2,{0xB3,0x92,0x00,0x00,}},
+ {0x7874,2,{0xB3,0x93,0x00,0x00,}},
+ {0x7875,2,{0xB3,0x94,0x00,0x00,}},
+ {0x7876,2,{0xB3,0x95,0x00,0x00,}},
+ {0x7877,2,{0xBC,0xEF,0x00,0x00,}},
+ {0x7878,2,{0xB3,0x96,0x00,0x00,}},
+ {0x7879,2,{0xB3,0x97,0x00,0x00,}},
+ {0x787A,2,{0xB3,0x98,0x00,0x00,}},
+ {0x787B,2,{0xB3,0x99,0x00,0x00,}},
+ {0x787C,2,{0xC5,0xF0,0x00,0x00,}},
+ {0x787D,2,{0xB3,0x9A,0x00,0x00,}},
+ {0x787E,2,{0xB3,0x9B,0x00,0x00,}},
+ {0x787F,2,{0xB3,0x9C,0x00,0x00,}},
+ {0x7880,2,{0xB3,0x9D,0x00,0x00,}},
+ {0x7881,2,{0xB3,0x9E,0x00,0x00,}},
+ {0x7882,2,{0xB3,0x9F,0x00,0x00,}},
+ {0x7883,2,{0xB3,0xA0,0x00,0x00,}},
+ {0x7884,2,{0xB4,0x40,0x00,0x00,}},
+ {0x7885,2,{0xB4,0x41,0x00,0x00,}},
+ {0x7886,2,{0xB4,0x42,0x00,0x00,}},
+ {0x7887,2,{0xED,0xD6,0x00,0x00,}},
+ {0x7888,2,{0xB4,0x43,0x00,0x00,}},
+ {0x7889,2,{0xB5,0xEF,0x00,0x00,}},
+ {0x788A,2,{0xB4,0x44,0x00,0x00,}},
+ {0x788B,2,{0xB4,0x45,0x00,0x00,}},
+ {0x788C,2,{0xC2,0xB5,0x00,0x00,}},
+ {0x788D,2,{0xB0,0xAD,0x00,0x00,}},
+ {0x788E,2,{0xCB,0xE9,0x00,0x00,}},
+ {0x788F,2,{0xB4,0x46,0x00,0x00,}},
+ {0x7890,2,{0xB4,0x47,0x00,0x00,}},
+ {0x7891,2,{0xB1,0xAE,0x00,0x00,}},
+ {0x7892,2,{0xB4,0x48,0x00,0x00,}},
+ {0x7893,2,{0xED,0xD4,0x00,0x00,}},
+ {0x7894,2,{0xB4,0x49,0x00,0x00,}},
+ {0x7895,2,{0xB4,0x4A,0x00,0x00,}},
+ {0x7896,2,{0xB4,0x4B,0x00,0x00,}},
+ {0x7897,2,{0xCD,0xEB,0x00,0x00,}},
+ {0x7898,2,{0xB5,0xE2,0x00,0x00,}},
+ {0x7899,2,{0xB4,0x4C,0x00,0x00,}},
+ {0x789A,2,{0xED,0xD5,0x00,0x00,}},
+ {0x789B,2,{0xED,0xD3,0x00,0x00,}},
+ {0x789C,2,{0xED,0xD7,0x00,0x00,}},
+ {0x789D,2,{0xB4,0x4D,0x00,0x00,}},
+ {0x789E,2,{0xB4,0x4E,0x00,0x00,}},
+ {0x789F,2,{0xB5,0xFA,0x00,0x00,}},
+ {0x78A0,2,{0xB4,0x4F,0x00,0x00,}},
+ {0x78A1,2,{0xED,0xD8,0x00,0x00,}},
+ {0x78A2,2,{0xB4,0x50,0x00,0x00,}},
+ {0x78A3,2,{0xED,0xD9,0x00,0x00,}},
+ {0x78A4,2,{0xB4,0x51,0x00,0x00,}},
+ {0x78A5,2,{0xED,0xDC,0x00,0x00,}},
+ {0x78A6,2,{0xB4,0x52,0x00,0x00,}},
+ {0x78A7,2,{0xB1,0xCC,0x00,0x00,}},
+ {0x78A8,2,{0xB4,0x53,0x00,0x00,}},
+ {0x78A9,2,{0xB4,0x54,0x00,0x00,}},
+ {0x78AA,2,{0xB4,0x55,0x00,0x00,}},
+ {0x78AB,2,{0xB4,0x56,0x00,0x00,}},
+ {0x78AC,2,{0xB4,0x57,0x00,0x00,}},
+ {0x78AD,2,{0xB4,0x58,0x00,0x00,}},
+ {0x78AE,2,{0xB4,0x59,0x00,0x00,}},
+ {0x78AF,2,{0xB4,0x5A,0x00,0x00,}},
+ {0x78B0,2,{0xC5,0xF6,0x00,0x00,}},
+ {0x78B1,2,{0xBC,0xEE,0x00,0x00,}},
+ {0x78B2,2,{0xED,0xDA,0x00,0x00,}},
+ {0x78B3,2,{0xCC,0xBC,0x00,0x00,}},
+ {0x78B4,2,{0xB2,0xEA,0x00,0x00,}},
+ {0x78B5,2,{0xB4,0x5B,0x00,0x00,}},
+ {0x78B6,2,{0xB4,0x5C,0x00,0x00,}},
+ {0x78B7,2,{0xB4,0x5D,0x00,0x00,}},
+ {0x78B8,2,{0xB4,0x5E,0x00,0x00,}},
+ {0x78B9,2,{0xED,0xDB,0x00,0x00,}},
+ {0x78BA,2,{0xB4,0x5F,0x00,0x00,}},
+ {0x78BB,2,{0xB4,0x60,0x00,0x00,}},
+ {0x78BC,2,{0xB4,0x61,0x00,0x00,}},
+ {0x78BD,2,{0xB4,0x62,0x00,0x00,}},
+ {0x78BE,2,{0xC4,0xEB,0x00,0x00,}},
+ {0x78BF,2,{0xB4,0x63,0x00,0x00,}},
+ {0x78C0,2,{0xB4,0x64,0x00,0x00,}},
+ {0x78C1,2,{0xB4,0xC5,0x00,0x00,}},
+ {0x78C2,2,{0xB4,0x65,0x00,0x00,}},
+ {0x78C3,2,{0xB4,0x66,0x00,0x00,}},
+ {0x78C4,2,{0xB4,0x67,0x00,0x00,}},
+ {0x78C5,2,{0xB0,0xF5,0x00,0x00,}},
+ {0x78C6,2,{0xB4,0x68,0x00,0x00,}},
+ {0x78C7,2,{0xB4,0x69,0x00,0x00,}},
+ {0x78C8,2,{0xB4,0x6A,0x00,0x00,}},
+ {0x78C9,2,{0xED,0xDF,0x00,0x00,}},
+ {0x78CA,2,{0xC0,0xDA,0x00,0x00,}},
+ {0x78CB,2,{0xB4,0xE8,0x00,0x00,}},
+ {0x78CC,2,{0xB4,0x6B,0x00,0x00,}},
+ {0x78CD,2,{0xB4,0x6C,0x00,0x00,}},
+ {0x78CE,2,{0xB4,0x6D,0x00,0x00,}},
+ {0x78CF,2,{0xB4,0x6E,0x00,0x00,}},
+ {0x78D0,2,{0xC5,0xCD,0x00,0x00,}},
+ {0x78D1,2,{0xB4,0x6F,0x00,0x00,}},
+ {0x78D2,2,{0xB4,0x70,0x00,0x00,}},
+ {0x78D3,2,{0xB4,0x71,0x00,0x00,}},
+ {0x78D4,2,{0xED,0xDD,0x00,0x00,}},
+ {0x78D5,2,{0xBF,0xC4,0x00,0x00,}},
+ {0x78D6,2,{0xB4,0x72,0x00,0x00,}},
+ {0x78D7,2,{0xB4,0x73,0x00,0x00,}},
+ {0x78D8,2,{0xB4,0x74,0x00,0x00,}},
+ {0x78D9,2,{0xED,0xDE,0x00,0x00,}},
+ {0x78DA,2,{0xB4,0x75,0x00,0x00,}},
+ {0x78DB,2,{0xB4,0x76,0x00,0x00,}},
+ {0x78DC,2,{0xB4,0x77,0x00,0x00,}},
+ {0x78DD,2,{0xB4,0x78,0x00,0x00,}},
+ {0x78DE,2,{0xB4,0x79,0x00,0x00,}},
+ {0x78DF,2,{0xB4,0x7A,0x00,0x00,}},
+ {0x78E0,2,{0xB4,0x7B,0x00,0x00,}},
+ {0x78E1,2,{0xB4,0x7C,0x00,0x00,}},
+ {0x78E2,2,{0xB4,0x7D,0x00,0x00,}},
+ {0x78E3,2,{0xB4,0x7E,0x00,0x00,}},
+ {0x78E4,2,{0xB4,0x80,0x00,0x00,}},
+ {0x78E5,2,{0xB4,0x81,0x00,0x00,}},
+ {0x78E6,2,{0xB4,0x82,0x00,0x00,}},
+ {0x78E7,2,{0xB4,0x83,0x00,0x00,}},
+ {0x78E8,2,{0xC4,0xA5,0x00,0x00,}},
+ {0x78E9,2,{0xB4,0x84,0x00,0x00,}},
+ {0x78EA,2,{0xB4,0x85,0x00,0x00,}},
+ {0x78EB,2,{0xB4,0x86,0x00,0x00,}},
+ {0x78EC,2,{0xED,0xE0,0x00,0x00,}},
+ {0x78ED,2,{0xB4,0x87,0x00,0x00,}},
+ {0x78EE,2,{0xB4,0x88,0x00,0x00,}},
+ {0x78EF,2,{0xB4,0x89,0x00,0x00,}},
+ {0x78F0,2,{0xB4,0x8A,0x00,0x00,}},
+ {0x78F1,2,{0xB4,0x8B,0x00,0x00,}},
+ {0x78F2,2,{0xED,0xE1,0x00,0x00,}},
+ {0x78F3,2,{0xB4,0x8C,0x00,0x00,}},
+ {0x78F4,2,{0xED,0xE3,0x00,0x00,}},
+ {0x78F5,2,{0xB4,0x8D,0x00,0x00,}},
+ {0x78F6,2,{0xB4,0x8E,0x00,0x00,}},
+ {0x78F7,2,{0xC1,0xD7,0x00,0x00,}},
+ {0x78F8,2,{0xB4,0x8F,0x00,0x00,}},
+ {0x78F9,2,{0xB4,0x90,0x00,0x00,}},
+ {0x78FA,2,{0xBB,0xC7,0x00,0x00,}},
+ {0x78FB,2,{0xB4,0x91,0x00,0x00,}},
+ {0x78FC,2,{0xB4,0x92,0x00,0x00,}},
+ {0x78FD,2,{0xB4,0x93,0x00,0x00,}},
+ {0x78FE,2,{0xB4,0x94,0x00,0x00,}},
+ {0x78FF,2,{0xB4,0x95,0x00,0x00,}},
+ {0x7900,2,{0xB4,0x96,0x00,0x00,}},
+ {0x7901,2,{0xBD,0xB8,0x00,0x00,}},
+ {0x7902,2,{0xB4,0x97,0x00,0x00,}},
+ {0x7903,2,{0xB4,0x98,0x00,0x00,}},
+ {0x7904,2,{0xB4,0x99,0x00,0x00,}},
+ {0x7905,2,{0xED,0xE2,0x00,0x00,}},
+ {0x7906,2,{0xB4,0x9A,0x00,0x00,}},
+ {0x7907,2,{0xB4,0x9B,0x00,0x00,}},
+ {0x7908,2,{0xB4,0x9C,0x00,0x00,}},
+ {0x7909,2,{0xB4,0x9D,0x00,0x00,}},
+ {0x790A,2,{0xB4,0x9E,0x00,0x00,}},
+ {0x790B,2,{0xB4,0x9F,0x00,0x00,}},
+ {0x790C,2,{0xB4,0xA0,0x00,0x00,}},
+ {0x790D,2,{0xB5,0x40,0x00,0x00,}},
+ {0x790E,2,{0xB5,0x41,0x00,0x00,}},
+ {0x790F,2,{0xB5,0x42,0x00,0x00,}},
+ {0x7910,2,{0xB5,0x43,0x00,0x00,}},
+ {0x7911,2,{0xB5,0x44,0x00,0x00,}},
+ {0x7912,2,{0xB5,0x45,0x00,0x00,}},
+ {0x7913,2,{0xED,0xE4,0x00,0x00,}},
+ {0x7914,2,{0xB5,0x46,0x00,0x00,}},
+ {0x7915,2,{0xB5,0x47,0x00,0x00,}},
+ {0x7916,2,{0xB5,0x48,0x00,0x00,}},
+ {0x7917,2,{0xB5,0x49,0x00,0x00,}},
+ {0x7918,2,{0xB5,0x4A,0x00,0x00,}},
+ {0x7919,2,{0xB5,0x4B,0x00,0x00,}},
+ {0x791A,2,{0xB5,0x4C,0x00,0x00,}},
+ {0x791B,2,{0xB5,0x4D,0x00,0x00,}},
+ {0x791C,2,{0xB5,0x4E,0x00,0x00,}},
+ {0x791D,2,{0xB5,0x4F,0x00,0x00,}},
+ {0x791E,2,{0xED,0xE6,0x00,0x00,}},
+ {0x791F,2,{0xB5,0x50,0x00,0x00,}},
+ {0x7920,2,{0xB5,0x51,0x00,0x00,}},
+ {0x7921,2,{0xB5,0x52,0x00,0x00,}},
+ {0x7922,2,{0xB5,0x53,0x00,0x00,}},
+ {0x7923,2,{0xB5,0x54,0x00,0x00,}},
+ {0x7924,2,{0xED,0xE5,0x00,0x00,}},
+ {0x7925,2,{0xB5,0x55,0x00,0x00,}},
+ {0x7926,2,{0xB5,0x56,0x00,0x00,}},
+ {0x7927,2,{0xB5,0x57,0x00,0x00,}},
+ {0x7928,2,{0xB5,0x58,0x00,0x00,}},
+ {0x7929,2,{0xB5,0x59,0x00,0x00,}},
+ {0x792A,2,{0xB5,0x5A,0x00,0x00,}},
+ {0x792B,2,{0xB5,0x5B,0x00,0x00,}},
+ {0x792C,2,{0xB5,0x5C,0x00,0x00,}},
+ {0x792D,2,{0xB5,0x5D,0x00,0x00,}},
+ {0x792E,2,{0xB5,0x5E,0x00,0x00,}},
+ {0x792F,2,{0xB5,0x5F,0x00,0x00,}},
+ {0x7930,2,{0xB5,0x60,0x00,0x00,}},
+ {0x7931,2,{0xB5,0x61,0x00,0x00,}},
+ {0x7932,2,{0xB5,0x62,0x00,0x00,}},
+ {0x7933,2,{0xB5,0x63,0x00,0x00,}},
+ {0x7934,2,{0xED,0xE7,0x00,0x00,}},
+ {0x7935,2,{0xB5,0x64,0x00,0x00,}},
+ {0x7936,2,{0xB5,0x65,0x00,0x00,}},
+ {0x7937,2,{0xB5,0x66,0x00,0x00,}},
+ {0x7938,2,{0xB5,0x67,0x00,0x00,}},
+ {0x7939,2,{0xB5,0x68,0x00,0x00,}},
+ {0x793A,2,{0xCA,0xBE,0x00,0x00,}},
+ {0x793B,2,{0xEC,0xEA,0x00,0x00,}},
+ {0x793C,2,{0xC0,0xF1,0x00,0x00,}},
+ {0x793D,2,{0xB5,0x69,0x00,0x00,}},
+ {0x793E,2,{0xC9,0xE7,0x00,0x00,}},
+ {0x793F,2,{0xB5,0x6A,0x00,0x00,}},
+ {0x7940,2,{0xEC,0xEB,0x00,0x00,}},
+ {0x7941,2,{0xC6,0xEE,0x00,0x00,}},
+ {0x7942,2,{0xB5,0x6B,0x00,0x00,}},
+ {0x7943,2,{0xB5,0x6C,0x00,0x00,}},
+ {0x7944,2,{0xB5,0x6D,0x00,0x00,}},
+ {0x7945,2,{0xB5,0x6E,0x00,0x00,}},
+ {0x7946,2,{0xEC,0xEC,0x00,0x00,}},
+ {0x7947,2,{0xB5,0x6F,0x00,0x00,}},
+ {0x7948,2,{0xC6,0xED,0x00,0x00,}},
+ {0x7949,2,{0xEC,0xED,0x00,0x00,}},
+ {0x794A,2,{0xB5,0x70,0x00,0x00,}},
+ {0x794B,2,{0xB5,0x71,0x00,0x00,}},
+ {0x794C,2,{0xB5,0x72,0x00,0x00,}},
+ {0x794D,2,{0xB5,0x73,0x00,0x00,}},
+ {0x794E,2,{0xB5,0x74,0x00,0x00,}},
+ {0x794F,2,{0xB5,0x75,0x00,0x00,}},
+ {0x7950,2,{0xB5,0x76,0x00,0x00,}},
+ {0x7951,2,{0xB5,0x77,0x00,0x00,}},
+ {0x7952,2,{0xB5,0x78,0x00,0x00,}},
+ {0x7953,2,{0xEC,0xF0,0x00,0x00,}},
+ {0x7954,2,{0xB5,0x79,0x00,0x00,}},
+ {0x7955,2,{0xB5,0x7A,0x00,0x00,}},
+ {0x7956,2,{0xD7,0xE6,0x00,0x00,}},
+ {0x7957,2,{0xEC,0xF3,0x00,0x00,}},
+ {0x7958,2,{0xB5,0x7B,0x00,0x00,}},
+ {0x7959,2,{0xB5,0x7C,0x00,0x00,}},
+ {0x795A,2,{0xEC,0xF1,0x00,0x00,}},
+ {0x795B,2,{0xEC,0xEE,0x00,0x00,}},
+ {0x795C,2,{0xEC,0xEF,0x00,0x00,}},
+ {0x795D,2,{0xD7,0xA3,0x00,0x00,}},
+ {0x795E,2,{0xC9,0xF1,0x00,0x00,}},
+ {0x795F,2,{0xCB,0xEE,0x00,0x00,}},
+ {0x7960,2,{0xEC,0xF4,0x00,0x00,}},
+ {0x7961,2,{0xB5,0x7D,0x00,0x00,}},
+ {0x7962,2,{0xEC,0xF2,0x00,0x00,}},
+ {0x7963,2,{0xB5,0x7E,0x00,0x00,}},
+ {0x7964,2,{0xB5,0x80,0x00,0x00,}},
+ {0x7965,2,{0xCF,0xE9,0x00,0x00,}},
+ {0x7966,2,{0xB5,0x81,0x00,0x00,}},
+ {0x7967,2,{0xEC,0xF6,0x00,0x00,}},
+ {0x7968,2,{0xC6,0xB1,0x00,0x00,}},
+ {0x7969,2,{0xB5,0x82,0x00,0x00,}},
+ {0x796A,2,{0xB5,0x83,0x00,0x00,}},
+ {0x796B,2,{0xB5,0x84,0x00,0x00,}},
+ {0x796C,2,{0xB5,0x85,0x00,0x00,}},
+ {0x796D,2,{0xBC,0xC0,0x00,0x00,}},
+ {0x796E,2,{0xB5,0x86,0x00,0x00,}},
+ {0x796F,2,{0xEC,0xF5,0x00,0x00,}},
+ {0x7970,2,{0xB5,0x87,0x00,0x00,}},
+ {0x7971,2,{0xB5,0x88,0x00,0x00,}},
+ {0x7972,2,{0xB5,0x89,0x00,0x00,}},
+ {0x7973,2,{0xB5,0x8A,0x00,0x00,}},
+ {0x7974,2,{0xB5,0x8B,0x00,0x00,}},
+ {0x7975,2,{0xB5,0x8C,0x00,0x00,}},
+ {0x7976,2,{0xB5,0x8D,0x00,0x00,}},
+ {0x7977,2,{0xB5,0xBB,0x00,0x00,}},
+ {0x7978,2,{0xBB,0xF6,0x00,0x00,}},
+ {0x7979,2,{0xB5,0x8E,0x00,0x00,}},
+ {0x797A,2,{0xEC,0xF7,0x00,0x00,}},
+ {0x797B,2,{0xB5,0x8F,0x00,0x00,}},
+ {0x797C,2,{0xB5,0x90,0x00,0x00,}},
+ {0x797D,2,{0xB5,0x91,0x00,0x00,}},
+ {0x797E,2,{0xB5,0x92,0x00,0x00,}},
+ {0x797F,2,{0xB5,0x93,0x00,0x00,}},
+ {0x7980,2,{0xD9,0xF7,0x00,0x00,}},
+ {0x7981,2,{0xBD,0xFB,0x00,0x00,}},
+ {0x7982,2,{0xB5,0x94,0x00,0x00,}},
+ {0x7983,2,{0xB5,0x95,0x00,0x00,}},
+ {0x7984,2,{0xC2,0xBB,0x00,0x00,}},
+ {0x7985,2,{0xEC,0xF8,0x00,0x00,}},
+ {0x7986,2,{0xB5,0x96,0x00,0x00,}},
+ {0x7987,2,{0xB5,0x97,0x00,0x00,}},
+ {0x7988,2,{0xB5,0x98,0x00,0x00,}},
+ {0x7989,2,{0xB5,0x99,0x00,0x00,}},
+ {0x798A,2,{0xEC,0xF9,0x00,0x00,}},
+ {0x798B,2,{0xB5,0x9A,0x00,0x00,}},
+ {0x798C,2,{0xB5,0x9B,0x00,0x00,}},
+ {0x798D,2,{0xB5,0x9C,0x00,0x00,}},
+ {0x798E,2,{0xB5,0x9D,0x00,0x00,}},
+ {0x798F,2,{0xB8,0xA3,0x00,0x00,}},
+ {0x7990,2,{0xB5,0x9E,0x00,0x00,}},
+ {0x7991,2,{0xB5,0x9F,0x00,0x00,}},
+ {0x7992,2,{0xB5,0xA0,0x00,0x00,}},
+ {0x7993,2,{0xB6,0x40,0x00,0x00,}},
+ {0x7994,2,{0xB6,0x41,0x00,0x00,}},
+ {0x7995,2,{0xB6,0x42,0x00,0x00,}},
+ {0x7996,2,{0xB6,0x43,0x00,0x00,}},
+ {0x7997,2,{0xB6,0x44,0x00,0x00,}},
+ {0x7998,2,{0xB6,0x45,0x00,0x00,}},
+ {0x7999,2,{0xB6,0x46,0x00,0x00,}},
+ {0x799A,2,{0xEC,0xFA,0x00,0x00,}},
+ {0x799B,2,{0xB6,0x47,0x00,0x00,}},
+ {0x799C,2,{0xB6,0x48,0x00,0x00,}},
+ {0x799D,2,{0xB6,0x49,0x00,0x00,}},
+ {0x799E,2,{0xB6,0x4A,0x00,0x00,}},
+ {0x799F,2,{0xB6,0x4B,0x00,0x00,}},
+ {0x79A0,2,{0xB6,0x4C,0x00,0x00,}},
+ {0x79A1,2,{0xB6,0x4D,0x00,0x00,}},
+ {0x79A2,2,{0xB6,0x4E,0x00,0x00,}},
+ {0x79A3,2,{0xB6,0x4F,0x00,0x00,}},
+ {0x79A4,2,{0xB6,0x50,0x00,0x00,}},
+ {0x79A5,2,{0xB6,0x51,0x00,0x00,}},
+ {0x79A6,2,{0xB6,0x52,0x00,0x00,}},
+ {0x79A7,2,{0xEC,0xFB,0x00,0x00,}},
+ {0x79A8,2,{0xB6,0x53,0x00,0x00,}},
+ {0x79A9,2,{0xB6,0x54,0x00,0x00,}},
+ {0x79AA,2,{0xB6,0x55,0x00,0x00,}},
+ {0x79AB,2,{0xB6,0x56,0x00,0x00,}},
+ {0x79AC,2,{0xB6,0x57,0x00,0x00,}},
+ {0x79AD,2,{0xB6,0x58,0x00,0x00,}},
+ {0x79AE,2,{0xB6,0x59,0x00,0x00,}},
+ {0x79AF,2,{0xB6,0x5A,0x00,0x00,}},
+ {0x79B0,2,{0xB6,0x5B,0x00,0x00,}},
+ {0x79B1,2,{0xB6,0x5C,0x00,0x00,}},
+ {0x79B2,2,{0xB6,0x5D,0x00,0x00,}},
+ {0x79B3,2,{0xEC,0xFC,0x00,0x00,}},
+ {0x79B4,2,{0xB6,0x5E,0x00,0x00,}},
+ {0x79B5,2,{0xB6,0x5F,0x00,0x00,}},
+ {0x79B6,2,{0xB6,0x60,0x00,0x00,}},
+ {0x79B7,2,{0xB6,0x61,0x00,0x00,}},
+ {0x79B8,2,{0xB6,0x62,0x00,0x00,}},
+ {0x79B9,2,{0xD3,0xED,0x00,0x00,}},
+ {0x79BA,2,{0xD8,0xAE,0x00,0x00,}},
+ {0x79BB,2,{0xC0,0xEB,0x00,0x00,}},
+ {0x79BC,2,{0xB6,0x63,0x00,0x00,}},
+ {0x79BD,2,{0xC7,0xDD,0x00,0x00,}},
+ {0x79BE,2,{0xBA,0xCC,0x00,0x00,}},
+ {0x79BF,2,{0xB6,0x64,0x00,0x00,}},
+ {0x79C0,2,{0xD0,0xE3,0x00,0x00,}},
+ {0x79C1,2,{0xCB,0xBD,0x00,0x00,}},
+ {0x79C2,2,{0xB6,0x65,0x00,0x00,}},
+ {0x79C3,2,{0xCD,0xBA,0x00,0x00,}},
+ {0x79C4,2,{0xB6,0x66,0x00,0x00,}},
+ {0x79C5,2,{0xB6,0x67,0x00,0x00,}},
+ {0x79C6,2,{0xB8,0xD1,0x00,0x00,}},
+ {0x79C7,2,{0xB6,0x68,0x00,0x00,}},
+ {0x79C8,2,{0xB6,0x69,0x00,0x00,}},
+ {0x79C9,2,{0xB1,0xFC,0x00,0x00,}},
+ {0x79CA,2,{0xB6,0x6A,0x00,0x00,}},
+ {0x79CB,2,{0xC7,0xEF,0x00,0x00,}},
+ {0x79CC,2,{0xB6,0x6B,0x00,0x00,}},
+ {0x79CD,2,{0xD6,0xD6,0x00,0x00,}},
+ {0x79CE,2,{0xB6,0x6C,0x00,0x00,}},
+ {0x79CF,2,{0xB6,0x6D,0x00,0x00,}},
+ {0x79D0,2,{0xB6,0x6E,0x00,0x00,}},
+ {0x79D1,2,{0xBF,0xC6,0x00,0x00,}},
+ {0x79D2,2,{0xC3,0xEB,0x00,0x00,}},
+ {0x79D3,2,{0xB6,0x6F,0x00,0x00,}},
+ {0x79D4,2,{0xB6,0x70,0x00,0x00,}},
+ {0x79D5,2,{0xEF,0xF5,0x00,0x00,}},
+ {0x79D6,2,{0xB6,0x71,0x00,0x00,}},
+ {0x79D7,2,{0xB6,0x72,0x00,0x00,}},
+ {0x79D8,2,{0xC3,0xD8,0x00,0x00,}},
+ {0x79D9,2,{0xB6,0x73,0x00,0x00,}},
+ {0x79DA,2,{0xB6,0x74,0x00,0x00,}},
+ {0x79DB,2,{0xB6,0x75,0x00,0x00,}},
+ {0x79DC,2,{0xB6,0x76,0x00,0x00,}},
+ {0x79DD,2,{0xB6,0x77,0x00,0x00,}},
+ {0x79DE,2,{0xB6,0x78,0x00,0x00,}},
+ {0x79DF,2,{0xD7,0xE2,0x00,0x00,}},
+ {0x79E0,2,{0xB6,0x79,0x00,0x00,}},
+ {0x79E1,2,{0xB6,0x7A,0x00,0x00,}},
+ {0x79E2,2,{0xB6,0x7B,0x00,0x00,}},
+ {0x79E3,2,{0xEF,0xF7,0x00,0x00,}},
+ {0x79E4,2,{0xB3,0xD3,0x00,0x00,}},
+ {0x79E5,2,{0xB6,0x7C,0x00,0x00,}},
+ {0x79E6,2,{0xC7,0xD8,0x00,0x00,}},
+ {0x79E7,2,{0xD1,0xED,0x00,0x00,}},
+ {0x79E8,2,{0xB6,0x7D,0x00,0x00,}},
+ {0x79E9,2,{0xD6,0xC8,0x00,0x00,}},
+ {0x79EA,2,{0xB6,0x7E,0x00,0x00,}},
+ {0x79EB,2,{0xEF,0xF8,0x00,0x00,}},
+ {0x79EC,2,{0xB6,0x80,0x00,0x00,}},
+ {0x79ED,2,{0xEF,0xF6,0x00,0x00,}},
+ {0x79EE,2,{0xB6,0x81,0x00,0x00,}},
+ {0x79EF,2,{0xBB,0xFD,0x00,0x00,}},
+ {0x79F0,2,{0xB3,0xC6,0x00,0x00,}},
+ {0x79F1,2,{0xB6,0x82,0x00,0x00,}},
+ {0x79F2,2,{0xB6,0x83,0x00,0x00,}},
+ {0x79F3,2,{0xB6,0x84,0x00,0x00,}},
+ {0x79F4,2,{0xB6,0x85,0x00,0x00,}},
+ {0x79F5,2,{0xB6,0x86,0x00,0x00,}},
+ {0x79F6,2,{0xB6,0x87,0x00,0x00,}},
+ {0x79F7,2,{0xB6,0x88,0x00,0x00,}},
+ {0x79F8,2,{0xBD,0xD5,0x00,0x00,}},
+ {0x79F9,2,{0xB6,0x89,0x00,0x00,}},
+ {0x79FA,2,{0xB6,0x8A,0x00,0x00,}},
+ {0x79FB,2,{0xD2,0xC6,0x00,0x00,}},
+ {0x79FC,2,{0xB6,0x8B,0x00,0x00,}},
+ {0x79FD,2,{0xBB,0xE0,0x00,0x00,}},
+ {0x79FE,2,{0xB6,0x8C,0x00,0x00,}},
+ {0x79FF,2,{0xB6,0x8D,0x00,0x00,}},
+ {0x7A00,2,{0xCF,0xA1,0x00,0x00,}},
+ {0x7A01,2,{0xB6,0x8E,0x00,0x00,}},
+ {0x7A02,2,{0xEF,0xFC,0x00,0x00,}},
+ {0x7A03,2,{0xEF,0xFB,0x00,0x00,}},
+ {0x7A04,2,{0xB6,0x8F,0x00,0x00,}},
+ {0x7A05,2,{0xB6,0x90,0x00,0x00,}},
+ {0x7A06,2,{0xEF,0xF9,0x00,0x00,}},
+ {0x7A07,2,{0xB6,0x91,0x00,0x00,}},
+ {0x7A08,2,{0xB6,0x92,0x00,0x00,}},
+ {0x7A09,2,{0xB6,0x93,0x00,0x00,}},
+ {0x7A0A,2,{0xB6,0x94,0x00,0x00,}},
+ {0x7A0B,2,{0xB3,0xCC,0x00,0x00,}},
+ {0x7A0C,2,{0xB6,0x95,0x00,0x00,}},
+ {0x7A0D,2,{0xC9,0xD4,0x00,0x00,}},
+ {0x7A0E,2,{0xCB,0xB0,0x00,0x00,}},
+ {0x7A0F,2,{0xB6,0x96,0x00,0x00,}},
+ {0x7A10,2,{0xB6,0x97,0x00,0x00,}},
+ {0x7A11,2,{0xB6,0x98,0x00,0x00,}},
+ {0x7A12,2,{0xB6,0x99,0x00,0x00,}},
+ {0x7A13,2,{0xB6,0x9A,0x00,0x00,}},
+ {0x7A14,2,{0xEF,0xFE,0x00,0x00,}},
+ {0x7A15,2,{0xB6,0x9B,0x00,0x00,}},
+ {0x7A16,2,{0xB6,0x9C,0x00,0x00,}},
+ {0x7A17,2,{0xB0,0xDE,0x00,0x00,}},
+ {0x7A18,2,{0xB6,0x9D,0x00,0x00,}},
+ {0x7A19,2,{0xB6,0x9E,0x00,0x00,}},
+ {0x7A1A,2,{0xD6,0xC9,0x00,0x00,}},
+ {0x7A1B,2,{0xB6,0x9F,0x00,0x00,}},
+ {0x7A1C,2,{0xB6,0xA0,0x00,0x00,}},
+ {0x7A1D,2,{0xB7,0x40,0x00,0x00,}},
+ {0x7A1E,2,{0xEF,0xFD,0x00,0x00,}},
+ {0x7A1F,2,{0xB7,0x41,0x00,0x00,}},
+ {0x7A20,2,{0xB3,0xED,0x00,0x00,}},
+ {0x7A21,2,{0xB7,0x42,0x00,0x00,}},
+ {0x7A22,2,{0xB7,0x43,0x00,0x00,}},
+ {0x7A23,2,{0xF6,0xD5,0x00,0x00,}},
+ {0x7A24,2,{0xB7,0x44,0x00,0x00,}},
+ {0x7A25,2,{0xB7,0x45,0x00,0x00,}},
+ {0x7A26,2,{0xB7,0x46,0x00,0x00,}},
+ {0x7A27,2,{0xB7,0x47,0x00,0x00,}},
+ {0x7A28,2,{0xB7,0x48,0x00,0x00,}},
+ {0x7A29,2,{0xB7,0x49,0x00,0x00,}},
+ {0x7A2A,2,{0xB7,0x4A,0x00,0x00,}},
+ {0x7A2B,2,{0xB7,0x4B,0x00,0x00,}},
+ {0x7A2C,2,{0xB7,0x4C,0x00,0x00,}},
+ {0x7A2D,2,{0xB7,0x4D,0x00,0x00,}},
+ {0x7A2E,2,{0xB7,0x4E,0x00,0x00,}},
+ {0x7A2F,2,{0xB7,0x4F,0x00,0x00,}},
+ {0x7A30,2,{0xB7,0x50,0x00,0x00,}},
+ {0x7A31,2,{0xB7,0x51,0x00,0x00,}},
+ {0x7A32,2,{0xB7,0x52,0x00,0x00,}},
+ {0x7A33,2,{0xCE,0xC8,0x00,0x00,}},
+ {0x7A34,2,{0xB7,0x53,0x00,0x00,}},
+ {0x7A35,2,{0xB7,0x54,0x00,0x00,}},
+ {0x7A36,2,{0xB7,0x55,0x00,0x00,}},
+ {0x7A37,2,{0xF0,0xA2,0x00,0x00,}},
+ {0x7A38,2,{0xB7,0x56,0x00,0x00,}},
+ {0x7A39,2,{0xF0,0xA1,0x00,0x00,}},
+ {0x7A3A,2,{0xB7,0x57,0x00,0x00,}},
+ {0x7A3B,2,{0xB5,0xBE,0x00,0x00,}},
+ {0x7A3C,2,{0xBC,0xDA,0x00,0x00,}},
+ {0x7A3D,2,{0xBB,0xFC,0x00,0x00,}},
+ {0x7A3E,2,{0xB7,0x58,0x00,0x00,}},
+ {0x7A3F,2,{0xB8,0xE5,0x00,0x00,}},
+ {0x7A40,2,{0xB7,0x59,0x00,0x00,}},
+ {0x7A41,2,{0xB7,0x5A,0x00,0x00,}},
+ {0x7A42,2,{0xB7,0x5B,0x00,0x00,}},
+ {0x7A43,2,{0xB7,0x5C,0x00,0x00,}},
+ {0x7A44,2,{0xB7,0x5D,0x00,0x00,}},
+ {0x7A45,2,{0xB7,0x5E,0x00,0x00,}},
+ {0x7A46,2,{0xC4,0xC2,0x00,0x00,}},
+ {0x7A47,2,{0xB7,0x5F,0x00,0x00,}},
+ {0x7A48,2,{0xB7,0x60,0x00,0x00,}},
+ {0x7A49,2,{0xB7,0x61,0x00,0x00,}},
+ {0x7A4A,2,{0xB7,0x62,0x00,0x00,}},
+ {0x7A4B,2,{0xB7,0x63,0x00,0x00,}},
+ {0x7A4C,2,{0xB7,0x64,0x00,0x00,}},
+ {0x7A4D,2,{0xB7,0x65,0x00,0x00,}},
+ {0x7A4E,2,{0xB7,0x66,0x00,0x00,}},
+ {0x7A4F,2,{0xB7,0x67,0x00,0x00,}},
+ {0x7A50,2,{0xB7,0x68,0x00,0x00,}},
+ {0x7A51,2,{0xF0,0xA3,0x00,0x00,}},
+ {0x7A52,2,{0xB7,0x69,0x00,0x00,}},
+ {0x7A53,2,{0xB7,0x6A,0x00,0x00,}},
+ {0x7A54,2,{0xB7,0x6B,0x00,0x00,}},
+ {0x7A55,2,{0xB7,0x6C,0x00,0x00,}},
+ {0x7A56,2,{0xB7,0x6D,0x00,0x00,}},
+ {0x7A57,2,{0xCB,0xEB,0x00,0x00,}},
+ {0x7A58,2,{0xB7,0x6E,0x00,0x00,}},
+ {0x7A59,2,{0xB7,0x6F,0x00,0x00,}},
+ {0x7A5A,2,{0xB7,0x70,0x00,0x00,}},
+ {0x7A5B,2,{0xB7,0x71,0x00,0x00,}},
+ {0x7A5C,2,{0xB7,0x72,0x00,0x00,}},
+ {0x7A5D,2,{0xB7,0x73,0x00,0x00,}},
+ {0x7A5E,2,{0xB7,0x74,0x00,0x00,}},
+ {0x7A5F,2,{0xB7,0x75,0x00,0x00,}},
+ {0x7A60,2,{0xB7,0x76,0x00,0x00,}},
+ {0x7A61,2,{0xB7,0x77,0x00,0x00,}},
+ {0x7A62,2,{0xB7,0x78,0x00,0x00,}},
+ {0x7A63,2,{0xB7,0x79,0x00,0x00,}},
+ {0x7A64,2,{0xB7,0x7A,0x00,0x00,}},
+ {0x7A65,2,{0xB7,0x7B,0x00,0x00,}},
+ {0x7A66,2,{0xB7,0x7C,0x00,0x00,}},
+ {0x7A67,2,{0xB7,0x7D,0x00,0x00,}},
+ {0x7A68,2,{0xB7,0x7E,0x00,0x00,}},
+ {0x7A69,2,{0xB7,0x80,0x00,0x00,}},
+ {0x7A6A,2,{0xB7,0x81,0x00,0x00,}},
+ {0x7A6B,2,{0xB7,0x82,0x00,0x00,}},
+ {0x7A6C,2,{0xB7,0x83,0x00,0x00,}},
+ {0x7A6D,2,{0xB7,0x84,0x00,0x00,}},
+ {0x7A6E,2,{0xB7,0x85,0x00,0x00,}},
+ {0x7A6F,2,{0xB7,0x86,0x00,0x00,}},
+ {0x7A70,2,{0xF0,0xA6,0x00,0x00,}},
+ {0x7A71,2,{0xB7,0x87,0x00,0x00,}},
+ {0x7A72,2,{0xB7,0x88,0x00,0x00,}},
+ {0x7A73,2,{0xB7,0x89,0x00,0x00,}},
+ {0x7A74,2,{0xD1,0xA8,0x00,0x00,}},
+ {0x7A75,2,{0xB7,0x8A,0x00,0x00,}},
+ {0x7A76,2,{0xBE,0xBF,0x00,0x00,}},
+ {0x7A77,2,{0xC7,0xEE,0x00,0x00,}},
+ {0x7A78,2,{0xF1,0xB6,0x00,0x00,}},
+ {0x7A79,2,{0xF1,0xB7,0x00,0x00,}},
+ {0x7A7A,2,{0xBF,0xD5,0x00,0x00,}},
+ {0x7A7B,2,{0xB7,0x8B,0x00,0x00,}},
+ {0x7A7C,2,{0xB7,0x8C,0x00,0x00,}},
+ {0x7A7D,2,{0xB7,0x8D,0x00,0x00,}},
+ {0x7A7E,2,{0xB7,0x8E,0x00,0x00,}},
+ {0x7A7F,2,{0xB4,0xA9,0x00,0x00,}},
+ {0x7A80,2,{0xF1,0xB8,0x00,0x00,}},
+ {0x7A81,2,{0xCD,0xBB,0x00,0x00,}},
+ {0x7A82,2,{0xB7,0x8F,0x00,0x00,}},
+ {0x7A83,2,{0xC7,0xD4,0x00,0x00,}},
+ {0x7A84,2,{0xD5,0xAD,0x00,0x00,}},
+ {0x7A85,2,{0xB7,0x90,0x00,0x00,}},
+ {0x7A86,2,{0xF1,0xB9,0x00,0x00,}},
+ {0x7A87,2,{0xB7,0x91,0x00,0x00,}},
+ {0x7A88,2,{0xF1,0xBA,0x00,0x00,}},
+ {0x7A89,2,{0xB7,0x92,0x00,0x00,}},
+ {0x7A8A,2,{0xB7,0x93,0x00,0x00,}},
+ {0x7A8B,2,{0xB7,0x94,0x00,0x00,}},
+ {0x7A8C,2,{0xB7,0x95,0x00,0x00,}},
+ {0x7A8D,2,{0xC7,0xCF,0x00,0x00,}},
+ {0x7A8E,2,{0xB7,0x96,0x00,0x00,}},
+ {0x7A8F,2,{0xB7,0x97,0x00,0x00,}},
+ {0x7A90,2,{0xB7,0x98,0x00,0x00,}},
+ {0x7A91,2,{0xD2,0xA4,0x00,0x00,}},
+ {0x7A92,2,{0xD6,0xCF,0x00,0x00,}},
+ {0x7A93,2,{0xB7,0x99,0x00,0x00,}},
+ {0x7A94,2,{0xB7,0x9A,0x00,0x00,}},
+ {0x7A95,2,{0xF1,0xBB,0x00,0x00,}},
+ {0x7A96,2,{0xBD,0xD1,0x00,0x00,}},
+ {0x7A97,2,{0xB4,0xB0,0x00,0x00,}},
+ {0x7A98,2,{0xBE,0xBD,0x00,0x00,}},
+ {0x7A99,2,{0xB7,0x9B,0x00,0x00,}},
+ {0x7A9A,2,{0xB7,0x9C,0x00,0x00,}},
+ {0x7A9B,2,{0xB7,0x9D,0x00,0x00,}},
+ {0x7A9C,2,{0xB4,0xDC,0x00,0x00,}},
+ {0x7A9D,2,{0xCE,0xD1,0x00,0x00,}},
+ {0x7A9E,2,{0xB7,0x9E,0x00,0x00,}},
+ {0x7A9F,2,{0xBF,0xDF,0x00,0x00,}},
+ {0x7AA0,2,{0xF1,0xBD,0x00,0x00,}},
+ {0x7AA1,2,{0xB7,0x9F,0x00,0x00,}},
+ {0x7AA2,2,{0xB7,0xA0,0x00,0x00,}},
+ {0x7AA3,2,{0xB8,0x40,0x00,0x00,}},
+ {0x7AA4,2,{0xB8,0x41,0x00,0x00,}},
+ {0x7AA5,2,{0xBF,0xFA,0x00,0x00,}},
+ {0x7AA6,2,{0xF1,0xBC,0x00,0x00,}},
+ {0x7AA7,2,{0xB8,0x42,0x00,0x00,}},
+ {0x7AA8,2,{0xF1,0xBF,0x00,0x00,}},
+ {0x7AA9,2,{0xB8,0x43,0x00,0x00,}},
+ {0x7AAA,2,{0xB8,0x44,0x00,0x00,}},
+ {0x7AAB,2,{0xB8,0x45,0x00,0x00,}},
+ {0x7AAC,2,{0xF1,0xBE,0x00,0x00,}},
+ {0x7AAD,2,{0xF1,0xC0,0x00,0x00,}},
+ {0x7AAE,2,{0xB8,0x46,0x00,0x00,}},
+ {0x7AAF,2,{0xB8,0x47,0x00,0x00,}},
+ {0x7AB0,2,{0xB8,0x48,0x00,0x00,}},
+ {0x7AB1,2,{0xB8,0x49,0x00,0x00,}},
+ {0x7AB2,2,{0xB8,0x4A,0x00,0x00,}},
+ {0x7AB3,2,{0xF1,0xC1,0x00,0x00,}},
+ {0x7AB4,2,{0xB8,0x4B,0x00,0x00,}},
+ {0x7AB5,2,{0xB8,0x4C,0x00,0x00,}},
+ {0x7AB6,2,{0xB8,0x4D,0x00,0x00,}},
+ {0x7AB7,2,{0xB8,0x4E,0x00,0x00,}},
+ {0x7AB8,2,{0xB8,0x4F,0x00,0x00,}},
+ {0x7AB9,2,{0xB8,0x50,0x00,0x00,}},
+ {0x7ABA,2,{0xB8,0x51,0x00,0x00,}},
+ {0x7ABB,2,{0xB8,0x52,0x00,0x00,}},
+ {0x7ABC,2,{0xB8,0x53,0x00,0x00,}},
+ {0x7ABD,2,{0xB8,0x54,0x00,0x00,}},
+ {0x7ABE,2,{0xB8,0x55,0x00,0x00,}},
+ {0x7ABF,2,{0xC1,0xFE,0x00,0x00,}},
+ {0x7AC0,2,{0xB8,0x56,0x00,0x00,}},
+ {0x7AC1,2,{0xB8,0x57,0x00,0x00,}},
+ {0x7AC2,2,{0xB8,0x58,0x00,0x00,}},
+ {0x7AC3,2,{0xB8,0x59,0x00,0x00,}},
+ {0x7AC4,2,{0xB8,0x5A,0x00,0x00,}},
+ {0x7AC5,2,{0xB8,0x5B,0x00,0x00,}},
+ {0x7AC6,2,{0xB8,0x5C,0x00,0x00,}},
+ {0x7AC7,2,{0xB8,0x5D,0x00,0x00,}},
+ {0x7AC8,2,{0xB8,0x5E,0x00,0x00,}},
+ {0x7AC9,2,{0xB8,0x5F,0x00,0x00,}},
+ {0x7ACA,2,{0xB8,0x60,0x00,0x00,}},
+ {0x7ACB,2,{0xC1,0xA2,0x00,0x00,}},
+ {0x7ACC,2,{0xB8,0x61,0x00,0x00,}},
+ {0x7ACD,2,{0xB8,0x62,0x00,0x00,}},
+ {0x7ACE,2,{0xB8,0x63,0x00,0x00,}},
+ {0x7ACF,2,{0xB8,0x64,0x00,0x00,}},
+ {0x7AD0,2,{0xB8,0x65,0x00,0x00,}},
+ {0x7AD1,2,{0xB8,0x66,0x00,0x00,}},
+ {0x7AD2,2,{0xB8,0x67,0x00,0x00,}},
+ {0x7AD3,2,{0xB8,0x68,0x00,0x00,}},
+ {0x7AD4,2,{0xB8,0x69,0x00,0x00,}},
+ {0x7AD5,2,{0xB8,0x6A,0x00,0x00,}},
+ {0x7AD6,2,{0xCA,0xFA,0x00,0x00,}},
+ {0x7AD7,2,{0xB8,0x6B,0x00,0x00,}},
+ {0x7AD8,2,{0xB8,0x6C,0x00,0x00,}},
+ {0x7AD9,2,{0xD5,0xBE,0x00,0x00,}},
+ {0x7ADA,2,{0xB8,0x6D,0x00,0x00,}},
+ {0x7ADB,2,{0xB8,0x6E,0x00,0x00,}},
+ {0x7ADC,2,{0xB8,0x6F,0x00,0x00,}},
+ {0x7ADD,2,{0xB8,0x70,0x00,0x00,}},
+ {0x7ADE,2,{0xBE,0xBA,0x00,0x00,}},
+ {0x7ADF,2,{0xBE,0xB9,0x00,0x00,}},
+ {0x7AE0,2,{0xD5,0xC2,0x00,0x00,}},
+ {0x7AE1,2,{0xB8,0x71,0x00,0x00,}},
+ {0x7AE2,2,{0xB8,0x72,0x00,0x00,}},
+ {0x7AE3,2,{0xBF,0xA2,0x00,0x00,}},
+ {0x7AE4,2,{0xB8,0x73,0x00,0x00,}},
+ {0x7AE5,2,{0xCD,0xAF,0x00,0x00,}},
+ {0x7AE6,2,{0xF1,0xB5,0x00,0x00,}},
+ {0x7AE7,2,{0xB8,0x74,0x00,0x00,}},
+ {0x7AE8,2,{0xB8,0x75,0x00,0x00,}},
+ {0x7AE9,2,{0xB8,0x76,0x00,0x00,}},
+ {0x7AEA,2,{0xB8,0x77,0x00,0x00,}},
+ {0x7AEB,2,{0xB8,0x78,0x00,0x00,}},
+ {0x7AEC,2,{0xB8,0x79,0x00,0x00,}},
+ {0x7AED,2,{0xBD,0xDF,0x00,0x00,}},
+ {0x7AEE,2,{0xB8,0x7A,0x00,0x00,}},
+ {0x7AEF,2,{0xB6,0xCB,0x00,0x00,}},
+ {0x7AF0,2,{0xB8,0x7B,0x00,0x00,}},
+ {0x7AF1,2,{0xB8,0x7C,0x00,0x00,}},
+ {0x7AF2,2,{0xB8,0x7D,0x00,0x00,}},
+ {0x7AF3,2,{0xB8,0x7E,0x00,0x00,}},
+ {0x7AF4,2,{0xB8,0x80,0x00,0x00,}},
+ {0x7AF5,2,{0xB8,0x81,0x00,0x00,}},
+ {0x7AF6,2,{0xB8,0x82,0x00,0x00,}},
+ {0x7AF7,2,{0xB8,0x83,0x00,0x00,}},
+ {0x7AF8,2,{0xB8,0x84,0x00,0x00,}},
+ {0x7AF9,2,{0xD6,0xF1,0x00,0x00,}},
+ {0x7AFA,2,{0xF3,0xC3,0x00,0x00,}},
+ {0x7AFB,2,{0xB8,0x85,0x00,0x00,}},
+ {0x7AFC,2,{0xB8,0x86,0x00,0x00,}},
+ {0x7AFD,2,{0xF3,0xC4,0x00,0x00,}},
+ {0x7AFE,2,{0xB8,0x87,0x00,0x00,}},
+ {0x7AFF,2,{0xB8,0xCD,0x00,0x00,}},
+ {0x7B00,2,{0xB8,0x88,0x00,0x00,}},
+ {0x7B01,2,{0xB8,0x89,0x00,0x00,}},
+ {0x7B02,2,{0xB8,0x8A,0x00,0x00,}},
+ {0x7B03,2,{0xF3,0xC6,0x00,0x00,}},
+ {0x7B04,2,{0xF3,0xC7,0x00,0x00,}},
+ {0x7B05,2,{0xB8,0x8B,0x00,0x00,}},
+ {0x7B06,2,{0xB0,0xCA,0x00,0x00,}},
+ {0x7B07,2,{0xB8,0x8C,0x00,0x00,}},
+ {0x7B08,2,{0xF3,0xC5,0x00,0x00,}},
+ {0x7B09,2,{0xB8,0x8D,0x00,0x00,}},
+ {0x7B0A,2,{0xF3,0xC9,0x00,0x00,}},
+ {0x7B0B,2,{0xCB,0xF1,0x00,0x00,}},
+ {0x7B0C,2,{0xB8,0x8E,0x00,0x00,}},
+ {0x7B0D,2,{0xB8,0x8F,0x00,0x00,}},
+ {0x7B0E,2,{0xB8,0x90,0x00,0x00,}},
+ {0x7B0F,2,{0xF3,0xCB,0x00,0x00,}},
+ {0x7B10,2,{0xB8,0x91,0x00,0x00,}},
+ {0x7B11,2,{0xD0,0xA6,0x00,0x00,}},
+ {0x7B12,2,{0xB8,0x92,0x00,0x00,}},
+ {0x7B13,2,{0xB8,0x93,0x00,0x00,}},
+ {0x7B14,2,{0xB1,0xCA,0x00,0x00,}},
+ {0x7B15,2,{0xF3,0xC8,0x00,0x00,}},
+ {0x7B16,2,{0xB8,0x94,0x00,0x00,}},
+ {0x7B17,2,{0xB8,0x95,0x00,0x00,}},
+ {0x7B18,2,{0xB8,0x96,0x00,0x00,}},
+ {0x7B19,2,{0xF3,0xCF,0x00,0x00,}},
+ {0x7B1A,2,{0xB8,0x97,0x00,0x00,}},
+ {0x7B1B,2,{0xB5,0xD1,0x00,0x00,}},
+ {0x7B1C,2,{0xB8,0x98,0x00,0x00,}},
+ {0x7B1D,2,{0xB8,0x99,0x00,0x00,}},
+ {0x7B1E,2,{0xF3,0xD7,0x00,0x00,}},
+ {0x7B1F,2,{0xB8,0x9A,0x00,0x00,}},
+ {0x7B20,2,{0xF3,0xD2,0x00,0x00,}},
+ {0x7B21,2,{0xB8,0x9B,0x00,0x00,}},
+ {0x7B22,2,{0xB8,0x9C,0x00,0x00,}},
+ {0x7B23,2,{0xB8,0x9D,0x00,0x00,}},
+ {0x7B24,2,{0xF3,0xD4,0x00,0x00,}},
+ {0x7B25,2,{0xF3,0xD3,0x00,0x00,}},
+ {0x7B26,2,{0xB7,0xFB,0x00,0x00,}},
+ {0x7B27,2,{0xB8,0x9E,0x00,0x00,}},
+ {0x7B28,2,{0xB1,0xBF,0x00,0x00,}},
+ {0x7B29,2,{0xB8,0x9F,0x00,0x00,}},
+ {0x7B2A,2,{0xF3,0xCE,0x00,0x00,}},
+ {0x7B2B,2,{0xF3,0xCA,0x00,0x00,}},
+ {0x7B2C,2,{0xB5,0xDA,0x00,0x00,}},
+ {0x7B2D,2,{0xB8,0xA0,0x00,0x00,}},
+ {0x7B2E,2,{0xF3,0xD0,0x00,0x00,}},
+ {0x7B2F,2,{0xB9,0x40,0x00,0x00,}},
+ {0x7B30,2,{0xB9,0x41,0x00,0x00,}},
+ {0x7B31,2,{0xF3,0xD1,0x00,0x00,}},
+ {0x7B32,2,{0xB9,0x42,0x00,0x00,}},
+ {0x7B33,2,{0xF3,0xD5,0x00,0x00,}},
+ {0x7B34,2,{0xB9,0x43,0x00,0x00,}},
+ {0x7B35,2,{0xB9,0x44,0x00,0x00,}},
+ {0x7B36,2,{0xB9,0x45,0x00,0x00,}},
+ {0x7B37,2,{0xB9,0x46,0x00,0x00,}},
+ {0x7B38,2,{0xF3,0xCD,0x00,0x00,}},
+ {0x7B39,2,{0xB9,0x47,0x00,0x00,}},
+ {0x7B3A,2,{0xBC,0xE3,0x00,0x00,}},
+ {0x7B3B,2,{0xB9,0x48,0x00,0x00,}},
+ {0x7B3C,2,{0xC1,0xFD,0x00,0x00,}},
+ {0x7B3D,2,{0xB9,0x49,0x00,0x00,}},
+ {0x7B3E,2,{0xF3,0xD6,0x00,0x00,}},
+ {0x7B3F,2,{0xB9,0x4A,0x00,0x00,}},
+ {0x7B40,2,{0xB9,0x4B,0x00,0x00,}},
+ {0x7B41,2,{0xB9,0x4C,0x00,0x00,}},
+ {0x7B42,2,{0xB9,0x4D,0x00,0x00,}},
+ {0x7B43,2,{0xB9,0x4E,0x00,0x00,}},
+ {0x7B44,2,{0xB9,0x4F,0x00,0x00,}},
+ {0x7B45,2,{0xF3,0xDA,0x00,0x00,}},
+ {0x7B46,2,{0xB9,0x50,0x00,0x00,}},
+ {0x7B47,2,{0xF3,0xCC,0x00,0x00,}},
+ {0x7B48,2,{0xB9,0x51,0x00,0x00,}},
+ {0x7B49,2,{0xB5,0xC8,0x00,0x00,}},
+ {0x7B4A,2,{0xB9,0x52,0x00,0x00,}},
+ {0x7B4B,2,{0xBD,0xEE,0x00,0x00,}},
+ {0x7B4C,2,{0xF3,0xDC,0x00,0x00,}},
+ {0x7B4D,2,{0xB9,0x53,0x00,0x00,}},
+ {0x7B4E,2,{0xB9,0x54,0x00,0x00,}},
+ {0x7B4F,2,{0xB7,0xA4,0x00,0x00,}},
+ {0x7B50,2,{0xBF,0xF0,0x00,0x00,}},
+ {0x7B51,2,{0xD6,0xFE,0x00,0x00,}},
+ {0x7B52,2,{0xCD,0xB2,0x00,0x00,}},
+ {0x7B53,2,{0xB9,0x55,0x00,0x00,}},
+ {0x7B54,2,{0xB4,0xF0,0x00,0x00,}},
+ {0x7B55,2,{0xB9,0x56,0x00,0x00,}},
+ {0x7B56,2,{0xB2,0xDF,0x00,0x00,}},
+ {0x7B57,2,{0xB9,0x57,0x00,0x00,}},
+ {0x7B58,2,{0xF3,0xD8,0x00,0x00,}},
+ {0x7B59,2,{0xB9,0x58,0x00,0x00,}},
+ {0x7B5A,2,{0xF3,0xD9,0x00,0x00,}},
+ {0x7B5B,2,{0xC9,0xB8,0x00,0x00,}},
+ {0x7B5C,2,{0xB9,0x59,0x00,0x00,}},
+ {0x7B5D,2,{0xF3,0xDD,0x00,0x00,}},
+ {0x7B5E,2,{0xB9,0x5A,0x00,0x00,}},
+ {0x7B5F,2,{0xB9,0x5B,0x00,0x00,}},
+ {0x7B60,2,{0xF3,0xDE,0x00,0x00,}},
+ {0x7B61,2,{0xB9,0x5C,0x00,0x00,}},
+ {0x7B62,2,{0xF3,0xE1,0x00,0x00,}},
+ {0x7B63,2,{0xB9,0x5D,0x00,0x00,}},
+ {0x7B64,2,{0xB9,0x5E,0x00,0x00,}},
+ {0x7B65,2,{0xB9,0x5F,0x00,0x00,}},
+ {0x7B66,2,{0xB9,0x60,0x00,0x00,}},
+ {0x7B67,2,{0xB9,0x61,0x00,0x00,}},
+ {0x7B68,2,{0xB9,0x62,0x00,0x00,}},
+ {0x7B69,2,{0xB9,0x63,0x00,0x00,}},
+ {0x7B6A,2,{0xB9,0x64,0x00,0x00,}},
+ {0x7B6B,2,{0xB9,0x65,0x00,0x00,}},
+ {0x7B6C,2,{0xB9,0x66,0x00,0x00,}},
+ {0x7B6D,2,{0xB9,0x67,0x00,0x00,}},
+ {0x7B6E,2,{0xF3,0xDF,0x00,0x00,}},
+ {0x7B6F,2,{0xB9,0x68,0x00,0x00,}},
+ {0x7B70,2,{0xB9,0x69,0x00,0x00,}},
+ {0x7B71,2,{0xF3,0xE3,0x00,0x00,}},
+ {0x7B72,2,{0xF3,0xE2,0x00,0x00,}},
+ {0x7B73,2,{0xB9,0x6A,0x00,0x00,}},
+ {0x7B74,2,{0xB9,0x6B,0x00,0x00,}},
+ {0x7B75,2,{0xF3,0xDB,0x00,0x00,}},
+ {0x7B76,2,{0xB9,0x6C,0x00,0x00,}},
+ {0x7B77,2,{0xBF,0xEA,0x00,0x00,}},
+ {0x7B78,2,{0xB9,0x6D,0x00,0x00,}},
+ {0x7B79,2,{0xB3,0xEF,0x00,0x00,}},
+ {0x7B7A,2,{0xB9,0x6E,0x00,0x00,}},
+ {0x7B7B,2,{0xF3,0xE0,0x00,0x00,}},
+ {0x7B7C,2,{0xB9,0x6F,0x00,0x00,}},
+ {0x7B7D,2,{0xB9,0x70,0x00,0x00,}},
+ {0x7B7E,2,{0xC7,0xA9,0x00,0x00,}},
+ {0x7B7F,2,{0xB9,0x71,0x00,0x00,}},
+ {0x7B80,2,{0xBC,0xF2,0x00,0x00,}},
+ {0x7B81,2,{0xB9,0x72,0x00,0x00,}},
+ {0x7B82,2,{0xB9,0x73,0x00,0x00,}},
+ {0x7B83,2,{0xB9,0x74,0x00,0x00,}},
+ {0x7B84,2,{0xB9,0x75,0x00,0x00,}},
+ {0x7B85,2,{0xF3,0xEB,0x00,0x00,}},
+ {0x7B86,2,{0xB9,0x76,0x00,0x00,}},
+ {0x7B87,2,{0xB9,0x77,0x00,0x00,}},
+ {0x7B88,2,{0xB9,0x78,0x00,0x00,}},
+ {0x7B89,2,{0xB9,0x79,0x00,0x00,}},
+ {0x7B8A,2,{0xB9,0x7A,0x00,0x00,}},
+ {0x7B8B,2,{0xB9,0x7B,0x00,0x00,}},
+ {0x7B8C,2,{0xB9,0x7C,0x00,0x00,}},
+ {0x7B8D,2,{0xB9,0xBF,0x00,0x00,}},
+ {0x7B8E,2,{0xB9,0x7D,0x00,0x00,}},
+ {0x7B8F,2,{0xB9,0x7E,0x00,0x00,}},
+ {0x7B90,2,{0xF3,0xE4,0x00,0x00,}},
+ {0x7B91,2,{0xB9,0x80,0x00,0x00,}},
+ {0x7B92,2,{0xB9,0x81,0x00,0x00,}},
+ {0x7B93,2,{0xB9,0x82,0x00,0x00,}},
+ {0x7B94,2,{0xB2,0xAD,0x00,0x00,}},
+ {0x7B95,2,{0xBB,0xFE,0x00,0x00,}},
+ {0x7B96,2,{0xB9,0x83,0x00,0x00,}},
+ {0x7B97,2,{0xCB,0xE3,0x00,0x00,}},
+ {0x7B98,2,{0xB9,0x84,0x00,0x00,}},
+ {0x7B99,2,{0xB9,0x85,0x00,0x00,}},
+ {0x7B9A,2,{0xB9,0x86,0x00,0x00,}},
+ {0x7B9B,2,{0xB9,0x87,0x00,0x00,}},
+ {0x7B9C,2,{0xF3,0xED,0x00,0x00,}},
+ {0x7B9D,2,{0xF3,0xE9,0x00,0x00,}},
+ {0x7B9E,2,{0xB9,0x88,0x00,0x00,}},
+ {0x7B9F,2,{0xB9,0x89,0x00,0x00,}},
+ {0x7BA0,2,{0xB9,0x8A,0x00,0x00,}},
+ {0x7BA1,2,{0xB9,0xDC,0x00,0x00,}},
+ {0x7BA2,2,{0xF3,0xEE,0x00,0x00,}},
+ {0x7BA3,2,{0xB9,0x8B,0x00,0x00,}},
+ {0x7BA4,2,{0xB9,0x8C,0x00,0x00,}},
+ {0x7BA5,2,{0xB9,0x8D,0x00,0x00,}},
+ {0x7BA6,2,{0xF3,0xE5,0x00,0x00,}},
+ {0x7BA7,2,{0xF3,0xE6,0x00,0x00,}},
+ {0x7BA8,2,{0xF3,0xEA,0x00,0x00,}},
+ {0x7BA9,2,{0xC2,0xE1,0x00,0x00,}},
+ {0x7BAA,2,{0xF3,0xEC,0x00,0x00,}},
+ {0x7BAB,2,{0xF3,0xEF,0x00,0x00,}},
+ {0x7BAC,2,{0xF3,0xE8,0x00,0x00,}},
+ {0x7BAD,2,{0xBC,0xFD,0x00,0x00,}},
+ {0x7BAE,2,{0xB9,0x8E,0x00,0x00,}},
+ {0x7BAF,2,{0xB9,0x8F,0x00,0x00,}},
+ {0x7BB0,2,{0xB9,0x90,0x00,0x00,}},
+ {0x7BB1,2,{0xCF,0xE4,0x00,0x00,}},
+ {0x7BB2,2,{0xB9,0x91,0x00,0x00,}},
+ {0x7BB3,2,{0xB9,0x92,0x00,0x00,}},
+ {0x7BB4,2,{0xF3,0xF0,0x00,0x00,}},
+ {0x7BB5,2,{0xB9,0x93,0x00,0x00,}},
+ {0x7BB6,2,{0xB9,0x94,0x00,0x00,}},
+ {0x7BB7,2,{0xB9,0x95,0x00,0x00,}},
+ {0x7BB8,2,{0xF3,0xE7,0x00,0x00,}},
+ {0x7BB9,2,{0xB9,0x96,0x00,0x00,}},
+ {0x7BBA,2,{0xB9,0x97,0x00,0x00,}},
+ {0x7BBB,2,{0xB9,0x98,0x00,0x00,}},
+ {0x7BBC,2,{0xB9,0x99,0x00,0x00,}},
+ {0x7BBD,2,{0xB9,0x9A,0x00,0x00,}},
+ {0x7BBE,2,{0xB9,0x9B,0x00,0x00,}},
+ {0x7BBF,2,{0xB9,0x9C,0x00,0x00,}},
+ {0x7BC0,2,{0xB9,0x9D,0x00,0x00,}},
+ {0x7BC1,2,{0xF3,0xF2,0x00,0x00,}},
+ {0x7BC2,2,{0xB9,0x9E,0x00,0x00,}},
+ {0x7BC3,2,{0xB9,0x9F,0x00,0x00,}},
+ {0x7BC4,2,{0xB9,0xA0,0x00,0x00,}},
+ {0x7BC5,2,{0xBA,0x40,0x00,0x00,}},
+ {0x7BC6,2,{0xD7,0xAD,0x00,0x00,}},
+ {0x7BC7,2,{0xC6,0xAA,0x00,0x00,}},
+ {0x7BC8,2,{0xBA,0x41,0x00,0x00,}},
+ {0x7BC9,2,{0xBA,0x42,0x00,0x00,}},
+ {0x7BCA,2,{0xBA,0x43,0x00,0x00,}},
+ {0x7BCB,2,{0xBA,0x44,0x00,0x00,}},
+ {0x7BCC,2,{0xF3,0xF3,0x00,0x00,}},
+ {0x7BCD,2,{0xBA,0x45,0x00,0x00,}},
+ {0x7BCE,2,{0xBA,0x46,0x00,0x00,}},
+ {0x7BCF,2,{0xBA,0x47,0x00,0x00,}},
+ {0x7BD0,2,{0xBA,0x48,0x00,0x00,}},
+ {0x7BD1,2,{0xF3,0xF1,0x00,0x00,}},
+ {0x7BD2,2,{0xBA,0x49,0x00,0x00,}},
+ {0x7BD3,2,{0xC2,0xA8,0x00,0x00,}},
+ {0x7BD4,2,{0xBA,0x4A,0x00,0x00,}},
+ {0x7BD5,2,{0xBA,0x4B,0x00,0x00,}},
+ {0x7BD6,2,{0xBA,0x4C,0x00,0x00,}},
+ {0x7BD7,2,{0xBA,0x4D,0x00,0x00,}},
+ {0x7BD8,2,{0xBA,0x4E,0x00,0x00,}},
+ {0x7BD9,2,{0xB8,0xDD,0x00,0x00,}},
+ {0x7BDA,2,{0xF3,0xF5,0x00,0x00,}},
+ {0x7BDB,2,{0xBA,0x4F,0x00,0x00,}},
+ {0x7BDC,2,{0xBA,0x50,0x00,0x00,}},
+ {0x7BDD,2,{0xF3,0xF4,0x00,0x00,}},
+ {0x7BDE,2,{0xBA,0x51,0x00,0x00,}},
+ {0x7BDF,2,{0xBA,0x52,0x00,0x00,}},
+ {0x7BE0,2,{0xBA,0x53,0x00,0x00,}},
+ {0x7BE1,2,{0xB4,0xDB,0x00,0x00,}},
+ {0x7BE2,2,{0xBA,0x54,0x00,0x00,}},
+ {0x7BE3,2,{0xBA,0x55,0x00,0x00,}},
+ {0x7BE4,2,{0xBA,0x56,0x00,0x00,}},
+ {0x7BE5,2,{0xF3,0xF6,0x00,0x00,}},
+ {0x7BE6,2,{0xF3,0xF7,0x00,0x00,}},
+ {0x7BE7,2,{0xBA,0x57,0x00,0x00,}},
+ {0x7BE8,2,{0xBA,0x58,0x00,0x00,}},
+ {0x7BE9,2,{0xBA,0x59,0x00,0x00,}},
+ {0x7BEA,2,{0xF3,0xF8,0x00,0x00,}},
+ {0x7BEB,2,{0xBA,0x5A,0x00,0x00,}},
+ {0x7BEC,2,{0xBA,0x5B,0x00,0x00,}},
+ {0x7BED,2,{0xBA,0x5C,0x00,0x00,}},
+ {0x7BEE,2,{0xC0,0xBA,0x00,0x00,}},
+ {0x7BEF,2,{0xBA,0x5D,0x00,0x00,}},
+ {0x7BF0,2,{0xBA,0x5E,0x00,0x00,}},
+ {0x7BF1,2,{0xC0,0xE9,0x00,0x00,}},
+ {0x7BF2,2,{0xBA,0x5F,0x00,0x00,}},
+ {0x7BF3,2,{0xBA,0x60,0x00,0x00,}},
+ {0x7BF4,2,{0xBA,0x61,0x00,0x00,}},
+ {0x7BF5,2,{0xBA,0x62,0x00,0x00,}},
+ {0x7BF6,2,{0xBA,0x63,0x00,0x00,}},
+ {0x7BF7,2,{0xC5,0xF1,0x00,0x00,}},
+ {0x7BF8,2,{0xBA,0x64,0x00,0x00,}},
+ {0x7BF9,2,{0xBA,0x65,0x00,0x00,}},
+ {0x7BFA,2,{0xBA,0x66,0x00,0x00,}},
+ {0x7BFB,2,{0xBA,0x67,0x00,0x00,}},
+ {0x7BFC,2,{0xF3,0xFB,0x00,0x00,}},
+ {0x7BFD,2,{0xBA,0x68,0x00,0x00,}},
+ {0x7BFE,2,{0xF3,0xFA,0x00,0x00,}},
+ {0x7BFF,2,{0xBA,0x69,0x00,0x00,}},
+ {0x7C00,2,{0xBA,0x6A,0x00,0x00,}},
+ {0x7C01,2,{0xBA,0x6B,0x00,0x00,}},
+ {0x7C02,2,{0xBA,0x6C,0x00,0x00,}},
+ {0x7C03,2,{0xBA,0x6D,0x00,0x00,}},
+ {0x7C04,2,{0xBA,0x6E,0x00,0x00,}},
+ {0x7C05,2,{0xBA,0x6F,0x00,0x00,}},
+ {0x7C06,2,{0xBA,0x70,0x00,0x00,}},
+ {0x7C07,2,{0xB4,0xD8,0x00,0x00,}},
+ {0x7C08,2,{0xBA,0x71,0x00,0x00,}},
+ {0x7C09,2,{0xBA,0x72,0x00,0x00,}},
+ {0x7C0A,2,{0xBA,0x73,0x00,0x00,}},
+ {0x7C0B,2,{0xF3,0xFE,0x00,0x00,}},
+ {0x7C0C,2,{0xF3,0xF9,0x00,0x00,}},
+ {0x7C0D,2,{0xBA,0x74,0x00,0x00,}},
+ {0x7C0E,2,{0xBA,0x75,0x00,0x00,}},
+ {0x7C0F,2,{0xF3,0xFC,0x00,0x00,}},
+ {0x7C10,2,{0xBA,0x76,0x00,0x00,}},
+ {0x7C11,2,{0xBA,0x77,0x00,0x00,}},
+ {0x7C12,2,{0xBA,0x78,0x00,0x00,}},
+ {0x7C13,2,{0xBA,0x79,0x00,0x00,}},
+ {0x7C14,2,{0xBA,0x7A,0x00,0x00,}},
+ {0x7C15,2,{0xBA,0x7B,0x00,0x00,}},
+ {0x7C16,2,{0xF3,0xFD,0x00,0x00,}},
+ {0x7C17,2,{0xBA,0x7C,0x00,0x00,}},
+ {0x7C18,2,{0xBA,0x7D,0x00,0x00,}},
+ {0x7C19,2,{0xBA,0x7E,0x00,0x00,}},
+ {0x7C1A,2,{0xBA,0x80,0x00,0x00,}},
+ {0x7C1B,2,{0xBA,0x81,0x00,0x00,}},
+ {0x7C1C,2,{0xBA,0x82,0x00,0x00,}},
+ {0x7C1D,2,{0xBA,0x83,0x00,0x00,}},
+ {0x7C1E,2,{0xBA,0x84,0x00,0x00,}},
+ {0x7C1F,2,{0xF4,0xA1,0x00,0x00,}},
+ {0x7C20,2,{0xBA,0x85,0x00,0x00,}},
+ {0x7C21,2,{0xBA,0x86,0x00,0x00,}},
+ {0x7C22,2,{0xBA,0x87,0x00,0x00,}},
+ {0x7C23,2,{0xBA,0x88,0x00,0x00,}},
+ {0x7C24,2,{0xBA,0x89,0x00,0x00,}},
+ {0x7C25,2,{0xBA,0x8A,0x00,0x00,}},
+ {0x7C26,2,{0xF4,0xA3,0x00,0x00,}},
+ {0x7C27,2,{0xBB,0xC9,0x00,0x00,}},
+ {0x7C28,2,{0xBA,0x8B,0x00,0x00,}},
+ {0x7C29,2,{0xBA,0x8C,0x00,0x00,}},
+ {0x7C2A,2,{0xF4,0xA2,0x00,0x00,}},
+ {0x7C2B,2,{0xBA,0x8D,0x00,0x00,}},
+ {0x7C2C,2,{0xBA,0x8E,0x00,0x00,}},
+ {0x7C2D,2,{0xBA,0x8F,0x00,0x00,}},
+ {0x7C2E,2,{0xBA,0x90,0x00,0x00,}},
+ {0x7C2F,2,{0xBA,0x91,0x00,0x00,}},
+ {0x7C30,2,{0xBA,0x92,0x00,0x00,}},
+ {0x7C31,2,{0xBA,0x93,0x00,0x00,}},
+ {0x7C32,2,{0xBA,0x94,0x00,0x00,}},
+ {0x7C33,2,{0xBA,0x95,0x00,0x00,}},
+ {0x7C34,2,{0xBA,0x96,0x00,0x00,}},
+ {0x7C35,2,{0xBA,0x97,0x00,0x00,}},
+ {0x7C36,2,{0xBA,0x98,0x00,0x00,}},
+ {0x7C37,2,{0xBA,0x99,0x00,0x00,}},
+ {0x7C38,2,{0xF4,0xA4,0x00,0x00,}},
+ {0x7C39,2,{0xBA,0x9A,0x00,0x00,}},
+ {0x7C3A,2,{0xBA,0x9B,0x00,0x00,}},
+ {0x7C3B,2,{0xBA,0x9C,0x00,0x00,}},
+ {0x7C3C,2,{0xBA,0x9D,0x00,0x00,}},
+ {0x7C3D,2,{0xBA,0x9E,0x00,0x00,}},
+ {0x7C3E,2,{0xBA,0x9F,0x00,0x00,}},
+ {0x7C3F,2,{0xB2,0xBE,0x00,0x00,}},
+ {0x7C40,2,{0xF4,0xA6,0x00,0x00,}},
+ {0x7C41,2,{0xF4,0xA5,0x00,0x00,}},
+ {0x7C42,2,{0xBA,0xA0,0x00,0x00,}},
+ {0x7C43,2,{0xBB,0x40,0x00,0x00,}},
+ {0x7C44,2,{0xBB,0x41,0x00,0x00,}},
+ {0x7C45,2,{0xBB,0x42,0x00,0x00,}},
+ {0x7C46,2,{0xBB,0x43,0x00,0x00,}},
+ {0x7C47,2,{0xBB,0x44,0x00,0x00,}},
+ {0x7C48,2,{0xBB,0x45,0x00,0x00,}},
+ {0x7C49,2,{0xBB,0x46,0x00,0x00,}},
+ {0x7C4A,2,{0xBB,0x47,0x00,0x00,}},
+ {0x7C4B,2,{0xBB,0x48,0x00,0x00,}},
+ {0x7C4C,2,{0xBB,0x49,0x00,0x00,}},
+ {0x7C4D,2,{0xBC,0xAE,0x00,0x00,}},
+ {0x7C4E,2,{0xBB,0x4A,0x00,0x00,}},
+ {0x7C4F,2,{0xBB,0x4B,0x00,0x00,}},
+ {0x7C50,2,{0xBB,0x4C,0x00,0x00,}},
+ {0x7C51,2,{0xBB,0x4D,0x00,0x00,}},
+ {0x7C52,2,{0xBB,0x4E,0x00,0x00,}},
+ {0x7C53,2,{0xBB,0x4F,0x00,0x00,}},
+ {0x7C54,2,{0xBB,0x50,0x00,0x00,}},
+ {0x7C55,2,{0xBB,0x51,0x00,0x00,}},
+ {0x7C56,2,{0xBB,0x52,0x00,0x00,}},
+ {0x7C57,2,{0xBB,0x53,0x00,0x00,}},
+ {0x7C58,2,{0xBB,0x54,0x00,0x00,}},
+ {0x7C59,2,{0xBB,0x55,0x00,0x00,}},
+ {0x7C5A,2,{0xBB,0x56,0x00,0x00,}},
+ {0x7C5B,2,{0xBB,0x57,0x00,0x00,}},
+ {0x7C5C,2,{0xBB,0x58,0x00,0x00,}},
+ {0x7C5D,2,{0xBB,0x59,0x00,0x00,}},
+ {0x7C5E,2,{0xBB,0x5A,0x00,0x00,}},
+ {0x7C5F,2,{0xBB,0x5B,0x00,0x00,}},
+ {0x7C60,2,{0xBB,0x5C,0x00,0x00,}},
+ {0x7C61,2,{0xBB,0x5D,0x00,0x00,}},
+ {0x7C62,2,{0xBB,0x5E,0x00,0x00,}},
+ {0x7C63,2,{0xBB,0x5F,0x00,0x00,}},
+ {0x7C64,2,{0xBB,0x60,0x00,0x00,}},
+ {0x7C65,2,{0xBB,0x61,0x00,0x00,}},
+ {0x7C66,2,{0xBB,0x62,0x00,0x00,}},
+ {0x7C67,2,{0xBB,0x63,0x00,0x00,}},
+ {0x7C68,2,{0xBB,0x64,0x00,0x00,}},
+ {0x7C69,2,{0xBB,0x65,0x00,0x00,}},
+ {0x7C6A,2,{0xBB,0x66,0x00,0x00,}},
+ {0x7C6B,2,{0xBB,0x67,0x00,0x00,}},
+ {0x7C6C,2,{0xBB,0x68,0x00,0x00,}},
+ {0x7C6D,2,{0xBB,0x69,0x00,0x00,}},
+ {0x7C6E,2,{0xBB,0x6A,0x00,0x00,}},
+ {0x7C6F,2,{0xBB,0x6B,0x00,0x00,}},
+ {0x7C70,2,{0xBB,0x6C,0x00,0x00,}},
+ {0x7C71,2,{0xBB,0x6D,0x00,0x00,}},
+ {0x7C72,2,{0xBB,0x6E,0x00,0x00,}},
+ {0x7C73,2,{0xC3,0xD7,0x00,0x00,}},
+ {0x7C74,2,{0xD9,0xE1,0x00,0x00,}},
+ {0x7C75,2,{0xBB,0x6F,0x00,0x00,}},
+ {0x7C76,2,{0xBB,0x70,0x00,0x00,}},
+ {0x7C77,2,{0xBB,0x71,0x00,0x00,}},
+ {0x7C78,2,{0xBB,0x72,0x00,0x00,}},
+ {0x7C79,2,{0xBB,0x73,0x00,0x00,}},
+ {0x7C7A,2,{0xBB,0x74,0x00,0x00,}},
+ {0x7C7B,2,{0xC0,0xE0,0x00,0x00,}},
+ {0x7C7C,2,{0xF4,0xCC,0x00,0x00,}},
+ {0x7C7D,2,{0xD7,0xD1,0x00,0x00,}},
+ {0x7C7E,2,{0xBB,0x75,0x00,0x00,}},
+ {0x7C7F,2,{0xBB,0x76,0x00,0x00,}},
+ {0x7C80,2,{0xBB,0x77,0x00,0x00,}},
+ {0x7C81,2,{0xBB,0x78,0x00,0x00,}},
+ {0x7C82,2,{0xBB,0x79,0x00,0x00,}},
+ {0x7C83,2,{0xBB,0x7A,0x00,0x00,}},
+ {0x7C84,2,{0xBB,0x7B,0x00,0x00,}},
+ {0x7C85,2,{0xBB,0x7C,0x00,0x00,}},
+ {0x7C86,2,{0xBB,0x7D,0x00,0x00,}},
+ {0x7C87,2,{0xBB,0x7E,0x00,0x00,}},
+ {0x7C88,2,{0xBB,0x80,0x00,0x00,}},
+ {0x7C89,2,{0xB7,0xDB,0x00,0x00,}},
+ {0x7C8A,2,{0xBB,0x81,0x00,0x00,}},
+ {0x7C8B,2,{0xBB,0x82,0x00,0x00,}},
+ {0x7C8C,2,{0xBB,0x83,0x00,0x00,}},
+ {0x7C8D,2,{0xBB,0x84,0x00,0x00,}},
+ {0x7C8E,2,{0xBB,0x85,0x00,0x00,}},
+ {0x7C8F,2,{0xBB,0x86,0x00,0x00,}},
+ {0x7C90,2,{0xBB,0x87,0x00,0x00,}},
+ {0x7C91,2,{0xF4,0xCE,0x00,0x00,}},
+ {0x7C92,2,{0xC1,0xA3,0x00,0x00,}},
+ {0x7C93,2,{0xBB,0x88,0x00,0x00,}},
+ {0x7C94,2,{0xBB,0x89,0x00,0x00,}},
+ {0x7C95,2,{0xC6,0xC9,0x00,0x00,}},
+ {0x7C96,2,{0xBB,0x8A,0x00,0x00,}},
+ {0x7C97,2,{0xB4,0xD6,0x00,0x00,}},
+ {0x7C98,2,{0xD5,0xB3,0x00,0x00,}},
+ {0x7C99,2,{0xBB,0x8B,0x00,0x00,}},
+ {0x7C9A,2,{0xBB,0x8C,0x00,0x00,}},
+ {0x7C9B,2,{0xBB,0x8D,0x00,0x00,}},
+ {0x7C9C,2,{0xF4,0xD0,0x00,0x00,}},
+ {0x7C9D,2,{0xF4,0xCF,0x00,0x00,}},
+ {0x7C9E,2,{0xF4,0xD1,0x00,0x00,}},
+ {0x7C9F,2,{0xCB,0xDA,0x00,0x00,}},
+ {0x7CA0,2,{0xBB,0x8E,0x00,0x00,}},
+ {0x7CA1,2,{0xBB,0x8F,0x00,0x00,}},
+ {0x7CA2,2,{0xF4,0xD2,0x00,0x00,}},
+ {0x7CA3,2,{0xBB,0x90,0x00,0x00,}},
+ {0x7CA4,2,{0xD4,0xC1,0x00,0x00,}},
+ {0x7CA5,2,{0xD6,0xE0,0x00,0x00,}},
+ {0x7CA6,2,{0xBB,0x91,0x00,0x00,}},
+ {0x7CA7,2,{0xBB,0x92,0x00,0x00,}},
+ {0x7CA8,2,{0xBB,0x93,0x00,0x00,}},
+ {0x7CA9,2,{0xBB,0x94,0x00,0x00,}},
+ {0x7CAA,2,{0xB7,0xE0,0x00,0x00,}},
+ {0x7CAB,2,{0xBB,0x95,0x00,0x00,}},
+ {0x7CAC,2,{0xBB,0x96,0x00,0x00,}},
+ {0x7CAD,2,{0xBB,0x97,0x00,0x00,}},
+ {0x7CAE,2,{0xC1,0xB8,0x00,0x00,}},
+ {0x7CAF,2,{0xBB,0x98,0x00,0x00,}},
+ {0x7CB0,2,{0xBB,0x99,0x00,0x00,}},
+ {0x7CB1,2,{0xC1,0xBB,0x00,0x00,}},
+ {0x7CB2,2,{0xF4,0xD3,0x00,0x00,}},
+ {0x7CB3,2,{0xBE,0xAC,0x00,0x00,}},
+ {0x7CB4,2,{0xBB,0x9A,0x00,0x00,}},
+ {0x7CB5,2,{0xBB,0x9B,0x00,0x00,}},
+ {0x7CB6,2,{0xBB,0x9C,0x00,0x00,}},
+ {0x7CB7,2,{0xBB,0x9D,0x00,0x00,}},
+ {0x7CB8,2,{0xBB,0x9E,0x00,0x00,}},
+ {0x7CB9,2,{0xB4,0xE2,0x00,0x00,}},
+ {0x7CBA,2,{0xBB,0x9F,0x00,0x00,}},
+ {0x7CBB,2,{0xBB,0xA0,0x00,0x00,}},
+ {0x7CBC,2,{0xF4,0xD4,0x00,0x00,}},
+ {0x7CBD,2,{0xF4,0xD5,0x00,0x00,}},
+ {0x7CBE,2,{0xBE,0xAB,0x00,0x00,}},
+ {0x7CBF,2,{0xBC,0x40,0x00,0x00,}},
+ {0x7CC0,2,{0xBC,0x41,0x00,0x00,}},
+ {0x7CC1,2,{0xF4,0xD6,0x00,0x00,}},
+ {0x7CC2,2,{0xBC,0x42,0x00,0x00,}},
+ {0x7CC3,2,{0xBC,0x43,0x00,0x00,}},
+ {0x7CC4,2,{0xBC,0x44,0x00,0x00,}},
+ {0x7CC5,2,{0xF4,0xDB,0x00,0x00,}},
+ {0x7CC6,2,{0xBC,0x45,0x00,0x00,}},
+ {0x7CC7,2,{0xF4,0xD7,0x00,0x00,}},
+ {0x7CC8,2,{0xF4,0xDA,0x00,0x00,}},
+ {0x7CC9,2,{0xBC,0x46,0x00,0x00,}},
+ {0x7CCA,2,{0xBA,0xFD,0x00,0x00,}},
+ {0x7CCB,2,{0xBC,0x47,0x00,0x00,}},
+ {0x7CCC,2,{0xF4,0xD8,0x00,0x00,}},
+ {0x7CCD,2,{0xF4,0xD9,0x00,0x00,}},
+ {0x7CCE,2,{0xBC,0x48,0x00,0x00,}},
+ {0x7CCF,2,{0xBC,0x49,0x00,0x00,}},
+ {0x7CD0,2,{0xBC,0x4A,0x00,0x00,}},
+ {0x7CD1,2,{0xBC,0x4B,0x00,0x00,}},
+ {0x7CD2,2,{0xBC,0x4C,0x00,0x00,}},
+ {0x7CD3,2,{0xBC,0x4D,0x00,0x00,}},
+ {0x7CD4,2,{0xBC,0x4E,0x00,0x00,}},
+ {0x7CD5,2,{0xB8,0xE2,0x00,0x00,}},
+ {0x7CD6,2,{0xCC,0xC7,0x00,0x00,}},
+ {0x7CD7,2,{0xF4,0xDC,0x00,0x00,}},
+ {0x7CD8,2,{0xBC,0x4F,0x00,0x00,}},
+ {0x7CD9,2,{0xB2,0xDA,0x00,0x00,}},
+ {0x7CDA,2,{0xBC,0x50,0x00,0x00,}},
+ {0x7CDB,2,{0xBC,0x51,0x00,0x00,}},
+ {0x7CDC,2,{0xC3,0xD3,0x00,0x00,}},
+ {0x7CDD,2,{0xBC,0x52,0x00,0x00,}},
+ {0x7CDE,2,{0xBC,0x53,0x00,0x00,}},
+ {0x7CDF,2,{0xD4,0xE3,0x00,0x00,}},
+ {0x7CE0,2,{0xBF,0xB7,0x00,0x00,}},
+ {0x7CE1,2,{0xBC,0x54,0x00,0x00,}},
+ {0x7CE2,2,{0xBC,0x55,0x00,0x00,}},
+ {0x7CE3,2,{0xBC,0x56,0x00,0x00,}},
+ {0x7CE4,2,{0xBC,0x57,0x00,0x00,}},
+ {0x7CE5,2,{0xBC,0x58,0x00,0x00,}},
+ {0x7CE6,2,{0xBC,0x59,0x00,0x00,}},
+ {0x7CE7,2,{0xBC,0x5A,0x00,0x00,}},
+ {0x7CE8,2,{0xF4,0xDD,0x00,0x00,}},
+ {0x7CE9,2,{0xBC,0x5B,0x00,0x00,}},
+ {0x7CEA,2,{0xBC,0x5C,0x00,0x00,}},
+ {0x7CEB,2,{0xBC,0x5D,0x00,0x00,}},
+ {0x7CEC,2,{0xBC,0x5E,0x00,0x00,}},
+ {0x7CED,2,{0xBC,0x5F,0x00,0x00,}},
+ {0x7CEE,2,{0xBC,0x60,0x00,0x00,}},
+ {0x7CEF,2,{0xC5,0xB4,0x00,0x00,}},
+ {0x7CF0,2,{0xBC,0x61,0x00,0x00,}},
+ {0x7CF1,2,{0xBC,0x62,0x00,0x00,}},
+ {0x7CF2,2,{0xBC,0x63,0x00,0x00,}},
+ {0x7CF3,2,{0xBC,0x64,0x00,0x00,}},
+ {0x7CF4,2,{0xBC,0x65,0x00,0x00,}},
+ {0x7CF5,2,{0xBC,0x66,0x00,0x00,}},
+ {0x7CF6,2,{0xBC,0x67,0x00,0x00,}},
+ {0x7CF7,2,{0xBC,0x68,0x00,0x00,}},
+ {0x7CF8,2,{0xF4,0xE9,0x00,0x00,}},
+ {0x7CF9,2,{0xBC,0x69,0x00,0x00,}},
+ {0x7CFA,2,{0xBC,0x6A,0x00,0x00,}},
+ {0x7CFB,2,{0xCF,0xB5,0x00,0x00,}},
+ {0x7CFC,2,{0xBC,0x6B,0x00,0x00,}},
+ {0x7CFD,2,{0xBC,0x6C,0x00,0x00,}},
+ {0x7CFE,2,{0xBC,0x6D,0x00,0x00,}},
+ {0x7CFF,2,{0xBC,0x6E,0x00,0x00,}},
+ {0x7D00,2,{0xBC,0x6F,0x00,0x00,}},
+ {0x7D01,2,{0xBC,0x70,0x00,0x00,}},
+ {0x7D02,2,{0xBC,0x71,0x00,0x00,}},
+ {0x7D03,2,{0xBC,0x72,0x00,0x00,}},
+ {0x7D04,2,{0xBC,0x73,0x00,0x00,}},
+ {0x7D05,2,{0xBC,0x74,0x00,0x00,}},
+ {0x7D06,2,{0xBC,0x75,0x00,0x00,}},
+ {0x7D07,2,{0xBC,0x76,0x00,0x00,}},
+ {0x7D08,2,{0xBC,0x77,0x00,0x00,}},
+ {0x7D09,2,{0xBC,0x78,0x00,0x00,}},
+ {0x7D0A,2,{0xCE,0xC9,0x00,0x00,}},
+ {0x7D0B,2,{0xBC,0x79,0x00,0x00,}},
+ {0x7D0C,2,{0xBC,0x7A,0x00,0x00,}},
+ {0x7D0D,2,{0xBC,0x7B,0x00,0x00,}},
+ {0x7D0E,2,{0xBC,0x7C,0x00,0x00,}},
+ {0x7D0F,2,{0xBC,0x7D,0x00,0x00,}},
+ {0x7D10,2,{0xBC,0x7E,0x00,0x00,}},
+ {0x7D11,2,{0xBC,0x80,0x00,0x00,}},
+ {0x7D12,2,{0xBC,0x81,0x00,0x00,}},
+ {0x7D13,2,{0xBC,0x82,0x00,0x00,}},
+ {0x7D14,2,{0xBC,0x83,0x00,0x00,}},
+ {0x7D15,2,{0xBC,0x84,0x00,0x00,}},
+ {0x7D16,2,{0xBC,0x85,0x00,0x00,}},
+ {0x7D17,2,{0xBC,0x86,0x00,0x00,}},
+ {0x7D18,2,{0xBC,0x87,0x00,0x00,}},
+ {0x7D19,2,{0xBC,0x88,0x00,0x00,}},
+ {0x7D1A,2,{0xBC,0x89,0x00,0x00,}},
+ {0x7D1B,2,{0xBC,0x8A,0x00,0x00,}},
+ {0x7D1C,2,{0xBC,0x8B,0x00,0x00,}},
+ {0x7D1D,2,{0xBC,0x8C,0x00,0x00,}},
+ {0x7D1E,2,{0xBC,0x8D,0x00,0x00,}},
+ {0x7D1F,2,{0xBC,0x8E,0x00,0x00,}},
+ {0x7D20,2,{0xCB,0xD8,0x00,0x00,}},
+ {0x7D21,2,{0xBC,0x8F,0x00,0x00,}},
+ {0x7D22,2,{0xCB,0xF7,0x00,0x00,}},
+ {0x7D23,2,{0xBC,0x90,0x00,0x00,}},
+ {0x7D24,2,{0xBC,0x91,0x00,0x00,}},
+ {0x7D25,2,{0xBC,0x92,0x00,0x00,}},
+ {0x7D26,2,{0xBC,0x93,0x00,0x00,}},
+ {0x7D27,2,{0xBD,0xF4,0x00,0x00,}},
+ {0x7D28,2,{0xBC,0x94,0x00,0x00,}},
+ {0x7D29,2,{0xBC,0x95,0x00,0x00,}},
+ {0x7D2A,2,{0xBC,0x96,0x00,0x00,}},
+ {0x7D2B,2,{0xD7,0xCF,0x00,0x00,}},
+ {0x7D2C,2,{0xBC,0x97,0x00,0x00,}},
+ {0x7D2D,2,{0xBC,0x98,0x00,0x00,}},
+ {0x7D2E,2,{0xBC,0x99,0x00,0x00,}},
+ {0x7D2F,2,{0xC0,0xDB,0x00,0x00,}},
+ {0x7D30,2,{0xBC,0x9A,0x00,0x00,}},
+ {0x7D31,2,{0xBC,0x9B,0x00,0x00,}},
+ {0x7D32,2,{0xBC,0x9C,0x00,0x00,}},
+ {0x7D33,2,{0xBC,0x9D,0x00,0x00,}},
+ {0x7D34,2,{0xBC,0x9E,0x00,0x00,}},
+ {0x7D35,2,{0xBC,0x9F,0x00,0x00,}},
+ {0x7D36,2,{0xBC,0xA0,0x00,0x00,}},
+ {0x7D37,2,{0xBD,0x40,0x00,0x00,}},
+ {0x7D38,2,{0xBD,0x41,0x00,0x00,}},
+ {0x7D39,2,{0xBD,0x42,0x00,0x00,}},
+ {0x7D3A,2,{0xBD,0x43,0x00,0x00,}},
+ {0x7D3B,2,{0xBD,0x44,0x00,0x00,}},
+ {0x7D3C,2,{0xBD,0x45,0x00,0x00,}},
+ {0x7D3D,2,{0xBD,0x46,0x00,0x00,}},
+ {0x7D3E,2,{0xBD,0x47,0x00,0x00,}},
+ {0x7D3F,2,{0xBD,0x48,0x00,0x00,}},
+ {0x7D40,2,{0xBD,0x49,0x00,0x00,}},
+ {0x7D41,2,{0xBD,0x4A,0x00,0x00,}},
+ {0x7D42,2,{0xBD,0x4B,0x00,0x00,}},
+ {0x7D43,2,{0xBD,0x4C,0x00,0x00,}},
+ {0x7D44,2,{0xBD,0x4D,0x00,0x00,}},
+ {0x7D45,2,{0xBD,0x4E,0x00,0x00,}},
+ {0x7D46,2,{0xBD,0x4F,0x00,0x00,}},
+ {0x7D47,2,{0xBD,0x50,0x00,0x00,}},
+ {0x7D48,2,{0xBD,0x51,0x00,0x00,}},
+ {0x7D49,2,{0xBD,0x52,0x00,0x00,}},
+ {0x7D4A,2,{0xBD,0x53,0x00,0x00,}},
+ {0x7D4B,2,{0xBD,0x54,0x00,0x00,}},
+ {0x7D4C,2,{0xBD,0x55,0x00,0x00,}},
+ {0x7D4D,2,{0xBD,0x56,0x00,0x00,}},
+ {0x7D4E,2,{0xBD,0x57,0x00,0x00,}},
+ {0x7D4F,2,{0xBD,0x58,0x00,0x00,}},
+ {0x7D50,2,{0xBD,0x59,0x00,0x00,}},
+ {0x7D51,2,{0xBD,0x5A,0x00,0x00,}},
+ {0x7D52,2,{0xBD,0x5B,0x00,0x00,}},
+ {0x7D53,2,{0xBD,0x5C,0x00,0x00,}},
+ {0x7D54,2,{0xBD,0x5D,0x00,0x00,}},
+ {0x7D55,2,{0xBD,0x5E,0x00,0x00,}},
+ {0x7D56,2,{0xBD,0x5F,0x00,0x00,}},
+ {0x7D57,2,{0xBD,0x60,0x00,0x00,}},
+ {0x7D58,2,{0xBD,0x61,0x00,0x00,}},
+ {0x7D59,2,{0xBD,0x62,0x00,0x00,}},
+ {0x7D5A,2,{0xBD,0x63,0x00,0x00,}},
+ {0x7D5B,2,{0xBD,0x64,0x00,0x00,}},
+ {0x7D5C,2,{0xBD,0x65,0x00,0x00,}},
+ {0x7D5D,2,{0xBD,0x66,0x00,0x00,}},
+ {0x7D5E,2,{0xBD,0x67,0x00,0x00,}},
+ {0x7D5F,2,{0xBD,0x68,0x00,0x00,}},
+ {0x7D60,2,{0xBD,0x69,0x00,0x00,}},
+ {0x7D61,2,{0xBD,0x6A,0x00,0x00,}},
+ {0x7D62,2,{0xBD,0x6B,0x00,0x00,}},
+ {0x7D63,2,{0xBD,0x6C,0x00,0x00,}},
+ {0x7D64,2,{0xBD,0x6D,0x00,0x00,}},
+ {0x7D65,2,{0xBD,0x6E,0x00,0x00,}},
+ {0x7D66,2,{0xBD,0x6F,0x00,0x00,}},
+ {0x7D67,2,{0xBD,0x70,0x00,0x00,}},
+ {0x7D68,2,{0xBD,0x71,0x00,0x00,}},
+ {0x7D69,2,{0xBD,0x72,0x00,0x00,}},
+ {0x7D6A,2,{0xBD,0x73,0x00,0x00,}},
+ {0x7D6B,2,{0xBD,0x74,0x00,0x00,}},
+ {0x7D6C,2,{0xBD,0x75,0x00,0x00,}},
+ {0x7D6D,2,{0xBD,0x76,0x00,0x00,}},
+ {0x7D6E,2,{0xD0,0xF5,0x00,0x00,}},
+ {0x7D6F,2,{0xBD,0x77,0x00,0x00,}},
+ {0x7D70,2,{0xBD,0x78,0x00,0x00,}},
+ {0x7D71,2,{0xBD,0x79,0x00,0x00,}},
+ {0x7D72,2,{0xBD,0x7A,0x00,0x00,}},
+ {0x7D73,2,{0xBD,0x7B,0x00,0x00,}},
+ {0x7D74,2,{0xBD,0x7C,0x00,0x00,}},
+ {0x7D75,2,{0xBD,0x7D,0x00,0x00,}},
+ {0x7D76,2,{0xBD,0x7E,0x00,0x00,}},
+ {0x7D77,2,{0xF4,0xEA,0x00,0x00,}},
+ {0x7D78,2,{0xBD,0x80,0x00,0x00,}},
+ {0x7D79,2,{0xBD,0x81,0x00,0x00,}},
+ {0x7D7A,2,{0xBD,0x82,0x00,0x00,}},
+ {0x7D7B,2,{0xBD,0x83,0x00,0x00,}},
+ {0x7D7C,2,{0xBD,0x84,0x00,0x00,}},
+ {0x7D7D,2,{0xBD,0x85,0x00,0x00,}},
+ {0x7D7E,2,{0xBD,0x86,0x00,0x00,}},
+ {0x7D7F,2,{0xBD,0x87,0x00,0x00,}},
+ {0x7D80,2,{0xBD,0x88,0x00,0x00,}},
+ {0x7D81,2,{0xBD,0x89,0x00,0x00,}},
+ {0x7D82,2,{0xBD,0x8A,0x00,0x00,}},
+ {0x7D83,2,{0xBD,0x8B,0x00,0x00,}},
+ {0x7D84,2,{0xBD,0x8C,0x00,0x00,}},
+ {0x7D85,2,{0xBD,0x8D,0x00,0x00,}},
+ {0x7D86,2,{0xBD,0x8E,0x00,0x00,}},
+ {0x7D87,2,{0xBD,0x8F,0x00,0x00,}},
+ {0x7D88,2,{0xBD,0x90,0x00,0x00,}},
+ {0x7D89,2,{0xBD,0x91,0x00,0x00,}},
+ {0x7D8A,2,{0xBD,0x92,0x00,0x00,}},
+ {0x7D8B,2,{0xBD,0x93,0x00,0x00,}},
+ {0x7D8C,2,{0xBD,0x94,0x00,0x00,}},
+ {0x7D8D,2,{0xBD,0x95,0x00,0x00,}},
+ {0x7D8E,2,{0xBD,0x96,0x00,0x00,}},
+ {0x7D8F,2,{0xBD,0x97,0x00,0x00,}},
+ {0x7D90,2,{0xBD,0x98,0x00,0x00,}},
+ {0x7D91,2,{0xBD,0x99,0x00,0x00,}},
+ {0x7D92,2,{0xBD,0x9A,0x00,0x00,}},
+ {0x7D93,2,{0xBD,0x9B,0x00,0x00,}},
+ {0x7D94,2,{0xBD,0x9C,0x00,0x00,}},
+ {0x7D95,2,{0xBD,0x9D,0x00,0x00,}},
+ {0x7D96,2,{0xBD,0x9E,0x00,0x00,}},
+ {0x7D97,2,{0xBD,0x9F,0x00,0x00,}},
+ {0x7D98,2,{0xBD,0xA0,0x00,0x00,}},
+ {0x7D99,2,{0xBE,0x40,0x00,0x00,}},
+ {0x7D9A,2,{0xBE,0x41,0x00,0x00,}},
+ {0x7D9B,2,{0xBE,0x42,0x00,0x00,}},
+ {0x7D9C,2,{0xBE,0x43,0x00,0x00,}},
+ {0x7D9D,2,{0xBE,0x44,0x00,0x00,}},
+ {0x7D9E,2,{0xBE,0x45,0x00,0x00,}},
+ {0x7D9F,2,{0xBE,0x46,0x00,0x00,}},
+ {0x7DA0,2,{0xBE,0x47,0x00,0x00,}},
+ {0x7DA1,2,{0xBE,0x48,0x00,0x00,}},
+ {0x7DA2,2,{0xBE,0x49,0x00,0x00,}},
+ {0x7DA3,2,{0xBE,0x4A,0x00,0x00,}},
+ {0x7DA4,2,{0xBE,0x4B,0x00,0x00,}},
+ {0x7DA5,2,{0xBE,0x4C,0x00,0x00,}},
+ {0x7DA6,2,{0xF4,0xEB,0x00,0x00,}},
+ {0x7DA7,2,{0xBE,0x4D,0x00,0x00,}},
+ {0x7DA8,2,{0xBE,0x4E,0x00,0x00,}},
+ {0x7DA9,2,{0xBE,0x4F,0x00,0x00,}},
+ {0x7DAA,2,{0xBE,0x50,0x00,0x00,}},
+ {0x7DAB,2,{0xBE,0x51,0x00,0x00,}},
+ {0x7DAC,2,{0xBE,0x52,0x00,0x00,}},
+ {0x7DAD,2,{0xBE,0x53,0x00,0x00,}},
+ {0x7DAE,2,{0xF4,0xEC,0x00,0x00,}},
+ {0x7DAF,2,{0xBE,0x54,0x00,0x00,}},
+ {0x7DB0,2,{0xBE,0x55,0x00,0x00,}},
+ {0x7DB1,2,{0xBE,0x56,0x00,0x00,}},
+ {0x7DB2,2,{0xBE,0x57,0x00,0x00,}},
+ {0x7DB3,2,{0xBE,0x58,0x00,0x00,}},
+ {0x7DB4,2,{0xBE,0x59,0x00,0x00,}},
+ {0x7DB5,2,{0xBE,0x5A,0x00,0x00,}},
+ {0x7DB6,2,{0xBE,0x5B,0x00,0x00,}},
+ {0x7DB7,2,{0xBE,0x5C,0x00,0x00,}},
+ {0x7DB8,2,{0xBE,0x5D,0x00,0x00,}},
+ {0x7DB9,2,{0xBE,0x5E,0x00,0x00,}},
+ {0x7DBA,2,{0xBE,0x5F,0x00,0x00,}},
+ {0x7DBB,2,{0xBE,0x60,0x00,0x00,}},
+ {0x7DBC,2,{0xBE,0x61,0x00,0x00,}},
+ {0x7DBD,2,{0xBE,0x62,0x00,0x00,}},
+ {0x7DBE,2,{0xBE,0x63,0x00,0x00,}},
+ {0x7DBF,2,{0xBE,0x64,0x00,0x00,}},
+ {0x7DC0,2,{0xBE,0x65,0x00,0x00,}},
+ {0x7DC1,2,{0xBE,0x66,0x00,0x00,}},
+ {0x7DC2,2,{0xBE,0x67,0x00,0x00,}},
+ {0x7DC3,2,{0xBE,0x68,0x00,0x00,}},
+ {0x7DC4,2,{0xBE,0x69,0x00,0x00,}},
+ {0x7DC5,2,{0xBE,0x6A,0x00,0x00,}},
+ {0x7DC6,2,{0xBE,0x6B,0x00,0x00,}},
+ {0x7DC7,2,{0xBE,0x6C,0x00,0x00,}},
+ {0x7DC8,2,{0xBE,0x6D,0x00,0x00,}},
+ {0x7DC9,2,{0xBE,0x6E,0x00,0x00,}},
+ {0x7DCA,2,{0xBE,0x6F,0x00,0x00,}},
+ {0x7DCB,2,{0xBE,0x70,0x00,0x00,}},
+ {0x7DCC,2,{0xBE,0x71,0x00,0x00,}},
+ {0x7DCD,2,{0xBE,0x72,0x00,0x00,}},
+ {0x7DCE,2,{0xBE,0x73,0x00,0x00,}},
+ {0x7DCF,2,{0xBE,0x74,0x00,0x00,}},
+ {0x7DD0,2,{0xBE,0x75,0x00,0x00,}},
+ {0x7DD1,2,{0xBE,0x76,0x00,0x00,}},
+ {0x7DD2,2,{0xBE,0x77,0x00,0x00,}},
+ {0x7DD3,2,{0xBE,0x78,0x00,0x00,}},
+ {0x7DD4,2,{0xBE,0x79,0x00,0x00,}},
+ {0x7DD5,2,{0xBE,0x7A,0x00,0x00,}},
+ {0x7DD6,2,{0xBE,0x7B,0x00,0x00,}},
+ {0x7DD7,2,{0xBE,0x7C,0x00,0x00,}},
+ {0x7DD8,2,{0xBE,0x7D,0x00,0x00,}},
+ {0x7DD9,2,{0xBE,0x7E,0x00,0x00,}},
+ {0x7DDA,2,{0xBE,0x80,0x00,0x00,}},
+ {0x7DDB,2,{0xBE,0x81,0x00,0x00,}},
+ {0x7DDC,2,{0xBE,0x82,0x00,0x00,}},
+ {0x7DDD,2,{0xBE,0x83,0x00,0x00,}},
+ {0x7DDE,2,{0xBE,0x84,0x00,0x00,}},
+ {0x7DDF,2,{0xBE,0x85,0x00,0x00,}},
+ {0x7DE0,2,{0xBE,0x86,0x00,0x00,}},
+ {0x7DE1,2,{0xBE,0x87,0x00,0x00,}},
+ {0x7DE2,2,{0xBE,0x88,0x00,0x00,}},
+ {0x7DE3,2,{0xBE,0x89,0x00,0x00,}},
+ {0x7DE4,2,{0xBE,0x8A,0x00,0x00,}},
+ {0x7DE5,2,{0xBE,0x8B,0x00,0x00,}},
+ {0x7DE6,2,{0xBE,0x8C,0x00,0x00,}},
+ {0x7DE7,2,{0xBE,0x8D,0x00,0x00,}},
+ {0x7DE8,2,{0xBE,0x8E,0x00,0x00,}},
+ {0x7DE9,2,{0xBE,0x8F,0x00,0x00,}},
+ {0x7DEA,2,{0xBE,0x90,0x00,0x00,}},
+ {0x7DEB,2,{0xBE,0x91,0x00,0x00,}},
+ {0x7DEC,2,{0xBE,0x92,0x00,0x00,}},
+ {0x7DED,2,{0xBE,0x93,0x00,0x00,}},
+ {0x7DEE,2,{0xBE,0x94,0x00,0x00,}},
+ {0x7DEF,2,{0xBE,0x95,0x00,0x00,}},
+ {0x7DF0,2,{0xBE,0x96,0x00,0x00,}},
+ {0x7DF1,2,{0xBE,0x97,0x00,0x00,}},
+ {0x7DF2,2,{0xBE,0x98,0x00,0x00,}},
+ {0x7DF3,2,{0xBE,0x99,0x00,0x00,}},
+ {0x7DF4,2,{0xBE,0x9A,0x00,0x00,}},
+ {0x7DF5,2,{0xBE,0x9B,0x00,0x00,}},
+ {0x7DF6,2,{0xBE,0x9C,0x00,0x00,}},
+ {0x7DF7,2,{0xBE,0x9D,0x00,0x00,}},
+ {0x7DF8,2,{0xBE,0x9E,0x00,0x00,}},
+ {0x7DF9,2,{0xBE,0x9F,0x00,0x00,}},
+ {0x7DFA,2,{0xBE,0xA0,0x00,0x00,}},
+ {0x7DFB,2,{0xBF,0x40,0x00,0x00,}},
+ {0x7DFC,2,{0xBF,0x41,0x00,0x00,}},
+ {0x7DFD,2,{0xBF,0x42,0x00,0x00,}},
+ {0x7DFE,2,{0xBF,0x43,0x00,0x00,}},
+ {0x7DFF,2,{0xBF,0x44,0x00,0x00,}},
+ {0x7E00,2,{0xBF,0x45,0x00,0x00,}},
+ {0x7E01,2,{0xBF,0x46,0x00,0x00,}},
+ {0x7E02,2,{0xBF,0x47,0x00,0x00,}},
+ {0x7E03,2,{0xBF,0x48,0x00,0x00,}},
+ {0x7E04,2,{0xBF,0x49,0x00,0x00,}},
+ {0x7E05,2,{0xBF,0x4A,0x00,0x00,}},
+ {0x7E06,2,{0xBF,0x4B,0x00,0x00,}},
+ {0x7E07,2,{0xBF,0x4C,0x00,0x00,}},
+ {0x7E08,2,{0xBF,0x4D,0x00,0x00,}},
+ {0x7E09,2,{0xBF,0x4E,0x00,0x00,}},
+ {0x7E0A,2,{0xBF,0x4F,0x00,0x00,}},
+ {0x7E0B,2,{0xBF,0x50,0x00,0x00,}},
+ {0x7E0C,2,{0xBF,0x51,0x00,0x00,}},
+ {0x7E0D,2,{0xBF,0x52,0x00,0x00,}},
+ {0x7E0E,2,{0xBF,0x53,0x00,0x00,}},
+ {0x7E0F,2,{0xBF,0x54,0x00,0x00,}},
+ {0x7E10,2,{0xBF,0x55,0x00,0x00,}},
+ {0x7E11,2,{0xBF,0x56,0x00,0x00,}},
+ {0x7E12,2,{0xBF,0x57,0x00,0x00,}},
+ {0x7E13,2,{0xBF,0x58,0x00,0x00,}},
+ {0x7E14,2,{0xBF,0x59,0x00,0x00,}},
+ {0x7E15,2,{0xBF,0x5A,0x00,0x00,}},
+ {0x7E16,2,{0xBF,0x5B,0x00,0x00,}},
+ {0x7E17,2,{0xBF,0x5C,0x00,0x00,}},
+ {0x7E18,2,{0xBF,0x5D,0x00,0x00,}},
+ {0x7E19,2,{0xBF,0x5E,0x00,0x00,}},
+ {0x7E1A,2,{0xBF,0x5F,0x00,0x00,}},
+ {0x7E1B,2,{0xBF,0x60,0x00,0x00,}},
+ {0x7E1C,2,{0xBF,0x61,0x00,0x00,}},
+ {0x7E1D,2,{0xBF,0x62,0x00,0x00,}},
+ {0x7E1E,2,{0xBF,0x63,0x00,0x00,}},
+ {0x7E1F,2,{0xBF,0x64,0x00,0x00,}},
+ {0x7E20,2,{0xBF,0x65,0x00,0x00,}},
+ {0x7E21,2,{0xBF,0x66,0x00,0x00,}},
+ {0x7E22,2,{0xBF,0x67,0x00,0x00,}},
+ {0x7E23,2,{0xBF,0x68,0x00,0x00,}},
+ {0x7E24,2,{0xBF,0x69,0x00,0x00,}},
+ {0x7E25,2,{0xBF,0x6A,0x00,0x00,}},
+ {0x7E26,2,{0xBF,0x6B,0x00,0x00,}},
+ {0x7E27,2,{0xBF,0x6C,0x00,0x00,}},
+ {0x7E28,2,{0xBF,0x6D,0x00,0x00,}},
+ {0x7E29,2,{0xBF,0x6E,0x00,0x00,}},
+ {0x7E2A,2,{0xBF,0x6F,0x00,0x00,}},
+ {0x7E2B,2,{0xBF,0x70,0x00,0x00,}},
+ {0x7E2C,2,{0xBF,0x71,0x00,0x00,}},
+ {0x7E2D,2,{0xBF,0x72,0x00,0x00,}},
+ {0x7E2E,2,{0xBF,0x73,0x00,0x00,}},
+ {0x7E2F,2,{0xBF,0x74,0x00,0x00,}},
+ {0x7E30,2,{0xBF,0x75,0x00,0x00,}},
+ {0x7E31,2,{0xBF,0x76,0x00,0x00,}},
+ {0x7E32,2,{0xBF,0x77,0x00,0x00,}},
+ {0x7E33,2,{0xBF,0x78,0x00,0x00,}},
+ {0x7E34,2,{0xBF,0x79,0x00,0x00,}},
+ {0x7E35,2,{0xBF,0x7A,0x00,0x00,}},
+ {0x7E36,2,{0xBF,0x7B,0x00,0x00,}},
+ {0x7E37,2,{0xBF,0x7C,0x00,0x00,}},
+ {0x7E38,2,{0xBF,0x7D,0x00,0x00,}},
+ {0x7E39,2,{0xBF,0x7E,0x00,0x00,}},
+ {0x7E3A,2,{0xBF,0x80,0x00,0x00,}},
+ {0x7E3B,2,{0xF7,0xE3,0x00,0x00,}},
+ {0x7E3C,2,{0xBF,0x81,0x00,0x00,}},
+ {0x7E3D,2,{0xBF,0x82,0x00,0x00,}},
+ {0x7E3E,2,{0xBF,0x83,0x00,0x00,}},
+ {0x7E3F,2,{0xBF,0x84,0x00,0x00,}},
+ {0x7E40,2,{0xBF,0x85,0x00,0x00,}},
+ {0x7E41,2,{0xB7,0xB1,0x00,0x00,}},
+ {0x7E42,2,{0xBF,0x86,0x00,0x00,}},
+ {0x7E43,2,{0xBF,0x87,0x00,0x00,}},
+ {0x7E44,2,{0xBF,0x88,0x00,0x00,}},
+ {0x7E45,2,{0xBF,0x89,0x00,0x00,}},
+ {0x7E46,2,{0xBF,0x8A,0x00,0x00,}},
+ {0x7E47,2,{0xF4,0xED,0x00,0x00,}},
+ {0x7E48,2,{0xBF,0x8B,0x00,0x00,}},
+ {0x7E49,2,{0xBF,0x8C,0x00,0x00,}},
+ {0x7E4A,2,{0xBF,0x8D,0x00,0x00,}},
+ {0x7E4B,2,{0xBF,0x8E,0x00,0x00,}},
+ {0x7E4C,2,{0xBF,0x8F,0x00,0x00,}},
+ {0x7E4D,2,{0xBF,0x90,0x00,0x00,}},
+ {0x7E4E,2,{0xBF,0x91,0x00,0x00,}},
+ {0x7E4F,2,{0xBF,0x92,0x00,0x00,}},
+ {0x7E50,2,{0xBF,0x93,0x00,0x00,}},
+ {0x7E51,2,{0xBF,0x94,0x00,0x00,}},
+ {0x7E52,2,{0xBF,0x95,0x00,0x00,}},
+ {0x7E53,2,{0xBF,0x96,0x00,0x00,}},
+ {0x7E54,2,{0xBF,0x97,0x00,0x00,}},
+ {0x7E55,2,{0xBF,0x98,0x00,0x00,}},
+ {0x7E56,2,{0xBF,0x99,0x00,0x00,}},
+ {0x7E57,2,{0xBF,0x9A,0x00,0x00,}},
+ {0x7E58,2,{0xBF,0x9B,0x00,0x00,}},
+ {0x7E59,2,{0xBF,0x9C,0x00,0x00,}},
+ {0x7E5A,2,{0xBF,0x9D,0x00,0x00,}},
+ {0x7E5B,2,{0xBF,0x9E,0x00,0x00,}},
+ {0x7E5C,2,{0xBF,0x9F,0x00,0x00,}},
+ {0x7E5D,2,{0xBF,0xA0,0x00,0x00,}},
+ {0x7E5E,2,{0xC0,0x40,0x00,0x00,}},
+ {0x7E5F,2,{0xC0,0x41,0x00,0x00,}},
+ {0x7E60,2,{0xC0,0x42,0x00,0x00,}},
+ {0x7E61,2,{0xC0,0x43,0x00,0x00,}},
+ {0x7E62,2,{0xC0,0x44,0x00,0x00,}},
+ {0x7E63,2,{0xC0,0x45,0x00,0x00,}},
+ {0x7E64,2,{0xC0,0x46,0x00,0x00,}},
+ {0x7E65,2,{0xC0,0x47,0x00,0x00,}},
+ {0x7E66,2,{0xC0,0x48,0x00,0x00,}},
+ {0x7E67,2,{0xC0,0x49,0x00,0x00,}},
+ {0x7E68,2,{0xC0,0x4A,0x00,0x00,}},
+ {0x7E69,2,{0xC0,0x4B,0x00,0x00,}},
+ {0x7E6A,2,{0xC0,0x4C,0x00,0x00,}},
+ {0x7E6B,2,{0xC0,0x4D,0x00,0x00,}},
+ {0x7E6C,2,{0xC0,0x4E,0x00,0x00,}},
+ {0x7E6D,2,{0xC0,0x4F,0x00,0x00,}},
+ {0x7E6E,2,{0xC0,0x50,0x00,0x00,}},
+ {0x7E6F,2,{0xC0,0x51,0x00,0x00,}},
+ {0x7E70,2,{0xC0,0x52,0x00,0x00,}},
+ {0x7E71,2,{0xC0,0x53,0x00,0x00,}},
+ {0x7E72,2,{0xC0,0x54,0x00,0x00,}},
+ {0x7E73,2,{0xC0,0x55,0x00,0x00,}},
+ {0x7E74,2,{0xC0,0x56,0x00,0x00,}},
+ {0x7E75,2,{0xC0,0x57,0x00,0x00,}},
+ {0x7E76,2,{0xC0,0x58,0x00,0x00,}},
+ {0x7E77,2,{0xC0,0x59,0x00,0x00,}},
+ {0x7E78,2,{0xC0,0x5A,0x00,0x00,}},
+ {0x7E79,2,{0xC0,0x5B,0x00,0x00,}},
+ {0x7E7A,2,{0xC0,0x5C,0x00,0x00,}},
+ {0x7E7B,2,{0xC0,0x5D,0x00,0x00,}},
+ {0x7E7C,2,{0xC0,0x5E,0x00,0x00,}},
+ {0x7E7D,2,{0xC0,0x5F,0x00,0x00,}},
+ {0x7E7E,2,{0xC0,0x60,0x00,0x00,}},
+ {0x7E7F,2,{0xC0,0x61,0x00,0x00,}},
+ {0x7E80,2,{0xC0,0x62,0x00,0x00,}},
+ {0x7E81,2,{0xC0,0x63,0x00,0x00,}},
+ {0x7E82,2,{0xD7,0xEB,0x00,0x00,}},
+ {0x7E83,2,{0xC0,0x64,0x00,0x00,}},
+ {0x7E84,2,{0xC0,0x65,0x00,0x00,}},
+ {0x7E85,2,{0xC0,0x66,0x00,0x00,}},
+ {0x7E86,2,{0xC0,0x67,0x00,0x00,}},
+ {0x7E87,2,{0xC0,0x68,0x00,0x00,}},
+ {0x7E88,2,{0xC0,0x69,0x00,0x00,}},
+ {0x7E89,2,{0xC0,0x6A,0x00,0x00,}},
+ {0x7E8A,2,{0xC0,0x6B,0x00,0x00,}},
+ {0x7E8B,2,{0xC0,0x6C,0x00,0x00,}},
+ {0x7E8C,2,{0xC0,0x6D,0x00,0x00,}},
+ {0x7E8D,2,{0xC0,0x6E,0x00,0x00,}},
+ {0x7E8E,2,{0xC0,0x6F,0x00,0x00,}},
+ {0x7E8F,2,{0xC0,0x70,0x00,0x00,}},
+ {0x7E90,2,{0xC0,0x71,0x00,0x00,}},
+ {0x7E91,2,{0xC0,0x72,0x00,0x00,}},
+ {0x7E92,2,{0xC0,0x73,0x00,0x00,}},
+ {0x7E93,2,{0xC0,0x74,0x00,0x00,}},
+ {0x7E94,2,{0xC0,0x75,0x00,0x00,}},
+ {0x7E95,2,{0xC0,0x76,0x00,0x00,}},
+ {0x7E96,2,{0xC0,0x77,0x00,0x00,}},
+ {0x7E97,2,{0xC0,0x78,0x00,0x00,}},
+ {0x7E98,2,{0xC0,0x79,0x00,0x00,}},
+ {0x7E99,2,{0xC0,0x7A,0x00,0x00,}},
+ {0x7E9A,2,{0xC0,0x7B,0x00,0x00,}},
+ {0x7E9B,2,{0xF4,0xEE,0x00,0x00,}},
+ {0x7E9C,2,{0xC0,0x7C,0x00,0x00,}},
+ {0x7E9D,2,{0xC0,0x7D,0x00,0x00,}},
+ {0x7E9E,2,{0xC0,0x7E,0x00,0x00,}},
+ {0x7E9F,2,{0xE6,0xF9,0x00,0x00,}},
+ {0x7EA0,2,{0xBE,0xC0,0x00,0x00,}},
+ {0x7EA1,2,{0xE6,0xFA,0x00,0x00,}},
+ {0x7EA2,2,{0xBA,0xEC,0x00,0x00,}},
+ {0x7EA3,2,{0xE6,0xFB,0x00,0x00,}},
+ {0x7EA4,2,{0xCF,0xCB,0x00,0x00,}},
+ {0x7EA5,2,{0xE6,0xFC,0x00,0x00,}},
+ {0x7EA6,2,{0xD4,0xBC,0x00,0x00,}},
+ {0x7EA7,2,{0xBC,0xB6,0x00,0x00,}},
+ {0x7EA8,2,{0xE6,0xFD,0x00,0x00,}},
+ {0x7EA9,2,{0xE6,0xFE,0x00,0x00,}},
+ {0x7EAA,2,{0xBC,0xCD,0x00,0x00,}},
+ {0x7EAB,2,{0xC8,0xD2,0x00,0x00,}},
+ {0x7EAC,2,{0xCE,0xB3,0x00,0x00,}},
+ {0x7EAD,2,{0xE7,0xA1,0x00,0x00,}},
+ {0x7EAE,2,{0xC0,0x80,0x00,0x00,}},
+ {0x7EAF,2,{0xB4,0xBF,0x00,0x00,}},
+ {0x7EB0,2,{0xE7,0xA2,0x00,0x00,}},
+ {0x7EB1,2,{0xC9,0xB4,0x00,0x00,}},
+ {0x7EB2,2,{0xB8,0xD9,0x00,0x00,}},
+ {0x7EB3,2,{0xC4,0xC9,0x00,0x00,}},
+ {0x7EB4,2,{0xC0,0x81,0x00,0x00,}},
+ {0x7EB5,2,{0xD7,0xDD,0x00,0x00,}},
+ {0x7EB6,2,{0xC2,0xDA,0x00,0x00,}},
+ {0x7EB7,2,{0xB7,0xD7,0x00,0x00,}},
+ {0x7EB8,2,{0xD6,0xBD,0x00,0x00,}},
+ {0x7EB9,2,{0xCE,0xC6,0x00,0x00,}},
+ {0x7EBA,2,{0xB7,0xC4,0x00,0x00,}},
+ {0x7EBB,2,{0xC0,0x82,0x00,0x00,}},
+ {0x7EBC,2,{0xC0,0x83,0x00,0x00,}},
+ {0x7EBD,2,{0xC5,0xA6,0x00,0x00,}},
+ {0x7EBE,2,{0xE7,0xA3,0x00,0x00,}},
+ {0x7EBF,2,{0xCF,0xDF,0x00,0x00,}},
+ {0x7EC0,2,{0xE7,0xA4,0x00,0x00,}},
+ {0x7EC1,2,{0xE7,0xA5,0x00,0x00,}},
+ {0x7EC2,2,{0xE7,0xA6,0x00,0x00,}},
+ {0x7EC3,2,{0xC1,0xB7,0x00,0x00,}},
+ {0x7EC4,2,{0xD7,0xE9,0x00,0x00,}},
+ {0x7EC5,2,{0xC9,0xF0,0x00,0x00,}},
+ {0x7EC6,2,{0xCF,0xB8,0x00,0x00,}},
+ {0x7EC7,2,{0xD6,0xAF,0x00,0x00,}},
+ {0x7EC8,2,{0xD6,0xD5,0x00,0x00,}},
+ {0x7EC9,2,{0xE7,0xA7,0x00,0x00,}},
+ {0x7ECA,2,{0xB0,0xED,0x00,0x00,}},
+ {0x7ECB,2,{0xE7,0xA8,0x00,0x00,}},
+ {0x7ECC,2,{0xE7,0xA9,0x00,0x00,}},
+ {0x7ECD,2,{0xC9,0xDC,0x00,0x00,}},
+ {0x7ECE,2,{0xD2,0xEF,0x00,0x00,}},
+ {0x7ECF,2,{0xBE,0xAD,0x00,0x00,}},
+ {0x7ED0,2,{0xE7,0xAA,0x00,0x00,}},
+ {0x7ED1,2,{0xB0,0xF3,0x00,0x00,}},
+ {0x7ED2,2,{0xC8,0xDE,0x00,0x00,}},
+ {0x7ED3,2,{0xBD,0xE1,0x00,0x00,}},
+ {0x7ED4,2,{0xE7,0xAB,0x00,0x00,}},
+ {0x7ED5,2,{0xC8,0xC6,0x00,0x00,}},
+ {0x7ED6,2,{0xC0,0x84,0x00,0x00,}},
+ {0x7ED7,2,{0xE7,0xAC,0x00,0x00,}},
+ {0x7ED8,2,{0xBB,0xE6,0x00,0x00,}},
+ {0x7ED9,2,{0xB8,0xF8,0x00,0x00,}},
+ {0x7EDA,2,{0xD1,0xA4,0x00,0x00,}},
+ {0x7EDB,2,{0xE7,0xAD,0x00,0x00,}},
+ {0x7EDC,2,{0xC2,0xE7,0x00,0x00,}},
+ {0x7EDD,2,{0xBE,0xF8,0x00,0x00,}},
+ {0x7EDE,2,{0xBD,0xCA,0x00,0x00,}},
+ {0x7EDF,2,{0xCD,0xB3,0x00,0x00,}},
+ {0x7EE0,2,{0xE7,0xAE,0x00,0x00,}},
+ {0x7EE1,2,{0xE7,0xAF,0x00,0x00,}},
+ {0x7EE2,2,{0xBE,0xEE,0x00,0x00,}},
+ {0x7EE3,2,{0xD0,0xE5,0x00,0x00,}},
+ {0x7EE4,2,{0xC0,0x85,0x00,0x00,}},
+ {0x7EE5,2,{0xCB,0xE7,0x00,0x00,}},
+ {0x7EE6,2,{0xCC,0xD0,0x00,0x00,}},
+ {0x7EE7,2,{0xBC,0xCC,0x00,0x00,}},
+ {0x7EE8,2,{0xE7,0xB0,0x00,0x00,}},
+ {0x7EE9,2,{0xBC,0xA8,0x00,0x00,}},
+ {0x7EEA,2,{0xD0,0xF7,0x00,0x00,}},
+ {0x7EEB,2,{0xE7,0xB1,0x00,0x00,}},
+ {0x7EEC,2,{0xC0,0x86,0x00,0x00,}},
+ {0x7EED,2,{0xD0,0xF8,0x00,0x00,}},
+ {0x7EEE,2,{0xE7,0xB2,0x00,0x00,}},
+ {0x7EEF,2,{0xE7,0xB3,0x00,0x00,}},
+ {0x7EF0,2,{0xB4,0xC2,0x00,0x00,}},
+ {0x7EF1,2,{0xE7,0xB4,0x00,0x00,}},
+ {0x7EF2,2,{0xE7,0xB5,0x00,0x00,}},
+ {0x7EF3,2,{0xC9,0xFE,0x00,0x00,}},
+ {0x7EF4,2,{0xCE,0xAC,0x00,0x00,}},
+ {0x7EF5,2,{0xC3,0xE0,0x00,0x00,}},
+ {0x7EF6,2,{0xE7,0xB7,0x00,0x00,}},
+ {0x7EF7,2,{0xB1,0xC1,0x00,0x00,}},
+ {0x7EF8,2,{0xB3,0xF1,0x00,0x00,}},
+ {0x7EF9,2,{0xC0,0x87,0x00,0x00,}},
+ {0x7EFA,2,{0xE7,0xB8,0x00,0x00,}},
+ {0x7EFB,2,{0xE7,0xB9,0x00,0x00,}},
+ {0x7EFC,2,{0xD7,0xDB,0x00,0x00,}},
+ {0x7EFD,2,{0xD5,0xC0,0x00,0x00,}},
+ {0x7EFE,2,{0xE7,0xBA,0x00,0x00,}},
+ {0x7EFF,2,{0xC2,0xCC,0x00,0x00,}},
+ {0x7F00,2,{0xD7,0xBA,0x00,0x00,}},
+ {0x7F01,2,{0xE7,0xBB,0x00,0x00,}},
+ {0x7F02,2,{0xE7,0xBC,0x00,0x00,}},
+ {0x7F03,2,{0xE7,0xBD,0x00,0x00,}},
+ {0x7F04,2,{0xBC,0xEA,0x00,0x00,}},
+ {0x7F05,2,{0xC3,0xE5,0x00,0x00,}},
+ {0x7F06,2,{0xC0,0xC2,0x00,0x00,}},
+ {0x7F07,2,{0xE7,0xBE,0x00,0x00,}},
+ {0x7F08,2,{0xE7,0xBF,0x00,0x00,}},
+ {0x7F09,2,{0xBC,0xA9,0x00,0x00,}},
+ {0x7F0A,2,{0xC0,0x88,0x00,0x00,}},
+ {0x7F0B,2,{0xE7,0xC0,0x00,0x00,}},
+ {0x7F0C,2,{0xE7,0xC1,0x00,0x00,}},
+ {0x7F0D,2,{0xE7,0xB6,0x00,0x00,}},
+ {0x7F0E,2,{0xB6,0xD0,0x00,0x00,}},
+ {0x7F0F,2,{0xE7,0xC2,0x00,0x00,}},
+ {0x7F10,2,{0xC0,0x89,0x00,0x00,}},
+ {0x7F11,2,{0xE7,0xC3,0x00,0x00,}},
+ {0x7F12,2,{0xE7,0xC4,0x00,0x00,}},
+ {0x7F13,2,{0xBB,0xBA,0x00,0x00,}},
+ {0x7F14,2,{0xB5,0xDE,0x00,0x00,}},
+ {0x7F15,2,{0xC2,0xC6,0x00,0x00,}},
+ {0x7F16,2,{0xB1,0xE0,0x00,0x00,}},
+ {0x7F17,2,{0xE7,0xC5,0x00,0x00,}},
+ {0x7F18,2,{0xD4,0xB5,0x00,0x00,}},
+ {0x7F19,2,{0xE7,0xC6,0x00,0x00,}},
+ {0x7F1A,2,{0xB8,0xBF,0x00,0x00,}},
+ {0x7F1B,2,{0xE7,0xC8,0x00,0x00,}},
+ {0x7F1C,2,{0xE7,0xC7,0x00,0x00,}},
+ {0x7F1D,2,{0xB7,0xEC,0x00,0x00,}},
+ {0x7F1E,2,{0xC0,0x8A,0x00,0x00,}},
+ {0x7F1F,2,{0xE7,0xC9,0x00,0x00,}},
+ {0x7F20,2,{0xB2,0xF8,0x00,0x00,}},
+ {0x7F21,2,{0xE7,0xCA,0x00,0x00,}},
+ {0x7F22,2,{0xE7,0xCB,0x00,0x00,}},
+ {0x7F23,2,{0xE7,0xCC,0x00,0x00,}},
+ {0x7F24,2,{0xE7,0xCD,0x00,0x00,}},
+ {0x7F25,2,{0xE7,0xCE,0x00,0x00,}},
+ {0x7F26,2,{0xE7,0xCF,0x00,0x00,}},
+ {0x7F27,2,{0xE7,0xD0,0x00,0x00,}},
+ {0x7F28,2,{0xD3,0xA7,0x00,0x00,}},
+ {0x7F29,2,{0xCB,0xF5,0x00,0x00,}},
+ {0x7F2A,2,{0xE7,0xD1,0x00,0x00,}},
+ {0x7F2B,2,{0xE7,0xD2,0x00,0x00,}},
+ {0x7F2C,2,{0xE7,0xD3,0x00,0x00,}},
+ {0x7F2D,2,{0xE7,0xD4,0x00,0x00,}},
+ {0x7F2E,2,{0xC9,0xC9,0x00,0x00,}},
+ {0x7F2F,2,{0xE7,0xD5,0x00,0x00,}},
+ {0x7F30,2,{0xE7,0xD6,0x00,0x00,}},
+ {0x7F31,2,{0xE7,0xD7,0x00,0x00,}},
+ {0x7F32,2,{0xE7,0xD8,0x00,0x00,}},
+ {0x7F33,2,{0xE7,0xD9,0x00,0x00,}},
+ {0x7F34,2,{0xBD,0xC9,0x00,0x00,}},
+ {0x7F35,2,{0xE7,0xDA,0x00,0x00,}},
+ {0x7F36,2,{0xF3,0xBE,0x00,0x00,}},
+ {0x7F37,2,{0xC0,0x8B,0x00,0x00,}},
+ {0x7F38,2,{0xB8,0xD7,0x00,0x00,}},
+ {0x7F39,2,{0xC0,0x8C,0x00,0x00,}},
+ {0x7F3A,2,{0xC8,0xB1,0x00,0x00,}},
+ {0x7F3B,2,{0xC0,0x8D,0x00,0x00,}},
+ {0x7F3C,2,{0xC0,0x8E,0x00,0x00,}},
+ {0x7F3D,2,{0xC0,0x8F,0x00,0x00,}},
+ {0x7F3E,2,{0xC0,0x90,0x00,0x00,}},
+ {0x7F3F,2,{0xC0,0x91,0x00,0x00,}},
+ {0x7F40,2,{0xC0,0x92,0x00,0x00,}},
+ {0x7F41,2,{0xC0,0x93,0x00,0x00,}},
+ {0x7F42,2,{0xF3,0xBF,0x00,0x00,}},
+ {0x7F43,2,{0xC0,0x94,0x00,0x00,}},
+ {0x7F44,2,{0xF3,0xC0,0x00,0x00,}},
+ {0x7F45,2,{0xF3,0xC1,0x00,0x00,}},
+ {0x7F46,2,{0xC0,0x95,0x00,0x00,}},
+ {0x7F47,2,{0xC0,0x96,0x00,0x00,}},
+ {0x7F48,2,{0xC0,0x97,0x00,0x00,}},
+ {0x7F49,2,{0xC0,0x98,0x00,0x00,}},
+ {0x7F4A,2,{0xC0,0x99,0x00,0x00,}},
+ {0x7F4B,2,{0xC0,0x9A,0x00,0x00,}},
+ {0x7F4C,2,{0xC0,0x9B,0x00,0x00,}},
+ {0x7F4D,2,{0xC0,0x9C,0x00,0x00,}},
+ {0x7F4E,2,{0xC0,0x9D,0x00,0x00,}},
+ {0x7F4F,2,{0xC0,0x9E,0x00,0x00,}},
+ {0x7F50,2,{0xB9,0xDE,0x00,0x00,}},
+ {0x7F51,2,{0xCD,0xF8,0x00,0x00,}},
+ {0x7F52,2,{0xC0,0x9F,0x00,0x00,}},
+ {0x7F53,2,{0xC0,0xA0,0x00,0x00,}},
+ {0x7F54,2,{0xD8,0xE8,0x00,0x00,}},
+ {0x7F55,2,{0xBA,0xB1,0x00,0x00,}},
+ {0x7F56,2,{0xC1,0x40,0x00,0x00,}},
+ {0x7F57,2,{0xC2,0xDE,0x00,0x00,}},
+ {0x7F58,2,{0xEE,0xB7,0x00,0x00,}},
+ {0x7F59,2,{0xC1,0x41,0x00,0x00,}},
+ {0x7F5A,2,{0xB7,0xA3,0x00,0x00,}},
+ {0x7F5B,2,{0xC1,0x42,0x00,0x00,}},
+ {0x7F5C,2,{0xC1,0x43,0x00,0x00,}},
+ {0x7F5D,2,{0xC1,0x44,0x00,0x00,}},
+ {0x7F5E,2,{0xC1,0x45,0x00,0x00,}},
+ {0x7F5F,2,{0xEE,0xB9,0x00,0x00,}},
+ {0x7F60,2,{0xC1,0x46,0x00,0x00,}},
+ {0x7F61,2,{0xEE,0xB8,0x00,0x00,}},
+ {0x7F62,2,{0xB0,0xD5,0x00,0x00,}},
+ {0x7F63,2,{0xC1,0x47,0x00,0x00,}},
+ {0x7F64,2,{0xC1,0x48,0x00,0x00,}},
+ {0x7F65,2,{0xC1,0x49,0x00,0x00,}},
+ {0x7F66,2,{0xC1,0x4A,0x00,0x00,}},
+ {0x7F67,2,{0xC1,0x4B,0x00,0x00,}},
+ {0x7F68,2,{0xEE,0xBB,0x00,0x00,}},
+ {0x7F69,2,{0xD5,0xD6,0x00,0x00,}},
+ {0x7F6A,2,{0xD7,0xEF,0x00,0x00,}},
+ {0x7F6B,2,{0xC1,0x4C,0x00,0x00,}},
+ {0x7F6C,2,{0xC1,0x4D,0x00,0x00,}},
+ {0x7F6D,2,{0xC1,0x4E,0x00,0x00,}},
+ {0x7F6E,2,{0xD6,0xC3,0x00,0x00,}},
+ {0x7F6F,2,{0xC1,0x4F,0x00,0x00,}},
+ {0x7F70,2,{0xC1,0x50,0x00,0x00,}},
+ {0x7F71,2,{0xEE,0xBD,0x00,0x00,}},
+ {0x7F72,2,{0xCA,0xF0,0x00,0x00,}},
+ {0x7F73,2,{0xC1,0x51,0x00,0x00,}},
+ {0x7F74,2,{0xEE,0xBC,0x00,0x00,}},
+ {0x7F75,2,{0xC1,0x52,0x00,0x00,}},
+ {0x7F76,2,{0xC1,0x53,0x00,0x00,}},
+ {0x7F77,2,{0xC1,0x54,0x00,0x00,}},
+ {0x7F78,2,{0xC1,0x55,0x00,0x00,}},
+ {0x7F79,2,{0xEE,0xBE,0x00,0x00,}},
+ {0x7F7A,2,{0xC1,0x56,0x00,0x00,}},
+ {0x7F7B,2,{0xC1,0x57,0x00,0x00,}},
+ {0x7F7C,2,{0xC1,0x58,0x00,0x00,}},
+ {0x7F7D,2,{0xC1,0x59,0x00,0x00,}},
+ {0x7F7E,2,{0xEE,0xC0,0x00,0x00,}},
+ {0x7F7F,2,{0xC1,0x5A,0x00,0x00,}},
+ {0x7F80,2,{0xC1,0x5B,0x00,0x00,}},
+ {0x7F81,2,{0xEE,0xBF,0x00,0x00,}},
+ {0x7F82,2,{0xC1,0x5C,0x00,0x00,}},
+ {0x7F83,2,{0xC1,0x5D,0x00,0x00,}},
+ {0x7F84,2,{0xC1,0x5E,0x00,0x00,}},
+ {0x7F85,2,{0xC1,0x5F,0x00,0x00,}},
+ {0x7F86,2,{0xC1,0x60,0x00,0x00,}},
+ {0x7F87,2,{0xC1,0x61,0x00,0x00,}},
+ {0x7F88,2,{0xC1,0x62,0x00,0x00,}},
+ {0x7F89,2,{0xC1,0x63,0x00,0x00,}},
+ {0x7F8A,2,{0xD1,0xF2,0x00,0x00,}},
+ {0x7F8B,2,{0xC1,0x64,0x00,0x00,}},
+ {0x7F8C,2,{0xC7,0xBC,0x00,0x00,}},
+ {0x7F8D,2,{0xC1,0x65,0x00,0x00,}},
+ {0x7F8E,2,{0xC3,0xC0,0x00,0x00,}},
+ {0x7F8F,2,{0xC1,0x66,0x00,0x00,}},
+ {0x7F90,2,{0xC1,0x67,0x00,0x00,}},
+ {0x7F91,2,{0xC1,0x68,0x00,0x00,}},
+ {0x7F92,2,{0xC1,0x69,0x00,0x00,}},
+ {0x7F93,2,{0xC1,0x6A,0x00,0x00,}},
+ {0x7F94,2,{0xB8,0xE1,0x00,0x00,}},
+ {0x7F95,2,{0xC1,0x6B,0x00,0x00,}},
+ {0x7F96,2,{0xC1,0x6C,0x00,0x00,}},
+ {0x7F97,2,{0xC1,0x6D,0x00,0x00,}},
+ {0x7F98,2,{0xC1,0x6E,0x00,0x00,}},
+ {0x7F99,2,{0xC1,0x6F,0x00,0x00,}},
+ {0x7F9A,2,{0xC1,0xE7,0x00,0x00,}},
+ {0x7F9B,2,{0xC1,0x70,0x00,0x00,}},
+ {0x7F9C,2,{0xC1,0x71,0x00,0x00,}},
+ {0x7F9D,2,{0xF4,0xC6,0x00,0x00,}},
+ {0x7F9E,2,{0xD0,0xDF,0x00,0x00,}},
+ {0x7F9F,2,{0xF4,0xC7,0x00,0x00,}},
+ {0x7FA0,2,{0xC1,0x72,0x00,0x00,}},
+ {0x7FA1,2,{0xCF,0xDB,0x00,0x00,}},
+ {0x7FA2,2,{0xC1,0x73,0x00,0x00,}},
+ {0x7FA3,2,{0xC1,0x74,0x00,0x00,}},
+ {0x7FA4,2,{0xC8,0xBA,0x00,0x00,}},
+ {0x7FA5,2,{0xC1,0x75,0x00,0x00,}},
+ {0x7FA6,2,{0xC1,0x76,0x00,0x00,}},
+ {0x7FA7,2,{0xF4,0xC8,0x00,0x00,}},
+ {0x7FA8,2,{0xC1,0x77,0x00,0x00,}},
+ {0x7FA9,2,{0xC1,0x78,0x00,0x00,}},
+ {0x7FAA,2,{0xC1,0x79,0x00,0x00,}},
+ {0x7FAB,2,{0xC1,0x7A,0x00,0x00,}},
+ {0x7FAC,2,{0xC1,0x7B,0x00,0x00,}},
+ {0x7FAD,2,{0xC1,0x7C,0x00,0x00,}},
+ {0x7FAE,2,{0xC1,0x7D,0x00,0x00,}},
+ {0x7FAF,2,{0xF4,0xC9,0x00,0x00,}},
+ {0x7FB0,2,{0xF4,0xCA,0x00,0x00,}},
+ {0x7FB1,2,{0xC1,0x7E,0x00,0x00,}},
+ {0x7FB2,2,{0xF4,0xCB,0x00,0x00,}},
+ {0x7FB3,2,{0xC1,0x80,0x00,0x00,}},
+ {0x7FB4,2,{0xC1,0x81,0x00,0x00,}},
+ {0x7FB5,2,{0xC1,0x82,0x00,0x00,}},
+ {0x7FB6,2,{0xC1,0x83,0x00,0x00,}},
+ {0x7FB7,2,{0xC1,0x84,0x00,0x00,}},
+ {0x7FB8,2,{0xD9,0xFA,0x00,0x00,}},
+ {0x7FB9,2,{0xB8,0xFE,0x00,0x00,}},
+ {0x7FBA,2,{0xC1,0x85,0x00,0x00,}},
+ {0x7FBB,2,{0xC1,0x86,0x00,0x00,}},
+ {0x7FBC,2,{0xE5,0xF1,0x00,0x00,}},
+ {0x7FBD,2,{0xD3,0xF0,0x00,0x00,}},
+ {0x7FBE,2,{0xC1,0x87,0x00,0x00,}},
+ {0x7FBF,2,{0xF4,0xE0,0x00,0x00,}},
+ {0x7FC0,2,{0xC1,0x88,0x00,0x00,}},
+ {0x7FC1,2,{0xCE,0xCC,0x00,0x00,}},
+ {0x7FC2,2,{0xC1,0x89,0x00,0x00,}},
+ {0x7FC3,2,{0xC1,0x8A,0x00,0x00,}},
+ {0x7FC4,2,{0xC1,0x8B,0x00,0x00,}},
+ {0x7FC5,2,{0xB3,0xE1,0x00,0x00,}},
+ {0x7FC6,2,{0xC1,0x8C,0x00,0x00,}},
+ {0x7FC7,2,{0xC1,0x8D,0x00,0x00,}},
+ {0x7FC8,2,{0xC1,0x8E,0x00,0x00,}},
+ {0x7FC9,2,{0xC1,0x8F,0x00,0x00,}},
+ {0x7FCA,2,{0xF1,0xB4,0x00,0x00,}},
+ {0x7FCB,2,{0xC1,0x90,0x00,0x00,}},
+ {0x7FCC,2,{0xD2,0xEE,0x00,0x00,}},
+ {0x7FCD,2,{0xC1,0x91,0x00,0x00,}},
+ {0x7FCE,2,{0xF4,0xE1,0x00,0x00,}},
+ {0x7FCF,2,{0xC1,0x92,0x00,0x00,}},
+ {0x7FD0,2,{0xC1,0x93,0x00,0x00,}},
+ {0x7FD1,2,{0xC1,0x94,0x00,0x00,}},
+ {0x7FD2,2,{0xC1,0x95,0x00,0x00,}},
+ {0x7FD3,2,{0xC1,0x96,0x00,0x00,}},
+ {0x7FD4,2,{0xCF,0xE8,0x00,0x00,}},
+ {0x7FD5,2,{0xF4,0xE2,0x00,0x00,}},
+ {0x7FD6,2,{0xC1,0x97,0x00,0x00,}},
+ {0x7FD7,2,{0xC1,0x98,0x00,0x00,}},
+ {0x7FD8,2,{0xC7,0xCC,0x00,0x00,}},
+ {0x7FD9,2,{0xC1,0x99,0x00,0x00,}},
+ {0x7FDA,2,{0xC1,0x9A,0x00,0x00,}},
+ {0x7FDB,2,{0xC1,0x9B,0x00,0x00,}},
+ {0x7FDC,2,{0xC1,0x9C,0x00,0x00,}},
+ {0x7FDD,2,{0xC1,0x9D,0x00,0x00,}},
+ {0x7FDE,2,{0xC1,0x9E,0x00,0x00,}},
+ {0x7FDF,2,{0xB5,0xD4,0x00,0x00,}},
+ {0x7FE0,2,{0xB4,0xE4,0x00,0x00,}},
+ {0x7FE1,2,{0xF4,0xE4,0x00,0x00,}},
+ {0x7FE2,2,{0xC1,0x9F,0x00,0x00,}},
+ {0x7FE3,2,{0xC1,0xA0,0x00,0x00,}},
+ {0x7FE4,2,{0xC2,0x40,0x00,0x00,}},
+ {0x7FE5,2,{0xF4,0xE3,0x00,0x00,}},
+ {0x7FE6,2,{0xF4,0xE5,0x00,0x00,}},
+ {0x7FE7,2,{0xC2,0x41,0x00,0x00,}},
+ {0x7FE8,2,{0xC2,0x42,0x00,0x00,}},
+ {0x7FE9,2,{0xF4,0xE6,0x00,0x00,}},
+ {0x7FEA,2,{0xC2,0x43,0x00,0x00,}},
+ {0x7FEB,2,{0xC2,0x44,0x00,0x00,}},
+ {0x7FEC,2,{0xC2,0x45,0x00,0x00,}},
+ {0x7FED,2,{0xC2,0x46,0x00,0x00,}},
+ {0x7FEE,2,{0xF4,0xE7,0x00,0x00,}},
+ {0x7FEF,2,{0xC2,0x47,0x00,0x00,}},
+ {0x7FF0,2,{0xBA,0xB2,0x00,0x00,}},
+ {0x7FF1,2,{0xB0,0xBF,0x00,0x00,}},
+ {0x7FF2,2,{0xC2,0x48,0x00,0x00,}},
+ {0x7FF3,2,{0xF4,0xE8,0x00,0x00,}},
+ {0x7FF4,2,{0xC2,0x49,0x00,0x00,}},
+ {0x7FF5,2,{0xC2,0x4A,0x00,0x00,}},
+ {0x7FF6,2,{0xC2,0x4B,0x00,0x00,}},
+ {0x7FF7,2,{0xC2,0x4C,0x00,0x00,}},
+ {0x7FF8,2,{0xC2,0x4D,0x00,0x00,}},
+ {0x7FF9,2,{0xC2,0x4E,0x00,0x00,}},
+ {0x7FFA,2,{0xC2,0x4F,0x00,0x00,}},
+ {0x7FFB,2,{0xB7,0xAD,0x00,0x00,}},
+ {0x7FFC,2,{0xD2,0xED,0x00,0x00,}},
+ {0x7FFD,2,{0xC2,0x50,0x00,0x00,}},
+ {0x7FFE,2,{0xC2,0x51,0x00,0x00,}},
+ {0x7FFF,2,{0xC2,0x52,0x00,0x00,}},
+ {0x8000,2,{0xD2,0xAB,0x00,0x00,}},
+ {0x8001,2,{0xC0,0xCF,0x00,0x00,}},
+ {0x8002,2,{0xC2,0x53,0x00,0x00,}},
+ {0x8003,2,{0xBF,0xBC,0x00,0x00,}},
+ {0x8004,2,{0xEB,0xA3,0x00,0x00,}},
+ {0x8005,2,{0xD5,0xDF,0x00,0x00,}},
+ {0x8006,2,{0xEA,0xC8,0x00,0x00,}},
+ {0x8007,2,{0xC2,0x54,0x00,0x00,}},
+ {0x8008,2,{0xC2,0x55,0x00,0x00,}},
+ {0x8009,2,{0xC2,0x56,0x00,0x00,}},
+ {0x800A,2,{0xC2,0x57,0x00,0x00,}},
+ {0x800B,2,{0xF1,0xF3,0x00,0x00,}},
+ {0x800C,2,{0xB6,0xF8,0x00,0x00,}},
+ {0x800D,2,{0xCB,0xA3,0x00,0x00,}},
+ {0x800E,2,{0xC2,0x58,0x00,0x00,}},
+ {0x800F,2,{0xC2,0x59,0x00,0x00,}},
+ {0x8010,2,{0xC4,0xCD,0x00,0x00,}},
+ {0x8011,2,{0xC2,0x5A,0x00,0x00,}},
+ {0x8012,2,{0xF1,0xE7,0x00,0x00,}},
+ {0x8013,2,{0xC2,0x5B,0x00,0x00,}},
+ {0x8014,2,{0xF1,0xE8,0x00,0x00,}},
+ {0x8015,2,{0xB8,0xFB,0x00,0x00,}},
+ {0x8016,2,{0xF1,0xE9,0x00,0x00,}},
+ {0x8017,2,{0xBA,0xC4,0x00,0x00,}},
+ {0x8018,2,{0xD4,0xC5,0x00,0x00,}},
+ {0x8019,2,{0xB0,0xD2,0x00,0x00,}},
+ {0x801A,2,{0xC2,0x5C,0x00,0x00,}},
+ {0x801B,2,{0xC2,0x5D,0x00,0x00,}},
+ {0x801C,2,{0xF1,0xEA,0x00,0x00,}},
+ {0x801D,2,{0xC2,0x5E,0x00,0x00,}},
+ {0x801E,2,{0xC2,0x5F,0x00,0x00,}},
+ {0x801F,2,{0xC2,0x60,0x00,0x00,}},
+ {0x8020,2,{0xF1,0xEB,0x00,0x00,}},
+ {0x8021,2,{0xC2,0x61,0x00,0x00,}},
+ {0x8022,2,{0xF1,0xEC,0x00,0x00,}},
+ {0x8023,2,{0xC2,0x62,0x00,0x00,}},
+ {0x8024,2,{0xC2,0x63,0x00,0x00,}},
+ {0x8025,2,{0xF1,0xED,0x00,0x00,}},
+ {0x8026,2,{0xF1,0xEE,0x00,0x00,}},
+ {0x8027,2,{0xF1,0xEF,0x00,0x00,}},
+ {0x8028,2,{0xF1,0xF1,0x00,0x00,}},
+ {0x8029,2,{0xF1,0xF0,0x00,0x00,}},
+ {0x802A,2,{0xC5,0xD5,0x00,0x00,}},
+ {0x802B,2,{0xC2,0x64,0x00,0x00,}},
+ {0x802C,2,{0xC2,0x65,0x00,0x00,}},
+ {0x802D,2,{0xC2,0x66,0x00,0x00,}},
+ {0x802E,2,{0xC2,0x67,0x00,0x00,}},
+ {0x802F,2,{0xC2,0x68,0x00,0x00,}},
+ {0x8030,2,{0xC2,0x69,0x00,0x00,}},
+ {0x8031,2,{0xF1,0xF2,0x00,0x00,}},
+ {0x8032,2,{0xC2,0x6A,0x00,0x00,}},
+ {0x8033,2,{0xB6,0xFA,0x00,0x00,}},
+ {0x8034,2,{0xC2,0x6B,0x00,0x00,}},
+ {0x8035,2,{0xF1,0xF4,0x00,0x00,}},
+ {0x8036,2,{0xD2,0xAE,0x00,0x00,}},
+ {0x8037,2,{0xDE,0xC7,0x00,0x00,}},
+ {0x8038,2,{0xCB,0xCA,0x00,0x00,}},
+ {0x8039,2,{0xC2,0x6C,0x00,0x00,}},
+ {0x803A,2,{0xC2,0x6D,0x00,0x00,}},
+ {0x803B,2,{0xB3,0xDC,0x00,0x00,}},
+ {0x803C,2,{0xC2,0x6E,0x00,0x00,}},
+ {0x803D,2,{0xB5,0xA2,0x00,0x00,}},
+ {0x803E,2,{0xC2,0x6F,0x00,0x00,}},
+ {0x803F,2,{0xB9,0xA2,0x00,0x00,}},
+ {0x8040,2,{0xC2,0x70,0x00,0x00,}},
+ {0x8041,2,{0xC2,0x71,0x00,0x00,}},
+ {0x8042,2,{0xC4,0xF4,0x00,0x00,}},
+ {0x8043,2,{0xF1,0xF5,0x00,0x00,}},
+ {0x8044,2,{0xC2,0x72,0x00,0x00,}},
+ {0x8045,2,{0xC2,0x73,0x00,0x00,}},
+ {0x8046,2,{0xF1,0xF6,0x00,0x00,}},
+ {0x8047,2,{0xC2,0x74,0x00,0x00,}},
+ {0x8048,2,{0xC2,0x75,0x00,0x00,}},
+ {0x8049,2,{0xC2,0x76,0x00,0x00,}},
+ {0x804A,2,{0xC1,0xC4,0x00,0x00,}},
+ {0x804B,2,{0xC1,0xFB,0x00,0x00,}},
+ {0x804C,2,{0xD6,0xB0,0x00,0x00,}},
+ {0x804D,2,{0xF1,0xF7,0x00,0x00,}},
+ {0x804E,2,{0xC2,0x77,0x00,0x00,}},
+ {0x804F,2,{0xC2,0x78,0x00,0x00,}},
+ {0x8050,2,{0xC2,0x79,0x00,0x00,}},
+ {0x8051,2,{0xC2,0x7A,0x00,0x00,}},
+ {0x8052,2,{0xF1,0xF8,0x00,0x00,}},
+ {0x8053,2,{0xC2,0x7B,0x00,0x00,}},
+ {0x8054,2,{0xC1,0xAA,0x00,0x00,}},
+ {0x8055,2,{0xC2,0x7C,0x00,0x00,}},
+ {0x8056,2,{0xC2,0x7D,0x00,0x00,}},
+ {0x8057,2,{0xC2,0x7E,0x00,0x00,}},
+ {0x8058,2,{0xC6,0xB8,0x00,0x00,}},
+ {0x8059,2,{0xC2,0x80,0x00,0x00,}},
+ {0x805A,2,{0xBE,0xDB,0x00,0x00,}},
+ {0x805B,2,{0xC2,0x81,0x00,0x00,}},
+ {0x805C,2,{0xC2,0x82,0x00,0x00,}},
+ {0x805D,2,{0xC2,0x83,0x00,0x00,}},
+ {0x805E,2,{0xC2,0x84,0x00,0x00,}},
+ {0x805F,2,{0xC2,0x85,0x00,0x00,}},
+ {0x8060,2,{0xC2,0x86,0x00,0x00,}},
+ {0x8061,2,{0xC2,0x87,0x00,0x00,}},
+ {0x8062,2,{0xC2,0x88,0x00,0x00,}},
+ {0x8063,2,{0xC2,0x89,0x00,0x00,}},
+ {0x8064,2,{0xC2,0x8A,0x00,0x00,}},
+ {0x8065,2,{0xC2,0x8B,0x00,0x00,}},
+ {0x8066,2,{0xC2,0x8C,0x00,0x00,}},
+ {0x8067,2,{0xC2,0x8D,0x00,0x00,}},
+ {0x8068,2,{0xC2,0x8E,0x00,0x00,}},
+ {0x8069,2,{0xF1,0xF9,0x00,0x00,}},
+ {0x806A,2,{0xB4,0xCF,0x00,0x00,}},
+ {0x806B,2,{0xC2,0x8F,0x00,0x00,}},
+ {0x806C,2,{0xC2,0x90,0x00,0x00,}},
+ {0x806D,2,{0xC2,0x91,0x00,0x00,}},
+ {0x806E,2,{0xC2,0x92,0x00,0x00,}},
+ {0x806F,2,{0xC2,0x93,0x00,0x00,}},
+ {0x8070,2,{0xC2,0x94,0x00,0x00,}},
+ {0x8071,2,{0xF1,0xFA,0x00,0x00,}},
+ {0x8072,2,{0xC2,0x95,0x00,0x00,}},
+ {0x8073,2,{0xC2,0x96,0x00,0x00,}},
+ {0x8074,2,{0xC2,0x97,0x00,0x00,}},
+ {0x8075,2,{0xC2,0x98,0x00,0x00,}},
+ {0x8076,2,{0xC2,0x99,0x00,0x00,}},
+ {0x8077,2,{0xC2,0x9A,0x00,0x00,}},
+ {0x8078,2,{0xC2,0x9B,0x00,0x00,}},
+ {0x8079,2,{0xC2,0x9C,0x00,0x00,}},
+ {0x807A,2,{0xC2,0x9D,0x00,0x00,}},
+ {0x807B,2,{0xC2,0x9E,0x00,0x00,}},
+ {0x807C,2,{0xC2,0x9F,0x00,0x00,}},
+ {0x807D,2,{0xC2,0xA0,0x00,0x00,}},
+ {0x807E,2,{0xC3,0x40,0x00,0x00,}},
+ {0x807F,2,{0xED,0xB2,0x00,0x00,}},
+ {0x8080,2,{0xED,0xB1,0x00,0x00,}},
+ {0x8081,2,{0xC3,0x41,0x00,0x00,}},
+ {0x8082,2,{0xC3,0x42,0x00,0x00,}},
+ {0x8083,2,{0xCB,0xE0,0x00,0x00,}},
+ {0x8084,2,{0xD2,0xDE,0x00,0x00,}},
+ {0x8085,2,{0xC3,0x43,0x00,0x00,}},
+ {0x8086,2,{0xCB,0xC1,0x00,0x00,}},
+ {0x8087,2,{0xD5,0xD8,0x00,0x00,}},
+ {0x8088,2,{0xC3,0x44,0x00,0x00,}},
+ {0x8089,2,{0xC8,0xE2,0x00,0x00,}},
+ {0x808A,2,{0xC3,0x45,0x00,0x00,}},
+ {0x808B,2,{0xC0,0xDF,0x00,0x00,}},
+ {0x808C,2,{0xBC,0xA1,0x00,0x00,}},
+ {0x808D,2,{0xC3,0x46,0x00,0x00,}},
+ {0x808E,2,{0xC3,0x47,0x00,0x00,}},
+ {0x808F,2,{0xC3,0x48,0x00,0x00,}},
+ {0x8090,2,{0xC3,0x49,0x00,0x00,}},
+ {0x8091,2,{0xC3,0x4A,0x00,0x00,}},
+ {0x8092,2,{0xC3,0x4B,0x00,0x00,}},
+ {0x8093,2,{0xEB,0xC1,0x00,0x00,}},
+ {0x8094,2,{0xC3,0x4C,0x00,0x00,}},
+ {0x8095,2,{0xC3,0x4D,0x00,0x00,}},
+ {0x8096,2,{0xD0,0xA4,0x00,0x00,}},
+ {0x8097,2,{0xC3,0x4E,0x00,0x00,}},
+ {0x8098,2,{0xD6,0xE2,0x00,0x00,}},
+ {0x8099,2,{0xC3,0x4F,0x00,0x00,}},
+ {0x809A,2,{0xB6,0xC7,0x00,0x00,}},
+ {0x809B,2,{0xB8,0xD8,0x00,0x00,}},
+ {0x809C,2,{0xEB,0xC0,0x00,0x00,}},
+ {0x809D,2,{0xB8,0xCE,0x00,0x00,}},
+ {0x809E,2,{0xC3,0x50,0x00,0x00,}},
+ {0x809F,2,{0xEB,0xBF,0x00,0x00,}},
+ {0x80A0,2,{0xB3,0xA6,0x00,0x00,}},
+ {0x80A1,2,{0xB9,0xC9,0x00,0x00,}},
+ {0x80A2,2,{0xD6,0xAB,0x00,0x00,}},
+ {0x80A3,2,{0xC3,0x51,0x00,0x00,}},
+ {0x80A4,2,{0xB7,0xF4,0x00,0x00,}},
+ {0x80A5,2,{0xB7,0xCA,0x00,0x00,}},
+ {0x80A6,2,{0xC3,0x52,0x00,0x00,}},
+ {0x80A7,2,{0xC3,0x53,0x00,0x00,}},
+ {0x80A8,2,{0xC3,0x54,0x00,0x00,}},
+ {0x80A9,2,{0xBC,0xE7,0x00,0x00,}},
+ {0x80AA,2,{0xB7,0xBE,0x00,0x00,}},
+ {0x80AB,2,{0xEB,0xC6,0x00,0x00,}},
+ {0x80AC,2,{0xC3,0x55,0x00,0x00,}},
+ {0x80AD,2,{0xEB,0xC7,0x00,0x00,}},
+ {0x80AE,2,{0xB0,0xB9,0x00,0x00,}},
+ {0x80AF,2,{0xBF,0xCF,0x00,0x00,}},
+ {0x80B0,2,{0xC3,0x56,0x00,0x00,}},
+ {0x80B1,2,{0xEB,0xC5,0x00,0x00,}},
+ {0x80B2,2,{0xD3,0xFD,0x00,0x00,}},
+ {0x80B3,2,{0xC3,0x57,0x00,0x00,}},
+ {0x80B4,2,{0xEB,0xC8,0x00,0x00,}},
+ {0x80B5,2,{0xC3,0x58,0x00,0x00,}},
+ {0x80B6,2,{0xC3,0x59,0x00,0x00,}},
+ {0x80B7,2,{0xEB,0xC9,0x00,0x00,}},
+ {0x80B8,2,{0xC3,0x5A,0x00,0x00,}},
+ {0x80B9,2,{0xC3,0x5B,0x00,0x00,}},
+ {0x80BA,2,{0xB7,0xCE,0x00,0x00,}},
+ {0x80BB,2,{0xC3,0x5C,0x00,0x00,}},
+ {0x80BC,2,{0xEB,0xC2,0x00,0x00,}},
+ {0x80BD,2,{0xEB,0xC4,0x00,0x00,}},
+ {0x80BE,2,{0xC9,0xF6,0x00,0x00,}},
+ {0x80BF,2,{0xD6,0xD7,0x00,0x00,}},
+ {0x80C0,2,{0xD5,0xCD,0x00,0x00,}},
+ {0x80C1,2,{0xD0,0xB2,0x00,0x00,}},
+ {0x80C2,2,{0xEB,0xCF,0x00,0x00,}},
+ {0x80C3,2,{0xCE,0xB8,0x00,0x00,}},
+ {0x80C4,2,{0xEB,0xD0,0x00,0x00,}},
+ {0x80C5,2,{0xC3,0x5D,0x00,0x00,}},
+ {0x80C6,2,{0xB5,0xA8,0x00,0x00,}},
+ {0x80C7,2,{0xC3,0x5E,0x00,0x00,}},
+ {0x80C8,2,{0xC3,0x5F,0x00,0x00,}},
+ {0x80C9,2,{0xC3,0x60,0x00,0x00,}},
+ {0x80CA,2,{0xC3,0x61,0x00,0x00,}},
+ {0x80CB,2,{0xC3,0x62,0x00,0x00,}},
+ {0x80CC,2,{0xB1,0xB3,0x00,0x00,}},
+ {0x80CD,2,{0xEB,0xD2,0x00,0x00,}},
+ {0x80CE,2,{0xCC,0xA5,0x00,0x00,}},
+ {0x80CF,2,{0xC3,0x63,0x00,0x00,}},
+ {0x80D0,2,{0xC3,0x64,0x00,0x00,}},
+ {0x80D1,2,{0xC3,0x65,0x00,0x00,}},
+ {0x80D2,2,{0xC3,0x66,0x00,0x00,}},
+ {0x80D3,2,{0xC3,0x67,0x00,0x00,}},
+ {0x80D4,2,{0xC3,0x68,0x00,0x00,}},
+ {0x80D5,2,{0xC3,0x69,0x00,0x00,}},
+ {0x80D6,2,{0xC5,0xD6,0x00,0x00,}},
+ {0x80D7,2,{0xEB,0xD3,0x00,0x00,}},
+ {0x80D8,2,{0xC3,0x6A,0x00,0x00,}},
+ {0x80D9,2,{0xEB,0xD1,0x00,0x00,}},
+ {0x80DA,2,{0xC5,0xDF,0x00,0x00,}},
+ {0x80DB,2,{0xEB,0xCE,0x00,0x00,}},
+ {0x80DC,2,{0xCA,0xA4,0x00,0x00,}},
+ {0x80DD,2,{0xEB,0xD5,0x00,0x00,}},
+ {0x80DE,2,{0xB0,0xFB,0x00,0x00,}},
+ {0x80DF,2,{0xC3,0x6B,0x00,0x00,}},
+ {0x80E0,2,{0xC3,0x6C,0x00,0x00,}},
+ {0x80E1,2,{0xBA,0xFA,0x00,0x00,}},
+ {0x80E2,2,{0xC3,0x6D,0x00,0x00,}},
+ {0x80E3,2,{0xC3,0x6E,0x00,0x00,}},
+ {0x80E4,2,{0xD8,0xB7,0x00,0x00,}},
+ {0x80E5,2,{0xF1,0xE3,0x00,0x00,}},
+ {0x80E6,2,{0xC3,0x6F,0x00,0x00,}},
+ {0x80E7,2,{0xEB,0xCA,0x00,0x00,}},
+ {0x80E8,2,{0xEB,0xCB,0x00,0x00,}},
+ {0x80E9,2,{0xEB,0xCC,0x00,0x00,}},
+ {0x80EA,2,{0xEB,0xCD,0x00,0x00,}},
+ {0x80EB,2,{0xEB,0xD6,0x00,0x00,}},
+ {0x80EC,2,{0xE6,0xC0,0x00,0x00,}},
+ {0x80ED,2,{0xEB,0xD9,0x00,0x00,}},
+ {0x80EE,2,{0xC3,0x70,0x00,0x00,}},
+ {0x80EF,2,{0xBF,0xE8,0x00,0x00,}},
+ {0x80F0,2,{0xD2,0xC8,0x00,0x00,}},
+ {0x80F1,2,{0xEB,0xD7,0x00,0x00,}},
+ {0x80F2,2,{0xEB,0xDC,0x00,0x00,}},
+ {0x80F3,2,{0xB8,0xEC,0x00,0x00,}},
+ {0x80F4,2,{0xEB,0xD8,0x00,0x00,}},
+ {0x80F5,2,{0xC3,0x71,0x00,0x00,}},
+ {0x80F6,2,{0xBD,0xBA,0x00,0x00,}},
+ {0x80F7,2,{0xC3,0x72,0x00,0x00,}},
+ {0x80F8,2,{0xD0,0xD8,0x00,0x00,}},
+ {0x80F9,2,{0xC3,0x73,0x00,0x00,}},
+ {0x80FA,2,{0xB0,0xB7,0x00,0x00,}},
+ {0x80FB,2,{0xC3,0x74,0x00,0x00,}},
+ {0x80FC,2,{0xEB,0xDD,0x00,0x00,}},
+ {0x80FD,2,{0xC4,0xDC,0x00,0x00,}},
+ {0x80FE,2,{0xC3,0x75,0x00,0x00,}},
+ {0x80FF,2,{0xC3,0x76,0x00,0x00,}},
+ {0x8100,2,{0xC3,0x77,0x00,0x00,}},
+ {0x8101,2,{0xC3,0x78,0x00,0x00,}},
+ {0x8102,2,{0xD6,0xAC,0x00,0x00,}},
+ {0x8103,2,{0xC3,0x79,0x00,0x00,}},
+ {0x8104,2,{0xC3,0x7A,0x00,0x00,}},
+ {0x8105,2,{0xC3,0x7B,0x00,0x00,}},
+ {0x8106,2,{0xB4,0xE0,0x00,0x00,}},
+ {0x8107,2,{0xC3,0x7C,0x00,0x00,}},
+ {0x8108,2,{0xC3,0x7D,0x00,0x00,}},
+ {0x8109,2,{0xC2,0xF6,0x00,0x00,}},
+ {0x810A,2,{0xBC,0xB9,0x00,0x00,}},
+ {0x810B,2,{0xC3,0x7E,0x00,0x00,}},
+ {0x810C,2,{0xC3,0x80,0x00,0x00,}},
+ {0x810D,2,{0xEB,0xDA,0x00,0x00,}},
+ {0x810E,2,{0xEB,0xDB,0x00,0x00,}},
+ {0x810F,2,{0xD4,0xE0,0x00,0x00,}},
+ {0x8110,2,{0xC6,0xEA,0x00,0x00,}},
+ {0x8111,2,{0xC4,0xD4,0x00,0x00,}},
+ {0x8112,2,{0xEB,0xDF,0x00,0x00,}},
+ {0x8113,2,{0xC5,0xA7,0x00,0x00,}},
+ {0x8114,2,{0xD9,0xF5,0x00,0x00,}},
+ {0x8115,2,{0xC3,0x81,0x00,0x00,}},
+ {0x8116,2,{0xB2,0xB1,0x00,0x00,}},
+ {0x8117,2,{0xC3,0x82,0x00,0x00,}},
+ {0x8118,2,{0xEB,0xE4,0x00,0x00,}},
+ {0x8119,2,{0xC3,0x83,0x00,0x00,}},
+ {0x811A,2,{0xBD,0xC5,0x00,0x00,}},
+ {0x811B,2,{0xC3,0x84,0x00,0x00,}},
+ {0x811C,2,{0xC3,0x85,0x00,0x00,}},
+ {0x811D,2,{0xC3,0x86,0x00,0x00,}},
+ {0x811E,2,{0xEB,0xE2,0x00,0x00,}},
+ {0x811F,2,{0xC3,0x87,0x00,0x00,}},
+ {0x8120,2,{0xC3,0x88,0x00,0x00,}},
+ {0x8121,2,{0xC3,0x89,0x00,0x00,}},
+ {0x8122,2,{0xC3,0x8A,0x00,0x00,}},
+ {0x8123,2,{0xC3,0x8B,0x00,0x00,}},
+ {0x8124,2,{0xC3,0x8C,0x00,0x00,}},
+ {0x8125,2,{0xC3,0x8D,0x00,0x00,}},
+ {0x8126,2,{0xC3,0x8E,0x00,0x00,}},
+ {0x8127,2,{0xC3,0x8F,0x00,0x00,}},
+ {0x8128,2,{0xC3,0x90,0x00,0x00,}},
+ {0x8129,2,{0xC3,0x91,0x00,0x00,}},
+ {0x812A,2,{0xC3,0x92,0x00,0x00,}},
+ {0x812B,2,{0xC3,0x93,0x00,0x00,}},
+ {0x812C,2,{0xEB,0xE3,0x00,0x00,}},
+ {0x812D,2,{0xC3,0x94,0x00,0x00,}},
+ {0x812E,2,{0xC3,0x95,0x00,0x00,}},
+ {0x812F,2,{0xB8,0xAC,0x00,0x00,}},
+ {0x8130,2,{0xC3,0x96,0x00,0x00,}},
+ {0x8131,2,{0xCD,0xD1,0x00,0x00,}},
+ {0x8132,2,{0xEB,0xE5,0x00,0x00,}},
+ {0x8133,2,{0xC3,0x97,0x00,0x00,}},
+ {0x8134,2,{0xC3,0x98,0x00,0x00,}},
+ {0x8135,2,{0xC3,0x99,0x00,0x00,}},
+ {0x8136,2,{0xEB,0xE1,0x00,0x00,}},
+ {0x8137,2,{0xC3,0x9A,0x00,0x00,}},
+ {0x8138,2,{0xC1,0xB3,0x00,0x00,}},
+ {0x8139,2,{0xC3,0x9B,0x00,0x00,}},
+ {0x813A,2,{0xC3,0x9C,0x00,0x00,}},
+ {0x813B,2,{0xC3,0x9D,0x00,0x00,}},
+ {0x813C,2,{0xC3,0x9E,0x00,0x00,}},
+ {0x813D,2,{0xC3,0x9F,0x00,0x00,}},
+ {0x813E,2,{0xC6,0xA2,0x00,0x00,}},
+ {0x813F,2,{0xC3,0xA0,0x00,0x00,}},
+ {0x8140,2,{0xC4,0x40,0x00,0x00,}},
+ {0x8141,2,{0xC4,0x41,0x00,0x00,}},
+ {0x8142,2,{0xC4,0x42,0x00,0x00,}},
+ {0x8143,2,{0xC4,0x43,0x00,0x00,}},
+ {0x8144,2,{0xC4,0x44,0x00,0x00,}},
+ {0x8145,2,{0xC4,0x45,0x00,0x00,}},
+ {0x8146,2,{0xCC,0xF3,0x00,0x00,}},
+ {0x8147,2,{0xC4,0x46,0x00,0x00,}},
+ {0x8148,2,{0xEB,0xE6,0x00,0x00,}},
+ {0x8149,2,{0xC4,0x47,0x00,0x00,}},
+ {0x814A,2,{0xC0,0xB0,0x00,0x00,}},
+ {0x814B,2,{0xD2,0xB8,0x00,0x00,}},
+ {0x814C,2,{0xEB,0xE7,0x00,0x00,}},
+ {0x814D,2,{0xC4,0x48,0x00,0x00,}},
+ {0x814E,2,{0xC4,0x49,0x00,0x00,}},
+ {0x814F,2,{0xC4,0x4A,0x00,0x00,}},
+ {0x8150,2,{0xB8,0xAF,0x00,0x00,}},
+ {0x8151,2,{0xB8,0xAD,0x00,0x00,}},
+ {0x8152,2,{0xC4,0x4B,0x00,0x00,}},
+ {0x8153,2,{0xEB,0xE8,0x00,0x00,}},
+ {0x8154,2,{0xC7,0xBB,0x00,0x00,}},
+ {0x8155,2,{0xCD,0xF3,0x00,0x00,}},
+ {0x8156,2,{0xC4,0x4C,0x00,0x00,}},
+ {0x8157,2,{0xC4,0x4D,0x00,0x00,}},
+ {0x8158,2,{0xC4,0x4E,0x00,0x00,}},
+ {0x8159,2,{0xEB,0xEA,0x00,0x00,}},
+ {0x815A,2,{0xEB,0xEB,0x00,0x00,}},
+ {0x815B,2,{0xC4,0x4F,0x00,0x00,}},
+ {0x815C,2,{0xC4,0x50,0x00,0x00,}},
+ {0x815D,2,{0xC4,0x51,0x00,0x00,}},
+ {0x815E,2,{0xC4,0x52,0x00,0x00,}},
+ {0x815F,2,{0xC4,0x53,0x00,0x00,}},
+ {0x8160,2,{0xEB,0xED,0x00,0x00,}},
+ {0x8161,2,{0xC4,0x54,0x00,0x00,}},
+ {0x8162,2,{0xC4,0x55,0x00,0x00,}},
+ {0x8163,2,{0xC4,0x56,0x00,0x00,}},
+ {0x8164,2,{0xC4,0x57,0x00,0x00,}},
+ {0x8165,2,{0xD0,0xC8,0x00,0x00,}},
+ {0x8166,2,{0xC4,0x58,0x00,0x00,}},
+ {0x8167,2,{0xEB,0xF2,0x00,0x00,}},
+ {0x8168,2,{0xC4,0x59,0x00,0x00,}},
+ {0x8169,2,{0xEB,0xEE,0x00,0x00,}},
+ {0x816A,2,{0xC4,0x5A,0x00,0x00,}},
+ {0x816B,2,{0xC4,0x5B,0x00,0x00,}},
+ {0x816C,2,{0xC4,0x5C,0x00,0x00,}},
+ {0x816D,2,{0xEB,0xF1,0x00,0x00,}},
+ {0x816E,2,{0xC8,0xF9,0x00,0x00,}},
+ {0x816F,2,{0xC4,0x5D,0x00,0x00,}},
+ {0x8170,2,{0xD1,0xFC,0x00,0x00,}},
+ {0x8171,2,{0xEB,0xEC,0x00,0x00,}},
+ {0x8172,2,{0xC4,0x5E,0x00,0x00,}},
+ {0x8173,2,{0xC4,0x5F,0x00,0x00,}},
+ {0x8174,2,{0xEB,0xE9,0x00,0x00,}},
+ {0x8175,2,{0xC4,0x60,0x00,0x00,}},
+ {0x8176,2,{0xC4,0x61,0x00,0x00,}},
+ {0x8177,2,{0xC4,0x62,0x00,0x00,}},
+ {0x8178,2,{0xC4,0x63,0x00,0x00,}},
+ {0x8179,2,{0xB8,0xB9,0x00,0x00,}},
+ {0x817A,2,{0xCF,0xD9,0x00,0x00,}},
+ {0x817B,2,{0xC4,0xE5,0x00,0x00,}},
+ {0x817C,2,{0xEB,0xEF,0x00,0x00,}},
+ {0x817D,2,{0xEB,0xF0,0x00,0x00,}},
+ {0x817E,2,{0xCC,0xDA,0x00,0x00,}},
+ {0x817F,2,{0xCD,0xC8,0x00,0x00,}},
+ {0x8180,2,{0xB0,0xF2,0x00,0x00,}},
+ {0x8181,2,{0xC4,0x64,0x00,0x00,}},
+ {0x8182,2,{0xEB,0xF6,0x00,0x00,}},
+ {0x8183,2,{0xC4,0x65,0x00,0x00,}},
+ {0x8184,2,{0xC4,0x66,0x00,0x00,}},
+ {0x8185,2,{0xC4,0x67,0x00,0x00,}},
+ {0x8186,2,{0xC4,0x68,0x00,0x00,}},
+ {0x8187,2,{0xC4,0x69,0x00,0x00,}},
+ {0x8188,2,{0xEB,0xF5,0x00,0x00,}},
+ {0x8189,2,{0xC4,0x6A,0x00,0x00,}},
+ {0x818A,2,{0xB2,0xB2,0x00,0x00,}},
+ {0x818B,2,{0xC4,0x6B,0x00,0x00,}},
+ {0x818C,2,{0xC4,0x6C,0x00,0x00,}},
+ {0x818D,2,{0xC4,0x6D,0x00,0x00,}},
+ {0x818E,2,{0xC4,0x6E,0x00,0x00,}},
+ {0x818F,2,{0xB8,0xE0,0x00,0x00,}},
+ {0x8190,2,{0xC4,0x6F,0x00,0x00,}},
+ {0x8191,2,{0xEB,0xF7,0x00,0x00,}},
+ {0x8192,2,{0xC4,0x70,0x00,0x00,}},
+ {0x8193,2,{0xC4,0x71,0x00,0x00,}},
+ {0x8194,2,{0xC4,0x72,0x00,0x00,}},
+ {0x8195,2,{0xC4,0x73,0x00,0x00,}},
+ {0x8196,2,{0xC4,0x74,0x00,0x00,}},
+ {0x8197,2,{0xC4,0x75,0x00,0x00,}},
+ {0x8198,2,{0xB1,0xEC,0x00,0x00,}},
+ {0x8199,2,{0xC4,0x76,0x00,0x00,}},
+ {0x819A,2,{0xC4,0x77,0x00,0x00,}},
+ {0x819B,2,{0xCC,0xC5,0x00,0x00,}},
+ {0x819C,2,{0xC4,0xA4,0x00,0x00,}},
+ {0x819D,2,{0xCF,0xA5,0x00,0x00,}},
+ {0x819E,2,{0xC4,0x78,0x00,0x00,}},
+ {0x819F,2,{0xC4,0x79,0x00,0x00,}},
+ {0x81A0,2,{0xC4,0x7A,0x00,0x00,}},
+ {0x81A1,2,{0xC4,0x7B,0x00,0x00,}},
+ {0x81A2,2,{0xC4,0x7C,0x00,0x00,}},
+ {0x81A3,2,{0xEB,0xF9,0x00,0x00,}},
+ {0x81A4,2,{0xC4,0x7D,0x00,0x00,}},
+ {0x81A5,2,{0xC4,0x7E,0x00,0x00,}},
+ {0x81A6,2,{0xEC,0xA2,0x00,0x00,}},
+ {0x81A7,2,{0xC4,0x80,0x00,0x00,}},
+ {0x81A8,2,{0xC5,0xF2,0x00,0x00,}},
+ {0x81A9,2,{0xC4,0x81,0x00,0x00,}},
+ {0x81AA,2,{0xEB,0xFA,0x00,0x00,}},
+ {0x81AB,2,{0xC4,0x82,0x00,0x00,}},
+ {0x81AC,2,{0xC4,0x83,0x00,0x00,}},
+ {0x81AD,2,{0xC4,0x84,0x00,0x00,}},
+ {0x81AE,2,{0xC4,0x85,0x00,0x00,}},
+ {0x81AF,2,{0xC4,0x86,0x00,0x00,}},
+ {0x81B0,2,{0xC4,0x87,0x00,0x00,}},
+ {0x81B1,2,{0xC4,0x88,0x00,0x00,}},
+ {0x81B2,2,{0xC4,0x89,0x00,0x00,}},
+ {0x81B3,2,{0xC9,0xC5,0x00,0x00,}},
+ {0x81B4,2,{0xC4,0x8A,0x00,0x00,}},
+ {0x81B5,2,{0xC4,0x8B,0x00,0x00,}},
+ {0x81B6,2,{0xC4,0x8C,0x00,0x00,}},
+ {0x81B7,2,{0xC4,0x8D,0x00,0x00,}},
+ {0x81B8,2,{0xC4,0x8E,0x00,0x00,}},
+ {0x81B9,2,{0xC4,0x8F,0x00,0x00,}},
+ {0x81BA,2,{0xE2,0xDF,0x00,0x00,}},
+ {0x81BB,2,{0xEB,0xFE,0x00,0x00,}},
+ {0x81BC,2,{0xC4,0x90,0x00,0x00,}},
+ {0x81BD,2,{0xC4,0x91,0x00,0x00,}},
+ {0x81BE,2,{0xC4,0x92,0x00,0x00,}},
+ {0x81BF,2,{0xC4,0x93,0x00,0x00,}},
+ {0x81C0,2,{0xCD,0xCE,0x00,0x00,}},
+ {0x81C1,2,{0xEC,0xA1,0x00,0x00,}},
+ {0x81C2,2,{0xB1,0xDB,0x00,0x00,}},
+ {0x81C3,2,{0xD3,0xB7,0x00,0x00,}},
+ {0x81C4,2,{0xC4,0x94,0x00,0x00,}},
+ {0x81C5,2,{0xC4,0x95,0x00,0x00,}},
+ {0x81C6,2,{0xD2,0xDC,0x00,0x00,}},
+ {0x81C7,2,{0xC4,0x96,0x00,0x00,}},
+ {0x81C8,2,{0xC4,0x97,0x00,0x00,}},
+ {0x81C9,2,{0xC4,0x98,0x00,0x00,}},
+ {0x81CA,2,{0xEB,0xFD,0x00,0x00,}},
+ {0x81CB,2,{0xC4,0x99,0x00,0x00,}},
+ {0x81CC,2,{0xEB,0xFB,0x00,0x00,}},
+ {0x81CD,2,{0xC4,0x9A,0x00,0x00,}},
+ {0x81CE,2,{0xC4,0x9B,0x00,0x00,}},
+ {0x81CF,2,{0xC4,0x9C,0x00,0x00,}},
+ {0x81D0,2,{0xC4,0x9D,0x00,0x00,}},
+ {0x81D1,2,{0xC4,0x9E,0x00,0x00,}},
+ {0x81D2,2,{0xC4,0x9F,0x00,0x00,}},
+ {0x81D3,2,{0xC4,0xA0,0x00,0x00,}},
+ {0x81D4,2,{0xC5,0x40,0x00,0x00,}},
+ {0x81D5,2,{0xC5,0x41,0x00,0x00,}},
+ {0x81D6,2,{0xC5,0x42,0x00,0x00,}},
+ {0x81D7,2,{0xC5,0x43,0x00,0x00,}},
+ {0x81D8,2,{0xC5,0x44,0x00,0x00,}},
+ {0x81D9,2,{0xC5,0x45,0x00,0x00,}},
+ {0x81DA,2,{0xC5,0x46,0x00,0x00,}},
+ {0x81DB,2,{0xC5,0x47,0x00,0x00,}},
+ {0x81DC,2,{0xC5,0x48,0x00,0x00,}},
+ {0x81DD,2,{0xC5,0x49,0x00,0x00,}},
+ {0x81DE,2,{0xC5,0x4A,0x00,0x00,}},
+ {0x81DF,2,{0xC5,0x4B,0x00,0x00,}},
+ {0x81E0,2,{0xC5,0x4C,0x00,0x00,}},
+ {0x81E1,2,{0xC5,0x4D,0x00,0x00,}},
+ {0x81E2,2,{0xC5,0x4E,0x00,0x00,}},
+ {0x81E3,2,{0xB3,0xBC,0x00,0x00,}},
+ {0x81E4,2,{0xC5,0x4F,0x00,0x00,}},
+ {0x81E5,2,{0xC5,0x50,0x00,0x00,}},
+ {0x81E6,2,{0xC5,0x51,0x00,0x00,}},
+ {0x81E7,2,{0xEA,0xB0,0x00,0x00,}},
+ {0x81E8,2,{0xC5,0x52,0x00,0x00,}},
+ {0x81E9,2,{0xC5,0x53,0x00,0x00,}},
+ {0x81EA,2,{0xD7,0xD4,0x00,0x00,}},
+ {0x81EB,2,{0xC5,0x54,0x00,0x00,}},
+ {0x81EC,2,{0xF4,0xAB,0x00,0x00,}},
+ {0x81ED,2,{0xB3,0xF4,0x00,0x00,}},
+ {0x81EE,2,{0xC5,0x55,0x00,0x00,}},
+ {0x81EF,2,{0xC5,0x56,0x00,0x00,}},
+ {0x81F0,2,{0xC5,0x57,0x00,0x00,}},
+ {0x81F1,2,{0xC5,0x58,0x00,0x00,}},
+ {0x81F2,2,{0xC5,0x59,0x00,0x00,}},
+ {0x81F3,2,{0xD6,0xC1,0x00,0x00,}},
+ {0x81F4,2,{0xD6,0xC2,0x00,0x00,}},
+ {0x81F5,2,{0xC5,0x5A,0x00,0x00,}},
+ {0x81F6,2,{0xC5,0x5B,0x00,0x00,}},
+ {0x81F7,2,{0xC5,0x5C,0x00,0x00,}},
+ {0x81F8,2,{0xC5,0x5D,0x00,0x00,}},
+ {0x81F9,2,{0xC5,0x5E,0x00,0x00,}},
+ {0x81FA,2,{0xC5,0x5F,0x00,0x00,}},
+ {0x81FB,2,{0xD5,0xE9,0x00,0x00,}},
+ {0x81FC,2,{0xBE,0xCA,0x00,0x00,}},
+ {0x81FD,2,{0xC5,0x60,0x00,0x00,}},
+ {0x81FE,2,{0xF4,0xA7,0x00,0x00,}},
+ {0x81FF,2,{0xC5,0x61,0x00,0x00,}},
+ {0x8200,2,{0xD2,0xA8,0x00,0x00,}},
+ {0x8201,2,{0xF4,0xA8,0x00,0x00,}},
+ {0x8202,2,{0xF4,0xA9,0x00,0x00,}},
+ {0x8203,2,{0xC5,0x62,0x00,0x00,}},
+ {0x8204,2,{0xF4,0xAA,0x00,0x00,}},
+ {0x8205,2,{0xBE,0xCB,0x00,0x00,}},
+ {0x8206,2,{0xD3,0xDF,0x00,0x00,}},
+ {0x8207,2,{0xC5,0x63,0x00,0x00,}},
+ {0x8208,2,{0xC5,0x64,0x00,0x00,}},
+ {0x8209,2,{0xC5,0x65,0x00,0x00,}},
+ {0x820A,2,{0xC5,0x66,0x00,0x00,}},
+ {0x820B,2,{0xC5,0x67,0x00,0x00,}},
+ {0x820C,2,{0xC9,0xE0,0x00,0x00,}},
+ {0x820D,2,{0xC9,0xE1,0x00,0x00,}},
+ {0x820E,2,{0xC5,0x68,0x00,0x00,}},
+ {0x820F,2,{0xC5,0x69,0x00,0x00,}},
+ {0x8210,2,{0xF3,0xC2,0x00,0x00,}},
+ {0x8211,2,{0xC5,0x6A,0x00,0x00,}},
+ {0x8212,2,{0xCA,0xE6,0x00,0x00,}},
+ {0x8213,2,{0xC5,0x6B,0x00,0x00,}},
+ {0x8214,2,{0xCC,0xF2,0x00,0x00,}},
+ {0x8215,2,{0xC5,0x6C,0x00,0x00,}},
+ {0x8216,2,{0xC5,0x6D,0x00,0x00,}},
+ {0x8217,2,{0xC5,0x6E,0x00,0x00,}},
+ {0x8218,2,{0xC5,0x6F,0x00,0x00,}},
+ {0x8219,2,{0xC5,0x70,0x00,0x00,}},
+ {0x821A,2,{0xC5,0x71,0x00,0x00,}},
+ {0x821B,2,{0xE2,0xB6,0x00,0x00,}},
+ {0x821C,2,{0xCB,0xB4,0x00,0x00,}},
+ {0x821D,2,{0xC5,0x72,0x00,0x00,}},
+ {0x821E,2,{0xCE,0xE8,0x00,0x00,}},
+ {0x821F,2,{0xD6,0xDB,0x00,0x00,}},
+ {0x8220,2,{0xC5,0x73,0x00,0x00,}},
+ {0x8221,2,{0xF4,0xAD,0x00,0x00,}},
+ {0x8222,2,{0xF4,0xAE,0x00,0x00,}},
+ {0x8223,2,{0xF4,0xAF,0x00,0x00,}},
+ {0x8224,2,{0xC5,0x74,0x00,0x00,}},
+ {0x8225,2,{0xC5,0x75,0x00,0x00,}},
+ {0x8226,2,{0xC5,0x76,0x00,0x00,}},
+ {0x8227,2,{0xC5,0x77,0x00,0x00,}},
+ {0x8228,2,{0xF4,0xB2,0x00,0x00,}},
+ {0x8229,2,{0xC5,0x78,0x00,0x00,}},
+ {0x822A,2,{0xBA,0xBD,0x00,0x00,}},
+ {0x822B,2,{0xF4,0xB3,0x00,0x00,}},
+ {0x822C,2,{0xB0,0xE3,0x00,0x00,}},
+ {0x822D,2,{0xF4,0xB0,0x00,0x00,}},
+ {0x822E,2,{0xC5,0x79,0x00,0x00,}},
+ {0x822F,2,{0xF4,0xB1,0x00,0x00,}},
+ {0x8230,2,{0xBD,0xA2,0x00,0x00,}},
+ {0x8231,2,{0xB2,0xD5,0x00,0x00,}},
+ {0x8232,2,{0xC5,0x7A,0x00,0x00,}},
+ {0x8233,2,{0xF4,0xB6,0x00,0x00,}},
+ {0x8234,2,{0xF4,0xB7,0x00,0x00,}},
+ {0x8235,2,{0xB6,0xE6,0x00,0x00,}},
+ {0x8236,2,{0xB2,0xB0,0x00,0x00,}},
+ {0x8237,2,{0xCF,0xCF,0x00,0x00,}},
+ {0x8238,2,{0xF4,0xB4,0x00,0x00,}},
+ {0x8239,2,{0xB4,0xAC,0x00,0x00,}},
+ {0x823A,2,{0xC5,0x7B,0x00,0x00,}},
+ {0x823B,2,{0xF4,0xB5,0x00,0x00,}},
+ {0x823C,2,{0xC5,0x7C,0x00,0x00,}},
+ {0x823D,2,{0xC5,0x7D,0x00,0x00,}},
+ {0x823E,2,{0xF4,0xB8,0x00,0x00,}},
+ {0x823F,2,{0xC5,0x7E,0x00,0x00,}},
+ {0x8240,2,{0xC5,0x80,0x00,0x00,}},
+ {0x8241,2,{0xC5,0x81,0x00,0x00,}},
+ {0x8242,2,{0xC5,0x82,0x00,0x00,}},
+ {0x8243,2,{0xC5,0x83,0x00,0x00,}},
+ {0x8244,2,{0xF4,0xB9,0x00,0x00,}},
+ {0x8245,2,{0xC5,0x84,0x00,0x00,}},
+ {0x8246,2,{0xC5,0x85,0x00,0x00,}},
+ {0x8247,2,{0xCD,0xA7,0x00,0x00,}},
+ {0x8248,2,{0xC5,0x86,0x00,0x00,}},
+ {0x8249,2,{0xF4,0xBA,0x00,0x00,}},
+ {0x824A,2,{0xC5,0x87,0x00,0x00,}},
+ {0x824B,2,{0xF4,0xBB,0x00,0x00,}},
+ {0x824C,2,{0xC5,0x88,0x00,0x00,}},
+ {0x824D,2,{0xC5,0x89,0x00,0x00,}},
+ {0x824E,2,{0xC5,0x8A,0x00,0x00,}},
+ {0x824F,2,{0xF4,0xBC,0x00,0x00,}},
+ {0x8250,2,{0xC5,0x8B,0x00,0x00,}},
+ {0x8251,2,{0xC5,0x8C,0x00,0x00,}},
+ {0x8252,2,{0xC5,0x8D,0x00,0x00,}},
+ {0x8253,2,{0xC5,0x8E,0x00,0x00,}},
+ {0x8254,2,{0xC5,0x8F,0x00,0x00,}},
+ {0x8255,2,{0xC5,0x90,0x00,0x00,}},
+ {0x8256,2,{0xC5,0x91,0x00,0x00,}},
+ {0x8257,2,{0xC5,0x92,0x00,0x00,}},
+ {0x8258,2,{0xCB,0xD2,0x00,0x00,}},
+ {0x8259,2,{0xC5,0x93,0x00,0x00,}},
+ {0x825A,2,{0xF4,0xBD,0x00,0x00,}},
+ {0x825B,2,{0xC5,0x94,0x00,0x00,}},
+ {0x825C,2,{0xC5,0x95,0x00,0x00,}},
+ {0x825D,2,{0xC5,0x96,0x00,0x00,}},
+ {0x825E,2,{0xC5,0x97,0x00,0x00,}},
+ {0x825F,2,{0xF4,0xBE,0x00,0x00,}},
+ {0x8260,2,{0xC5,0x98,0x00,0x00,}},
+ {0x8261,2,{0xC5,0x99,0x00,0x00,}},
+ {0x8262,2,{0xC5,0x9A,0x00,0x00,}},
+ {0x8263,2,{0xC5,0x9B,0x00,0x00,}},
+ {0x8264,2,{0xC5,0x9C,0x00,0x00,}},
+ {0x8265,2,{0xC5,0x9D,0x00,0x00,}},
+ {0x8266,2,{0xC5,0x9E,0x00,0x00,}},
+ {0x8267,2,{0xC5,0x9F,0x00,0x00,}},
+ {0x8268,2,{0xF4,0xBF,0x00,0x00,}},
+ {0x8269,2,{0xC5,0xA0,0x00,0x00,}},
+ {0x826A,2,{0xC6,0x40,0x00,0x00,}},
+ {0x826B,2,{0xC6,0x41,0x00,0x00,}},
+ {0x826C,2,{0xC6,0x42,0x00,0x00,}},
+ {0x826D,2,{0xC6,0x43,0x00,0x00,}},
+ {0x826E,2,{0xF4,0xDE,0x00,0x00,}},
+ {0x826F,2,{0xC1,0xBC,0x00,0x00,}},
+ {0x8270,2,{0xBC,0xE8,0x00,0x00,}},
+ {0x8271,2,{0xC6,0x44,0x00,0x00,}},
+ {0x8272,2,{0xC9,0xAB,0x00,0x00,}},
+ {0x8273,2,{0xD1,0xDE,0x00,0x00,}},
+ {0x8274,2,{0xE5,0xF5,0x00,0x00,}},
+ {0x8275,2,{0xC6,0x45,0x00,0x00,}},
+ {0x8276,2,{0xC6,0x46,0x00,0x00,}},
+ {0x8277,2,{0xC6,0x47,0x00,0x00,}},
+ {0x8278,2,{0xC6,0x48,0x00,0x00,}},
+ {0x8279,2,{0xDC,0xB3,0x00,0x00,}},
+ {0x827A,2,{0xD2,0xD5,0x00,0x00,}},
+ {0x827B,2,{0xC6,0x49,0x00,0x00,}},
+ {0x827C,2,{0xC6,0x4A,0x00,0x00,}},
+ {0x827D,2,{0xDC,0xB4,0x00,0x00,}},
+ {0x827E,2,{0xB0,0xAC,0x00,0x00,}},
+ {0x827F,2,{0xDC,0xB5,0x00,0x00,}},
+ {0x8280,2,{0xC6,0x4B,0x00,0x00,}},
+ {0x8281,2,{0xC6,0x4C,0x00,0x00,}},
+ {0x8282,2,{0xBD,0xDA,0x00,0x00,}},
+ {0x8283,2,{0xC6,0x4D,0x00,0x00,}},
+ {0x8284,2,{0xDC,0xB9,0x00,0x00,}},
+ {0x8285,2,{0xC6,0x4E,0x00,0x00,}},
+ {0x8286,2,{0xC6,0x4F,0x00,0x00,}},
+ {0x8287,2,{0xC6,0x50,0x00,0x00,}},
+ {0x8288,2,{0xD8,0xC2,0x00,0x00,}},
+ {0x8289,2,{0xC6,0x51,0x00,0x00,}},
+ {0x828A,2,{0xDC,0xB7,0x00,0x00,}},
+ {0x828B,2,{0xD3,0xF3,0x00,0x00,}},
+ {0x828C,2,{0xC6,0x52,0x00,0x00,}},
+ {0x828D,2,{0xC9,0xD6,0x00,0x00,}},
+ {0x828E,2,{0xDC,0xBA,0x00,0x00,}},
+ {0x828F,2,{0xDC,0xB6,0x00,0x00,}},
+ {0x8290,2,{0xC6,0x53,0x00,0x00,}},
+ {0x8291,2,{0xDC,0xBB,0x00,0x00,}},
+ {0x8292,2,{0xC3,0xA2,0x00,0x00,}},
+ {0x8293,2,{0xC6,0x54,0x00,0x00,}},
+ {0x8294,2,{0xC6,0x55,0x00,0x00,}},
+ {0x8295,2,{0xC6,0x56,0x00,0x00,}},
+ {0x8296,2,{0xC6,0x57,0x00,0x00,}},
+ {0x8297,2,{0xDC,0xBC,0x00,0x00,}},
+ {0x8298,2,{0xDC,0xC5,0x00,0x00,}},
+ {0x8299,2,{0xDC,0xBD,0x00,0x00,}},
+ {0x829A,2,{0xC6,0x58,0x00,0x00,}},
+ {0x829B,2,{0xC6,0x59,0x00,0x00,}},
+ {0x829C,2,{0xCE,0xDF,0x00,0x00,}},
+ {0x829D,2,{0xD6,0xA5,0x00,0x00,}},
+ {0x829E,2,{0xC6,0x5A,0x00,0x00,}},
+ {0x829F,2,{0xDC,0xCF,0x00,0x00,}},
+ {0x82A0,2,{0xC6,0x5B,0x00,0x00,}},
+ {0x82A1,2,{0xDC,0xCD,0x00,0x00,}},
+ {0x82A2,2,{0xC6,0x5C,0x00,0x00,}},
+ {0x82A3,2,{0xC6,0x5D,0x00,0x00,}},
+ {0x82A4,2,{0xDC,0xD2,0x00,0x00,}},
+ {0x82A5,2,{0xBD,0xE6,0x00,0x00,}},
+ {0x82A6,2,{0xC2,0xAB,0x00,0x00,}},
+ {0x82A7,2,{0xC6,0x5E,0x00,0x00,}},
+ {0x82A8,2,{0xDC,0xB8,0x00,0x00,}},
+ {0x82A9,2,{0xDC,0xCB,0x00,0x00,}},
+ {0x82AA,2,{0xDC,0xCE,0x00,0x00,}},
+ {0x82AB,2,{0xDC,0xBE,0x00,0x00,}},
+ {0x82AC,2,{0xB7,0xD2,0x00,0x00,}},
+ {0x82AD,2,{0xB0,0xC5,0x00,0x00,}},
+ {0x82AE,2,{0xDC,0xC7,0x00,0x00,}},
+ {0x82AF,2,{0xD0,0xBE,0x00,0x00,}},
+ {0x82B0,2,{0xDC,0xC1,0x00,0x00,}},
+ {0x82B1,2,{0xBB,0xA8,0x00,0x00,}},
+ {0x82B2,2,{0xC6,0x5F,0x00,0x00,}},
+ {0x82B3,2,{0xB7,0xBC,0x00,0x00,}},
+ {0x82B4,2,{0xDC,0xCC,0x00,0x00,}},
+ {0x82B5,2,{0xC6,0x60,0x00,0x00,}},
+ {0x82B6,2,{0xC6,0x61,0x00,0x00,}},
+ {0x82B7,2,{0xDC,0xC6,0x00,0x00,}},
+ {0x82B8,2,{0xDC,0xBF,0x00,0x00,}},
+ {0x82B9,2,{0xC7,0xDB,0x00,0x00,}},
+ {0x82BA,2,{0xC6,0x62,0x00,0x00,}},
+ {0x82BB,2,{0xC6,0x63,0x00,0x00,}},
+ {0x82BC,2,{0xC6,0x64,0x00,0x00,}},
+ {0x82BD,2,{0xD1,0xBF,0x00,0x00,}},
+ {0x82BE,2,{0xDC,0xC0,0x00,0x00,}},
+ {0x82BF,2,{0xC6,0x65,0x00,0x00,}},
+ {0x82C0,2,{0xC6,0x66,0x00,0x00,}},
+ {0x82C1,2,{0xDC,0xCA,0x00,0x00,}},
+ {0x82C2,2,{0xC6,0x67,0x00,0x00,}},
+ {0x82C3,2,{0xC6,0x68,0x00,0x00,}},
+ {0x82C4,2,{0xDC,0xD0,0x00,0x00,}},
+ {0x82C5,2,{0xC6,0x69,0x00,0x00,}},
+ {0x82C6,2,{0xC6,0x6A,0x00,0x00,}},
+ {0x82C7,2,{0xCE,0xAD,0x00,0x00,}},
+ {0x82C8,2,{0xDC,0xC2,0x00,0x00,}},
+ {0x82C9,2,{0xC6,0x6B,0x00,0x00,}},
+ {0x82CA,2,{0xDC,0xC3,0x00,0x00,}},
+ {0x82CB,2,{0xDC,0xC8,0x00,0x00,}},
+ {0x82CC,2,{0xDC,0xC9,0x00,0x00,}},
+ {0x82CD,2,{0xB2,0xD4,0x00,0x00,}},
+ {0x82CE,2,{0xDC,0xD1,0x00,0x00,}},
+ {0x82CF,2,{0xCB,0xD5,0x00,0x00,}},
+ {0x82D0,2,{0xC6,0x6C,0x00,0x00,}},
+ {0x82D1,2,{0xD4,0xB7,0x00,0x00,}},
+ {0x82D2,2,{0xDC,0xDB,0x00,0x00,}},
+ {0x82D3,2,{0xDC,0xDF,0x00,0x00,}},
+ {0x82D4,2,{0xCC,0xA6,0x00,0x00,}},
+ {0x82D5,2,{0xDC,0xE6,0x00,0x00,}},
+ {0x82D6,2,{0xC6,0x6D,0x00,0x00,}},
+ {0x82D7,2,{0xC3,0xE7,0x00,0x00,}},
+ {0x82D8,2,{0xDC,0xDC,0x00,0x00,}},
+ {0x82D9,2,{0xC6,0x6E,0x00,0x00,}},
+ {0x82DA,2,{0xC6,0x6F,0x00,0x00,}},
+ {0x82DB,2,{0xBF,0xC1,0x00,0x00,}},
+ {0x82DC,2,{0xDC,0xD9,0x00,0x00,}},
+ {0x82DD,2,{0xC6,0x70,0x00,0x00,}},
+ {0x82DE,2,{0xB0,0xFA,0x00,0x00,}},
+ {0x82DF,2,{0xB9,0xB6,0x00,0x00,}},
+ {0x82E0,2,{0xDC,0xE5,0x00,0x00,}},
+ {0x82E1,2,{0xDC,0xD3,0x00,0x00,}},
+ {0x82E2,2,{0xC6,0x71,0x00,0x00,}},
+ {0x82E3,2,{0xDC,0xC4,0x00,0x00,}},
+ {0x82E4,2,{0xDC,0xD6,0x00,0x00,}},
+ {0x82E5,2,{0xC8,0xF4,0x00,0x00,}},
+ {0x82E6,2,{0xBF,0xE0,0x00,0x00,}},
+ {0x82E7,2,{0xC6,0x72,0x00,0x00,}},
+ {0x82E8,2,{0xC6,0x73,0x00,0x00,}},
+ {0x82E9,2,{0xC6,0x74,0x00,0x00,}},
+ {0x82EA,2,{0xC6,0x75,0x00,0x00,}},
+ {0x82EB,2,{0xC9,0xBB,0x00,0x00,}},
+ {0x82EC,2,{0xC6,0x76,0x00,0x00,}},
+ {0x82ED,2,{0xC6,0x77,0x00,0x00,}},
+ {0x82EE,2,{0xC6,0x78,0x00,0x00,}},
+ {0x82EF,2,{0xB1,0xBD,0x00,0x00,}},
+ {0x82F0,2,{0xC6,0x79,0x00,0x00,}},
+ {0x82F1,2,{0xD3,0xA2,0x00,0x00,}},
+ {0x82F2,2,{0xC6,0x7A,0x00,0x00,}},
+ {0x82F3,2,{0xC6,0x7B,0x00,0x00,}},
+ {0x82F4,2,{0xDC,0xDA,0x00,0x00,}},
+ {0x82F5,2,{0xC6,0x7C,0x00,0x00,}},
+ {0x82F6,2,{0xC6,0x7D,0x00,0x00,}},
+ {0x82F7,2,{0xDC,0xD5,0x00,0x00,}},
+ {0x82F8,2,{0xC6,0x7E,0x00,0x00,}},
+ {0x82F9,2,{0xC6,0xBB,0x00,0x00,}},
+ {0x82FA,2,{0xC6,0x80,0x00,0x00,}},
+ {0x82FB,2,{0xDC,0xDE,0x00,0x00,}},
+ {0x82FC,2,{0xC6,0x81,0x00,0x00,}},
+ {0x82FD,2,{0xC6,0x82,0x00,0x00,}},
+ {0x82FE,2,{0xC6,0x83,0x00,0x00,}},
+ {0x82FF,2,{0xC6,0x84,0x00,0x00,}},
+ {0x8300,2,{0xC6,0x85,0x00,0x00,}},
+ {0x8301,2,{0xD7,0xC2,0x00,0x00,}},
+ {0x8302,2,{0xC3,0xAF,0x00,0x00,}},
+ {0x8303,2,{0xB7,0xB6,0x00,0x00,}},
+ {0x8304,2,{0xC7,0xD1,0x00,0x00,}},
+ {0x8305,2,{0xC3,0xA9,0x00,0x00,}},
+ {0x8306,2,{0xDC,0xE2,0x00,0x00,}},
+ {0x8307,2,{0xDC,0xD8,0x00,0x00,}},
+ {0x8308,2,{0xDC,0xEB,0x00,0x00,}},
+ {0x8309,2,{0xDC,0xD4,0x00,0x00,}},
+ {0x830A,2,{0xC6,0x86,0x00,0x00,}},
+ {0x830B,2,{0xC6,0x87,0x00,0x00,}},
+ {0x830C,2,{0xDC,0xDD,0x00,0x00,}},
+ {0x830D,2,{0xC6,0x88,0x00,0x00,}},
+ {0x830E,2,{0xBE,0xA5,0x00,0x00,}},
+ {0x830F,2,{0xDC,0xD7,0x00,0x00,}},
+ {0x8310,2,{0xC6,0x89,0x00,0x00,}},
+ {0x8311,2,{0xDC,0xE0,0x00,0x00,}},
+ {0x8312,2,{0xC6,0x8A,0x00,0x00,}},
+ {0x8313,2,{0xC6,0x8B,0x00,0x00,}},
+ {0x8314,2,{0xDC,0xE3,0x00,0x00,}},
+ {0x8315,2,{0xDC,0xE4,0x00,0x00,}},
+ {0x8316,2,{0xC6,0x8C,0x00,0x00,}},
+ {0x8317,2,{0xDC,0xF8,0x00,0x00,}},
+ {0x8318,2,{0xC6,0x8D,0x00,0x00,}},
+ {0x8319,2,{0xC6,0x8E,0x00,0x00,}},
+ {0x831A,2,{0xDC,0xE1,0x00,0x00,}},
+ {0x831B,2,{0xDD,0xA2,0x00,0x00,}},
+ {0x831C,2,{0xDC,0xE7,0x00,0x00,}},
+ {0x831D,2,{0xC6,0x8F,0x00,0x00,}},
+ {0x831E,2,{0xC6,0x90,0x00,0x00,}},
+ {0x831F,2,{0xC6,0x91,0x00,0x00,}},
+ {0x8320,2,{0xC6,0x92,0x00,0x00,}},
+ {0x8321,2,{0xC6,0x93,0x00,0x00,}},
+ {0x8322,2,{0xC6,0x94,0x00,0x00,}},
+ {0x8323,2,{0xC6,0x95,0x00,0x00,}},
+ {0x8324,2,{0xC6,0x96,0x00,0x00,}},
+ {0x8325,2,{0xC6,0x97,0x00,0x00,}},
+ {0x8326,2,{0xC6,0x98,0x00,0x00,}},
+ {0x8327,2,{0xBC,0xEB,0x00,0x00,}},
+ {0x8328,2,{0xB4,0xC4,0x00,0x00,}},
+ {0x8329,2,{0xC6,0x99,0x00,0x00,}},
+ {0x832A,2,{0xC6,0x9A,0x00,0x00,}},
+ {0x832B,2,{0xC3,0xA3,0x00,0x00,}},
+ {0x832C,2,{0xB2,0xE7,0x00,0x00,}},
+ {0x832D,2,{0xDC,0xFA,0x00,0x00,}},
+ {0x832E,2,{0xC6,0x9B,0x00,0x00,}},
+ {0x832F,2,{0xDC,0xF2,0x00,0x00,}},
+ {0x8330,2,{0xC6,0x9C,0x00,0x00,}},
+ {0x8331,2,{0xDC,0xEF,0x00,0x00,}},
+ {0x8332,2,{0xC6,0x9D,0x00,0x00,}},
+ {0x8333,2,{0xDC,0xFC,0x00,0x00,}},
+ {0x8334,2,{0xDC,0xEE,0x00,0x00,}},
+ {0x8335,2,{0xD2,0xF0,0x00,0x00,}},
+ {0x8336,2,{0xB2,0xE8,0x00,0x00,}},
+ {0x8337,2,{0xC6,0x9E,0x00,0x00,}},
+ {0x8338,2,{0xC8,0xD7,0x00,0x00,}},
+ {0x8339,2,{0xC8,0xE3,0x00,0x00,}},
+ {0x833A,2,{0xDC,0xFB,0x00,0x00,}},
+ {0x833B,2,{0xC6,0x9F,0x00,0x00,}},
+ {0x833C,2,{0xDC,0xED,0x00,0x00,}},
+ {0x833D,2,{0xC6,0xA0,0x00,0x00,}},
+ {0x833E,2,{0xC7,0x40,0x00,0x00,}},
+ {0x833F,2,{0xC7,0x41,0x00,0x00,}},
+ {0x8340,2,{0xDC,0xF7,0x00,0x00,}},
+ {0x8341,2,{0xC7,0x42,0x00,0x00,}},
+ {0x8342,2,{0xC7,0x43,0x00,0x00,}},
+ {0x8343,2,{0xDC,0xF5,0x00,0x00,}},
+ {0x8344,2,{0xC7,0x44,0x00,0x00,}},
+ {0x8345,2,{0xC7,0x45,0x00,0x00,}},
+ {0x8346,2,{0xBE,0xA3,0x00,0x00,}},
+ {0x8347,2,{0xDC,0xF4,0x00,0x00,}},
+ {0x8348,2,{0xC7,0x46,0x00,0x00,}},
+ {0x8349,2,{0xB2,0xDD,0x00,0x00,}},
+ {0x834A,2,{0xC7,0x47,0x00,0x00,}},
+ {0x834B,2,{0xC7,0x48,0x00,0x00,}},
+ {0x834C,2,{0xC7,0x49,0x00,0x00,}},
+ {0x834D,2,{0xC7,0x4A,0x00,0x00,}},
+ {0x834E,2,{0xC7,0x4B,0x00,0x00,}},
+ {0x834F,2,{0xDC,0xF3,0x00,0x00,}},
+ {0x8350,2,{0xBC,0xF6,0x00,0x00,}},
+ {0x8351,2,{0xDC,0xE8,0x00,0x00,}},
+ {0x8352,2,{0xBB,0xC4,0x00,0x00,}},
+ {0x8353,2,{0xC7,0x4C,0x00,0x00,}},
+ {0x8354,2,{0xC0,0xF3,0x00,0x00,}},
+ {0x8355,2,{0xC7,0x4D,0x00,0x00,}},
+ {0x8356,2,{0xC7,0x4E,0x00,0x00,}},
+ {0x8357,2,{0xC7,0x4F,0x00,0x00,}},
+ {0x8358,2,{0xC7,0x50,0x00,0x00,}},
+ {0x8359,2,{0xC7,0x51,0x00,0x00,}},
+ {0x835A,2,{0xBC,0xD4,0x00,0x00,}},
+ {0x835B,2,{0xDC,0xE9,0x00,0x00,}},
+ {0x835C,2,{0xDC,0xEA,0x00,0x00,}},
+ {0x835D,2,{0xC7,0x52,0x00,0x00,}},
+ {0x835E,2,{0xDC,0xF1,0x00,0x00,}},
+ {0x835F,2,{0xDC,0xF6,0x00,0x00,}},
+ {0x8360,2,{0xDC,0xF9,0x00,0x00,}},
+ {0x8361,2,{0xB5,0xB4,0x00,0x00,}},
+ {0x8362,2,{0xC7,0x53,0x00,0x00,}},
+ {0x8363,2,{0xC8,0xD9,0x00,0x00,}},
+ {0x8364,2,{0xBB,0xE7,0x00,0x00,}},
+ {0x8365,2,{0xDC,0xFE,0x00,0x00,}},
+ {0x8366,2,{0xDC,0xFD,0x00,0x00,}},
+ {0x8367,2,{0xD3,0xAB,0x00,0x00,}},
+ {0x8368,2,{0xDD,0xA1,0x00,0x00,}},
+ {0x8369,2,{0xDD,0xA3,0x00,0x00,}},
+ {0x836A,2,{0xDD,0xA5,0x00,0x00,}},
+ {0x836B,2,{0xD2,0xF1,0x00,0x00,}},
+ {0x836C,2,{0xDD,0xA4,0x00,0x00,}},
+ {0x836D,2,{0xDD,0xA6,0x00,0x00,}},
+ {0x836E,2,{0xDD,0xA7,0x00,0x00,}},
+ {0x836F,2,{0xD2,0xA9,0x00,0x00,}},
+ {0x8370,2,{0xC7,0x54,0x00,0x00,}},
+ {0x8371,2,{0xC7,0x55,0x00,0x00,}},
+ {0x8372,2,{0xC7,0x56,0x00,0x00,}},
+ {0x8373,2,{0xC7,0x57,0x00,0x00,}},
+ {0x8374,2,{0xC7,0x58,0x00,0x00,}},
+ {0x8375,2,{0xC7,0x59,0x00,0x00,}},
+ {0x8376,2,{0xC7,0x5A,0x00,0x00,}},
+ {0x8377,2,{0xBA,0xC9,0x00,0x00,}},
+ {0x8378,2,{0xDD,0xA9,0x00,0x00,}},
+ {0x8379,2,{0xC7,0x5B,0x00,0x00,}},
+ {0x837A,2,{0xC7,0x5C,0x00,0x00,}},
+ {0x837B,2,{0xDD,0xB6,0x00,0x00,}},
+ {0x837C,2,{0xDD,0xB1,0x00,0x00,}},
+ {0x837D,2,{0xDD,0xB4,0x00,0x00,}},
+ {0x837E,2,{0xC7,0x5D,0x00,0x00,}},
+ {0x837F,2,{0xC7,0x5E,0x00,0x00,}},
+ {0x8380,2,{0xC7,0x5F,0x00,0x00,}},
+ {0x8381,2,{0xC7,0x60,0x00,0x00,}},
+ {0x8382,2,{0xC7,0x61,0x00,0x00,}},
+ {0x8383,2,{0xC7,0x62,0x00,0x00,}},
+ {0x8384,2,{0xC7,0x63,0x00,0x00,}},
+ {0x8385,2,{0xDD,0xB0,0x00,0x00,}},
+ {0x8386,2,{0xC6,0xCE,0x00,0x00,}},
+ {0x8387,2,{0xC7,0x64,0x00,0x00,}},
+ {0x8388,2,{0xC7,0x65,0x00,0x00,}},
+ {0x8389,2,{0xC0,0xF2,0x00,0x00,}},
+ {0x838A,2,{0xC7,0x66,0x00,0x00,}},
+ {0x838B,2,{0xC7,0x67,0x00,0x00,}},
+ {0x838C,2,{0xC7,0x68,0x00,0x00,}},
+ {0x838D,2,{0xC7,0x69,0x00,0x00,}},
+ {0x838E,2,{0xC9,0xAF,0x00,0x00,}},
+ {0x838F,2,{0xC7,0x6A,0x00,0x00,}},
+ {0x8390,2,{0xC7,0x6B,0x00,0x00,}},
+ {0x8391,2,{0xC7,0x6C,0x00,0x00,}},
+ {0x8392,2,{0xDC,0xEC,0x00,0x00,}},
+ {0x8393,2,{0xDD,0xAE,0x00,0x00,}},
+ {0x8394,2,{0xC7,0x6D,0x00,0x00,}},
+ {0x8395,2,{0xC7,0x6E,0x00,0x00,}},
+ {0x8396,2,{0xC7,0x6F,0x00,0x00,}},
+ {0x8397,2,{0xC7,0x70,0x00,0x00,}},
+ {0x8398,2,{0xDD,0xB7,0x00,0x00,}},
+ {0x8399,2,{0xC7,0x71,0x00,0x00,}},
+ {0x839A,2,{0xC7,0x72,0x00,0x00,}},
+ {0x839B,2,{0xDC,0xF0,0x00,0x00,}},
+ {0x839C,2,{0xDD,0xAF,0x00,0x00,}},
+ {0x839D,2,{0xC7,0x73,0x00,0x00,}},
+ {0x839E,2,{0xDD,0xB8,0x00,0x00,}},
+ {0x839F,2,{0xC7,0x74,0x00,0x00,}},
+ {0x83A0,2,{0xDD,0xAC,0x00,0x00,}},
+ {0x83A1,2,{0xC7,0x75,0x00,0x00,}},
+ {0x83A2,2,{0xC7,0x76,0x00,0x00,}},
+ {0x83A3,2,{0xC7,0x77,0x00,0x00,}},
+ {0x83A4,2,{0xC7,0x78,0x00,0x00,}},
+ {0x83A5,2,{0xC7,0x79,0x00,0x00,}},
+ {0x83A6,2,{0xC7,0x7A,0x00,0x00,}},
+ {0x83A7,2,{0xC7,0x7B,0x00,0x00,}},
+ {0x83A8,2,{0xDD,0xB9,0x00,0x00,}},
+ {0x83A9,2,{0xDD,0xB3,0x00,0x00,}},
+ {0x83AA,2,{0xDD,0xAD,0x00,0x00,}},
+ {0x83AB,2,{0xC4,0xAA,0x00,0x00,}},
+ {0x83AC,2,{0xC7,0x7C,0x00,0x00,}},
+ {0x83AD,2,{0xC7,0x7D,0x00,0x00,}},
+ {0x83AE,2,{0xC7,0x7E,0x00,0x00,}},
+ {0x83AF,2,{0xC7,0x80,0x00,0x00,}},
+ {0x83B0,2,{0xDD,0xA8,0x00,0x00,}},
+ {0x83B1,2,{0xC0,0xB3,0x00,0x00,}},
+ {0x83B2,2,{0xC1,0xAB,0x00,0x00,}},
+ {0x83B3,2,{0xDD,0xAA,0x00,0x00,}},
+ {0x83B4,2,{0xDD,0xAB,0x00,0x00,}},
+ {0x83B5,2,{0xC7,0x81,0x00,0x00,}},
+ {0x83B6,2,{0xDD,0xB2,0x00,0x00,}},
+ {0x83B7,2,{0xBB,0xF1,0x00,0x00,}},
+ {0x83B8,2,{0xDD,0xB5,0x00,0x00,}},
+ {0x83B9,2,{0xD3,0xA8,0x00,0x00,}},
+ {0x83BA,2,{0xDD,0xBA,0x00,0x00,}},
+ {0x83BB,2,{0xC7,0x82,0x00,0x00,}},
+ {0x83BC,2,{0xDD,0xBB,0x00,0x00,}},
+ {0x83BD,2,{0xC3,0xA7,0x00,0x00,}},
+ {0x83BE,2,{0xC7,0x83,0x00,0x00,}},
+ {0x83BF,2,{0xC7,0x84,0x00,0x00,}},
+ {0x83C0,2,{0xDD,0xD2,0x00,0x00,}},
+ {0x83C1,2,{0xDD,0xBC,0x00,0x00,}},
+ {0x83C2,2,{0xC7,0x85,0x00,0x00,}},
+ {0x83C3,2,{0xC7,0x86,0x00,0x00,}},
+ {0x83C4,2,{0xC7,0x87,0x00,0x00,}},
+ {0x83C5,2,{0xDD,0xD1,0x00,0x00,}},
+ {0x83C6,2,{0xC7,0x88,0x00,0x00,}},
+ {0x83C7,2,{0xB9,0xBD,0x00,0x00,}},
+ {0x83C8,2,{0xC7,0x89,0x00,0x00,}},
+ {0x83C9,2,{0xC7,0x8A,0x00,0x00,}},
+ {0x83CA,2,{0xBE,0xD5,0x00,0x00,}},
+ {0x83CB,2,{0xC7,0x8B,0x00,0x00,}},
+ {0x83CC,2,{0xBE,0xFA,0x00,0x00,}},
+ {0x83CD,2,{0xC7,0x8C,0x00,0x00,}},
+ {0x83CE,2,{0xC7,0x8D,0x00,0x00,}},
+ {0x83CF,2,{0xBA,0xCA,0x00,0x00,}},
+ {0x83D0,2,{0xC7,0x8E,0x00,0x00,}},
+ {0x83D1,2,{0xC7,0x8F,0x00,0x00,}},
+ {0x83D2,2,{0xC7,0x90,0x00,0x00,}},
+ {0x83D3,2,{0xC7,0x91,0x00,0x00,}},
+ {0x83D4,2,{0xDD,0xCA,0x00,0x00,}},
+ {0x83D5,2,{0xC7,0x92,0x00,0x00,}},
+ {0x83D6,2,{0xDD,0xC5,0x00,0x00,}},
+ {0x83D7,2,{0xC7,0x93,0x00,0x00,}},
+ {0x83D8,2,{0xDD,0xBF,0x00,0x00,}},
+ {0x83D9,2,{0xC7,0x94,0x00,0x00,}},
+ {0x83DA,2,{0xC7,0x95,0x00,0x00,}},
+ {0x83DB,2,{0xC7,0x96,0x00,0x00,}},
+ {0x83DC,2,{0xB2,0xCB,0x00,0x00,}},
+ {0x83DD,2,{0xDD,0xC3,0x00,0x00,}},
+ {0x83DE,2,{0xC7,0x97,0x00,0x00,}},
+ {0x83DF,2,{0xDD,0xCB,0x00,0x00,}},
+ {0x83E0,2,{0xB2,0xA4,0x00,0x00,}},
+ {0x83E1,2,{0xDD,0xD5,0x00,0x00,}},
+ {0x83E2,2,{0xC7,0x98,0x00,0x00,}},
+ {0x83E3,2,{0xC7,0x99,0x00,0x00,}},
+ {0x83E4,2,{0xC7,0x9A,0x00,0x00,}},
+ {0x83E5,2,{0xDD,0xBE,0x00,0x00,}},
+ {0x83E6,2,{0xC7,0x9B,0x00,0x00,}},
+ {0x83E7,2,{0xC7,0x9C,0x00,0x00,}},
+ {0x83E8,2,{0xC7,0x9D,0x00,0x00,}},
+ {0x83E9,2,{0xC6,0xD0,0x00,0x00,}},
+ {0x83EA,2,{0xDD,0xD0,0x00,0x00,}},
+ {0x83EB,2,{0xC7,0x9E,0x00,0x00,}},
+ {0x83EC,2,{0xC7,0x9F,0x00,0x00,}},
+ {0x83ED,2,{0xC7,0xA0,0x00,0x00,}},
+ {0x83EE,2,{0xC8,0x40,0x00,0x00,}},
+ {0x83EF,2,{0xC8,0x41,0x00,0x00,}},
+ {0x83F0,2,{0xDD,0xD4,0x00,0x00,}},
+ {0x83F1,2,{0xC1,0xE2,0x00,0x00,}},
+ {0x83F2,2,{0xB7,0xC6,0x00,0x00,}},
+ {0x83F3,2,{0xC8,0x42,0x00,0x00,}},
+ {0x83F4,2,{0xC8,0x43,0x00,0x00,}},
+ {0x83F5,2,{0xC8,0x44,0x00,0x00,}},
+ {0x83F6,2,{0xC8,0x45,0x00,0x00,}},
+ {0x83F7,2,{0xC8,0x46,0x00,0x00,}},
+ {0x83F8,2,{0xDD,0xCE,0x00,0x00,}},
+ {0x83F9,2,{0xDD,0xCF,0x00,0x00,}},
+ {0x83FA,2,{0xC8,0x47,0x00,0x00,}},
+ {0x83FB,2,{0xC8,0x48,0x00,0x00,}},
+ {0x83FC,2,{0xC8,0x49,0x00,0x00,}},
+ {0x83FD,2,{0xDD,0xC4,0x00,0x00,}},
+ {0x83FE,2,{0xC8,0x4A,0x00,0x00,}},
+ {0x83FF,2,{0xC8,0x4B,0x00,0x00,}},
+ {0x8400,2,{0xC8,0x4C,0x00,0x00,}},
+ {0x8401,2,{0xDD,0xBD,0x00,0x00,}},
+ {0x8402,2,{0xC8,0x4D,0x00,0x00,}},
+ {0x8403,2,{0xDD,0xCD,0x00,0x00,}},
+ {0x8404,2,{0xCC,0xD1,0x00,0x00,}},
+ {0x8405,2,{0xC8,0x4E,0x00,0x00,}},
+ {0x8406,2,{0xDD,0xC9,0x00,0x00,}},
+ {0x8407,2,{0xC8,0x4F,0x00,0x00,}},
+ {0x8408,2,{0xC8,0x50,0x00,0x00,}},
+ {0x8409,2,{0xC8,0x51,0x00,0x00,}},
+ {0x840A,2,{0xC8,0x52,0x00,0x00,}},
+ {0x840B,2,{0xDD,0xC2,0x00,0x00,}},
+ {0x840C,2,{0xC3,0xC8,0x00,0x00,}},
+ {0x840D,2,{0xC6,0xBC,0x00,0x00,}},
+ {0x840E,2,{0xCE,0xAE,0x00,0x00,}},
+ {0x840F,2,{0xDD,0xCC,0x00,0x00,}},
+ {0x8410,2,{0xC8,0x53,0x00,0x00,}},
+ {0x8411,2,{0xDD,0xC8,0x00,0x00,}},
+ {0x8412,2,{0xC8,0x54,0x00,0x00,}},
+ {0x8413,2,{0xC8,0x55,0x00,0x00,}},
+ {0x8414,2,{0xC8,0x56,0x00,0x00,}},
+ {0x8415,2,{0xC8,0x57,0x00,0x00,}},
+ {0x8416,2,{0xC8,0x58,0x00,0x00,}},
+ {0x8417,2,{0xC8,0x59,0x00,0x00,}},
+ {0x8418,2,{0xDD,0xC1,0x00,0x00,}},
+ {0x8419,2,{0xC8,0x5A,0x00,0x00,}},
+ {0x841A,2,{0xC8,0x5B,0x00,0x00,}},
+ {0x841B,2,{0xC8,0x5C,0x00,0x00,}},
+ {0x841C,2,{0xDD,0xC6,0x00,0x00,}},
+ {0x841D,2,{0xC2,0xDC,0x00,0x00,}},
+ {0x841E,2,{0xC8,0x5D,0x00,0x00,}},
+ {0x841F,2,{0xC8,0x5E,0x00,0x00,}},
+ {0x8420,2,{0xC8,0x5F,0x00,0x00,}},
+ {0x8421,2,{0xC8,0x60,0x00,0x00,}},
+ {0x8422,2,{0xC8,0x61,0x00,0x00,}},
+ {0x8423,2,{0xC8,0x62,0x00,0x00,}},
+ {0x8424,2,{0xD3,0xA9,0x00,0x00,}},
+ {0x8425,2,{0xD3,0xAA,0x00,0x00,}},
+ {0x8426,2,{0xDD,0xD3,0x00,0x00,}},
+ {0x8427,2,{0xCF,0xF4,0x00,0x00,}},
+ {0x8428,2,{0xC8,0xF8,0x00,0x00,}},
+ {0x8429,2,{0xC8,0x63,0x00,0x00,}},
+ {0x842A,2,{0xC8,0x64,0x00,0x00,}},
+ {0x842B,2,{0xC8,0x65,0x00,0x00,}},
+ {0x842C,2,{0xC8,0x66,0x00,0x00,}},
+ {0x842D,2,{0xC8,0x67,0x00,0x00,}},
+ {0x842E,2,{0xC8,0x68,0x00,0x00,}},
+ {0x842F,2,{0xC8,0x69,0x00,0x00,}},
+ {0x8430,2,{0xC8,0x6A,0x00,0x00,}},
+ {0x8431,2,{0xDD,0xE6,0x00,0x00,}},
+ {0x8432,2,{0xC8,0x6B,0x00,0x00,}},
+ {0x8433,2,{0xC8,0x6C,0x00,0x00,}},
+ {0x8434,2,{0xC8,0x6D,0x00,0x00,}},
+ {0x8435,2,{0xC8,0x6E,0x00,0x00,}},
+ {0x8436,2,{0xC8,0x6F,0x00,0x00,}},
+ {0x8437,2,{0xC8,0x70,0x00,0x00,}},
+ {0x8438,2,{0xDD,0xC7,0x00,0x00,}},
+ {0x8439,2,{0xC8,0x71,0x00,0x00,}},
+ {0x843A,2,{0xC8,0x72,0x00,0x00,}},
+ {0x843B,2,{0xC8,0x73,0x00,0x00,}},
+ {0x843C,2,{0xDD,0xE0,0x00,0x00,}},
+ {0x843D,2,{0xC2,0xE4,0x00,0x00,}},
+ {0x843E,2,{0xC8,0x74,0x00,0x00,}},
+ {0x843F,2,{0xC8,0x75,0x00,0x00,}},
+ {0x8440,2,{0xC8,0x76,0x00,0x00,}},
+ {0x8441,2,{0xC8,0x77,0x00,0x00,}},
+ {0x8442,2,{0xC8,0x78,0x00,0x00,}},
+ {0x8443,2,{0xC8,0x79,0x00,0x00,}},
+ {0x8444,2,{0xC8,0x7A,0x00,0x00,}},
+ {0x8445,2,{0xC8,0x7B,0x00,0x00,}},
+ {0x8446,2,{0xDD,0xE1,0x00,0x00,}},
+ {0x8447,2,{0xC8,0x7C,0x00,0x00,}},
+ {0x8448,2,{0xC8,0x7D,0x00,0x00,}},
+ {0x8449,2,{0xC8,0x7E,0x00,0x00,}},
+ {0x844A,2,{0xC8,0x80,0x00,0x00,}},
+ {0x844B,2,{0xC8,0x81,0x00,0x00,}},
+ {0x844C,2,{0xC8,0x82,0x00,0x00,}},
+ {0x844D,2,{0xC8,0x83,0x00,0x00,}},
+ {0x844E,2,{0xC8,0x84,0x00,0x00,}},
+ {0x844F,2,{0xC8,0x85,0x00,0x00,}},
+ {0x8450,2,{0xC8,0x86,0x00,0x00,}},
+ {0x8451,2,{0xDD,0xD7,0x00,0x00,}},
+ {0x8452,2,{0xC8,0x87,0x00,0x00,}},
+ {0x8453,2,{0xC8,0x88,0x00,0x00,}},
+ {0x8454,2,{0xC8,0x89,0x00,0x00,}},
+ {0x8455,2,{0xC8,0x8A,0x00,0x00,}},
+ {0x8456,2,{0xC8,0x8B,0x00,0x00,}},
+ {0x8457,2,{0xD6,0xF8,0x00,0x00,}},
+ {0x8458,2,{0xC8,0x8C,0x00,0x00,}},
+ {0x8459,2,{0xDD,0xD9,0x00,0x00,}},
+ {0x845A,2,{0xDD,0xD8,0x00,0x00,}},
+ {0x845B,2,{0xB8,0xF0,0x00,0x00,}},
+ {0x845C,2,{0xDD,0xD6,0x00,0x00,}},
+ {0x845D,2,{0xC8,0x8D,0x00,0x00,}},
+ {0x845E,2,{0xC8,0x8E,0x00,0x00,}},
+ {0x845F,2,{0xC8,0x8F,0x00,0x00,}},
+ {0x8460,2,{0xC8,0x90,0x00,0x00,}},
+ {0x8461,2,{0xC6,0xCF,0x00,0x00,}},
+ {0x8462,2,{0xC8,0x91,0x00,0x00,}},
+ {0x8463,2,{0xB6,0xAD,0x00,0x00,}},
+ {0x8464,2,{0xC8,0x92,0x00,0x00,}},
+ {0x8465,2,{0xC8,0x93,0x00,0x00,}},
+ {0x8466,2,{0xC8,0x94,0x00,0x00,}},
+ {0x8467,2,{0xC8,0x95,0x00,0x00,}},
+ {0x8468,2,{0xC8,0x96,0x00,0x00,}},
+ {0x8469,2,{0xDD,0xE2,0x00,0x00,}},
+ {0x846A,2,{0xC8,0x97,0x00,0x00,}},
+ {0x846B,2,{0xBA,0xF9,0x00,0x00,}},
+ {0x846C,2,{0xD4,0xE1,0x00,0x00,}},
+ {0x846D,2,{0xDD,0xE7,0x00,0x00,}},
+ {0x846E,2,{0xC8,0x98,0x00,0x00,}},
+ {0x846F,2,{0xC8,0x99,0x00,0x00,}},
+ {0x8470,2,{0xC8,0x9A,0x00,0x00,}},
+ {0x8471,2,{0xB4,0xD0,0x00,0x00,}},
+ {0x8472,2,{0xC8,0x9B,0x00,0x00,}},
+ {0x8473,2,{0xDD,0xDA,0x00,0x00,}},
+ {0x8474,2,{0xC8,0x9C,0x00,0x00,}},
+ {0x8475,2,{0xBF,0xFB,0x00,0x00,}},
+ {0x8476,2,{0xDD,0xE3,0x00,0x00,}},
+ {0x8477,2,{0xC8,0x9D,0x00,0x00,}},
+ {0x8478,2,{0xDD,0xDF,0x00,0x00,}},
+ {0x8479,2,{0xC8,0x9E,0x00,0x00,}},
+ {0x847A,2,{0xDD,0xDD,0x00,0x00,}},
+ {0x847B,2,{0xC8,0x9F,0x00,0x00,}},
+ {0x847C,2,{0xC8,0xA0,0x00,0x00,}},
+ {0x847D,2,{0xC9,0x40,0x00,0x00,}},
+ {0x847E,2,{0xC9,0x41,0x00,0x00,}},
+ {0x847F,2,{0xC9,0x42,0x00,0x00,}},
+ {0x8480,2,{0xC9,0x43,0x00,0x00,}},
+ {0x8481,2,{0xC9,0x44,0x00,0x00,}},
+ {0x8482,2,{0xB5,0xD9,0x00,0x00,}},
+ {0x8483,2,{0xC9,0x45,0x00,0x00,}},
+ {0x8484,2,{0xC9,0x46,0x00,0x00,}},
+ {0x8485,2,{0xC9,0x47,0x00,0x00,}},
+ {0x8486,2,{0xC9,0x48,0x00,0x00,}},
+ {0x8487,2,{0xDD,0xDB,0x00,0x00,}},
+ {0x8488,2,{0xDD,0xDC,0x00,0x00,}},
+ {0x8489,2,{0xDD,0xDE,0x00,0x00,}},
+ {0x848A,2,{0xC9,0x49,0x00,0x00,}},
+ {0x848B,2,{0xBD,0xAF,0x00,0x00,}},
+ {0x848C,2,{0xDD,0xE4,0x00,0x00,}},
+ {0x848D,2,{0xC9,0x4A,0x00,0x00,}},
+ {0x848E,2,{0xDD,0xE5,0x00,0x00,}},
+ {0x848F,2,{0xC9,0x4B,0x00,0x00,}},
+ {0x8490,2,{0xC9,0x4C,0x00,0x00,}},
+ {0x8491,2,{0xC9,0x4D,0x00,0x00,}},
+ {0x8492,2,{0xC9,0x4E,0x00,0x00,}},
+ {0x8493,2,{0xC9,0x4F,0x00,0x00,}},
+ {0x8494,2,{0xC9,0x50,0x00,0x00,}},
+ {0x8495,2,{0xC9,0x51,0x00,0x00,}},
+ {0x8496,2,{0xC9,0x52,0x00,0x00,}},
+ {0x8497,2,{0xDD,0xF5,0x00,0x00,}},
+ {0x8498,2,{0xC9,0x53,0x00,0x00,}},
+ {0x8499,2,{0xC3,0xC9,0x00,0x00,}},
+ {0x849A,2,{0xC9,0x54,0x00,0x00,}},
+ {0x849B,2,{0xC9,0x55,0x00,0x00,}},
+ {0x849C,2,{0xCB,0xE2,0x00,0x00,}},
+ {0x849D,2,{0xC9,0x56,0x00,0x00,}},
+ {0x849E,2,{0xC9,0x57,0x00,0x00,}},
+ {0x849F,2,{0xC9,0x58,0x00,0x00,}},
+ {0x84A0,2,{0xC9,0x59,0x00,0x00,}},
+ {0x84A1,2,{0xDD,0xF2,0x00,0x00,}},
+ {0x84A2,2,{0xC9,0x5A,0x00,0x00,}},
+ {0x84A3,2,{0xC9,0x5B,0x00,0x00,}},
+ {0x84A4,2,{0xC9,0x5C,0x00,0x00,}},
+ {0x84A5,2,{0xC9,0x5D,0x00,0x00,}},
+ {0x84A6,2,{0xC9,0x5E,0x00,0x00,}},
+ {0x84A7,2,{0xC9,0x5F,0x00,0x00,}},
+ {0x84A8,2,{0xC9,0x60,0x00,0x00,}},
+ {0x84A9,2,{0xC9,0x61,0x00,0x00,}},
+ {0x84AA,2,{0xC9,0x62,0x00,0x00,}},
+ {0x84AB,2,{0xC9,0x63,0x00,0x00,}},
+ {0x84AC,2,{0xC9,0x64,0x00,0x00,}},
+ {0x84AD,2,{0xC9,0x65,0x00,0x00,}},
+ {0x84AE,2,{0xC9,0x66,0x00,0x00,}},
+ {0x84AF,2,{0xD8,0xE1,0x00,0x00,}},
+ {0x84B0,2,{0xC9,0x67,0x00,0x00,}},
+ {0x84B1,2,{0xC9,0x68,0x00,0x00,}},
+ {0x84B2,2,{0xC6,0xD1,0x00,0x00,}},
+ {0x84B3,2,{0xC9,0x69,0x00,0x00,}},
+ {0x84B4,2,{0xDD,0xF4,0x00,0x00,}},
+ {0x84B5,2,{0xC9,0x6A,0x00,0x00,}},
+ {0x84B6,2,{0xC9,0x6B,0x00,0x00,}},
+ {0x84B7,2,{0xC9,0x6C,0x00,0x00,}},
+ {0x84B8,2,{0xD5,0xF4,0x00,0x00,}},
+ {0x84B9,2,{0xDD,0xF3,0x00,0x00,}},
+ {0x84BA,2,{0xDD,0xF0,0x00,0x00,}},
+ {0x84BB,2,{0xC9,0x6D,0x00,0x00,}},
+ {0x84BC,2,{0xC9,0x6E,0x00,0x00,}},
+ {0x84BD,2,{0xDD,0xEC,0x00,0x00,}},
+ {0x84BE,2,{0xC9,0x6F,0x00,0x00,}},
+ {0x84BF,2,{0xDD,0xEF,0x00,0x00,}},
+ {0x84C0,2,{0xC9,0x70,0x00,0x00,}},
+ {0x84C1,2,{0xDD,0xE8,0x00,0x00,}},
+ {0x84C2,2,{0xC9,0x71,0x00,0x00,}},
+ {0x84C3,2,{0xC9,0x72,0x00,0x00,}},
+ {0x84C4,2,{0xD0,0xEE,0x00,0x00,}},
+ {0x84C5,2,{0xC9,0x73,0x00,0x00,}},
+ {0x84C6,2,{0xC9,0x74,0x00,0x00,}},
+ {0x84C7,2,{0xC9,0x75,0x00,0x00,}},
+ {0x84C8,2,{0xC9,0x76,0x00,0x00,}},
+ {0x84C9,2,{0xC8,0xD8,0x00,0x00,}},
+ {0x84CA,2,{0xDD,0xEE,0x00,0x00,}},
+ {0x84CB,2,{0xC9,0x77,0x00,0x00,}},
+ {0x84CC,2,{0xC9,0x78,0x00,0x00,}},
+ {0x84CD,2,{0xDD,0xE9,0x00,0x00,}},
+ {0x84CE,2,{0xC9,0x79,0x00,0x00,}},
+ {0x84CF,2,{0xC9,0x7A,0x00,0x00,}},
+ {0x84D0,2,{0xDD,0xEA,0x00,0x00,}},
+ {0x84D1,2,{0xCB,0xF2,0x00,0x00,}},
+ {0x84D2,2,{0xC9,0x7B,0x00,0x00,}},
+ {0x84D3,2,{0xDD,0xED,0x00,0x00,}},
+ {0x84D4,2,{0xC9,0x7C,0x00,0x00,}},
+ {0x84D5,2,{0xC9,0x7D,0x00,0x00,}},
+ {0x84D6,2,{0xB1,0xCD,0x00,0x00,}},
+ {0x84D7,2,{0xC9,0x7E,0x00,0x00,}},
+ {0x84D8,2,{0xC9,0x80,0x00,0x00,}},
+ {0x84D9,2,{0xC9,0x81,0x00,0x00,}},
+ {0x84DA,2,{0xC9,0x82,0x00,0x00,}},
+ {0x84DB,2,{0xC9,0x83,0x00,0x00,}},
+ {0x84DC,2,{0xC9,0x84,0x00,0x00,}},
+ {0x84DD,2,{0xC0,0xB6,0x00,0x00,}},
+ {0x84DE,2,{0xC9,0x85,0x00,0x00,}},
+ {0x84DF,2,{0xBC,0xBB,0x00,0x00,}},
+ {0x84E0,2,{0xDD,0xF1,0x00,0x00,}},
+ {0x84E1,2,{0xC9,0x86,0x00,0x00,}},
+ {0x84E2,2,{0xC9,0x87,0x00,0x00,}},
+ {0x84E3,2,{0xDD,0xF7,0x00,0x00,}},
+ {0x84E4,2,{0xC9,0x88,0x00,0x00,}},
+ {0x84E5,2,{0xDD,0xF6,0x00,0x00,}},
+ {0x84E6,2,{0xDD,0xEB,0x00,0x00,}},
+ {0x84E7,2,{0xC9,0x89,0x00,0x00,}},
+ {0x84E8,2,{0xC9,0x8A,0x00,0x00,}},
+ {0x84E9,2,{0xC9,0x8B,0x00,0x00,}},
+ {0x84EA,2,{0xC9,0x8C,0x00,0x00,}},
+ {0x84EB,2,{0xC9,0x8D,0x00,0x00,}},
+ {0x84EC,2,{0xC5,0xEE,0x00,0x00,}},
+ {0x84ED,2,{0xC9,0x8E,0x00,0x00,}},
+ {0x84EE,2,{0xC9,0x8F,0x00,0x00,}},
+ {0x84EF,2,{0xC9,0x90,0x00,0x00,}},
+ {0x84F0,2,{0xDD,0xFB,0x00,0x00,}},
+ {0x84F1,2,{0xC9,0x91,0x00,0x00,}},
+ {0x84F2,2,{0xC9,0x92,0x00,0x00,}},
+ {0x84F3,2,{0xC9,0x93,0x00,0x00,}},
+ {0x84F4,2,{0xC9,0x94,0x00,0x00,}},
+ {0x84F5,2,{0xC9,0x95,0x00,0x00,}},
+ {0x84F6,2,{0xC9,0x96,0x00,0x00,}},
+ {0x84F7,2,{0xC9,0x97,0x00,0x00,}},
+ {0x84F8,2,{0xC9,0x98,0x00,0x00,}},
+ {0x84F9,2,{0xC9,0x99,0x00,0x00,}},
+ {0x84FA,2,{0xC9,0x9A,0x00,0x00,}},
+ {0x84FB,2,{0xC9,0x9B,0x00,0x00,}},
+ {0x84FC,2,{0xDE,0xA4,0x00,0x00,}},
+ {0x84FD,2,{0xC9,0x9C,0x00,0x00,}},
+ {0x84FE,2,{0xC9,0x9D,0x00,0x00,}},
+ {0x84FF,2,{0xDE,0xA3,0x00,0x00,}},
+ {0x8500,2,{0xC9,0x9E,0x00,0x00,}},
+ {0x8501,2,{0xC9,0x9F,0x00,0x00,}},
+ {0x8502,2,{0xC9,0xA0,0x00,0x00,}},
+ {0x8503,2,{0xCA,0x40,0x00,0x00,}},
+ {0x8504,2,{0xCA,0x41,0x00,0x00,}},
+ {0x8505,2,{0xCA,0x42,0x00,0x00,}},
+ {0x8506,2,{0xCA,0x43,0x00,0x00,}},
+ {0x8507,2,{0xCA,0x44,0x00,0x00,}},
+ {0x8508,2,{0xCA,0x45,0x00,0x00,}},
+ {0x8509,2,{0xCA,0x46,0x00,0x00,}},
+ {0x850A,2,{0xCA,0x47,0x00,0x00,}},
+ {0x850B,2,{0xCA,0x48,0x00,0x00,}},
+ {0x850C,2,{0xDD,0xF8,0x00,0x00,}},
+ {0x850D,2,{0xCA,0x49,0x00,0x00,}},
+ {0x850E,2,{0xCA,0x4A,0x00,0x00,}},
+ {0x850F,2,{0xCA,0x4B,0x00,0x00,}},
+ {0x8510,2,{0xCA,0x4C,0x00,0x00,}},
+ {0x8511,2,{0xC3,0xEF,0x00,0x00,}},
+ {0x8512,2,{0xCA,0x4D,0x00,0x00,}},
+ {0x8513,2,{0xC2,0xFB,0x00,0x00,}},
+ {0x8514,2,{0xCA,0x4E,0x00,0x00,}},
+ {0x8515,2,{0xCA,0x4F,0x00,0x00,}},
+ {0x8516,2,{0xCA,0x50,0x00,0x00,}},
+ {0x8517,2,{0xD5,0xE1,0x00,0x00,}},
+ {0x8518,2,{0xCA,0x51,0x00,0x00,}},
+ {0x8519,2,{0xCA,0x52,0x00,0x00,}},
+ {0x851A,2,{0xCE,0xB5,0x00,0x00,}},
+ {0x851B,2,{0xCA,0x53,0x00,0x00,}},
+ {0x851C,2,{0xCA,0x54,0x00,0x00,}},
+ {0x851D,2,{0xCA,0x55,0x00,0x00,}},
+ {0x851E,2,{0xCA,0x56,0x00,0x00,}},
+ {0x851F,2,{0xDD,0xFD,0x00,0x00,}},
+ {0x8520,2,{0xCA,0x57,0x00,0x00,}},
+ {0x8521,2,{0xB2,0xCC,0x00,0x00,}},
+ {0x8522,2,{0xCA,0x58,0x00,0x00,}},
+ {0x8523,2,{0xCA,0x59,0x00,0x00,}},
+ {0x8524,2,{0xCA,0x5A,0x00,0x00,}},
+ {0x8525,2,{0xCA,0x5B,0x00,0x00,}},
+ {0x8526,2,{0xCA,0x5C,0x00,0x00,}},
+ {0x8527,2,{0xCA,0x5D,0x00,0x00,}},
+ {0x8528,2,{0xCA,0x5E,0x00,0x00,}},
+ {0x8529,2,{0xCA,0x5F,0x00,0x00,}},
+ {0x852A,2,{0xCA,0x60,0x00,0x00,}},
+ {0x852B,2,{0xC4,0xE8,0x00,0x00,}},
+ {0x852C,2,{0xCA,0xDF,0x00,0x00,}},
+ {0x852D,2,{0xCA,0x61,0x00,0x00,}},
+ {0x852E,2,{0xCA,0x62,0x00,0x00,}},
+ {0x852F,2,{0xCA,0x63,0x00,0x00,}},
+ {0x8530,2,{0xCA,0x64,0x00,0x00,}},
+ {0x8531,2,{0xCA,0x65,0x00,0x00,}},
+ {0x8532,2,{0xCA,0x66,0x00,0x00,}},
+ {0x8533,2,{0xCA,0x67,0x00,0x00,}},
+ {0x8534,2,{0xCA,0x68,0x00,0x00,}},
+ {0x8535,2,{0xCA,0x69,0x00,0x00,}},
+ {0x8536,2,{0xCA,0x6A,0x00,0x00,}},
+ {0x8537,2,{0xC7,0xBE,0x00,0x00,}},
+ {0x8538,2,{0xDD,0xFA,0x00,0x00,}},
+ {0x8539,2,{0xDD,0xFC,0x00,0x00,}},
+ {0x853A,2,{0xDD,0xFE,0x00,0x00,}},
+ {0x853B,2,{0xDE,0xA2,0x00,0x00,}},
+ {0x853C,2,{0xB0,0xAA,0x00,0x00,}},
+ {0x853D,2,{0xB1,0xCE,0x00,0x00,}},
+ {0x853E,2,{0xCA,0x6B,0x00,0x00,}},
+ {0x853F,2,{0xCA,0x6C,0x00,0x00,}},
+ {0x8540,2,{0xCA,0x6D,0x00,0x00,}},
+ {0x8541,2,{0xCA,0x6E,0x00,0x00,}},
+ {0x8542,2,{0xCA,0x6F,0x00,0x00,}},
+ {0x8543,2,{0xDE,0xAC,0x00,0x00,}},
+ {0x8544,2,{0xCA,0x70,0x00,0x00,}},
+ {0x8545,2,{0xCA,0x71,0x00,0x00,}},
+ {0x8546,2,{0xCA,0x72,0x00,0x00,}},
+ {0x8547,2,{0xCA,0x73,0x00,0x00,}},
+ {0x8548,2,{0xDE,0xA6,0x00,0x00,}},
+ {0x8549,2,{0xBD,0xB6,0x00,0x00,}},
+ {0x854A,2,{0xC8,0xEF,0x00,0x00,}},
+ {0x854B,2,{0xCA,0x74,0x00,0x00,}},
+ {0x854C,2,{0xCA,0x75,0x00,0x00,}},
+ {0x854D,2,{0xCA,0x76,0x00,0x00,}},
+ {0x854E,2,{0xCA,0x77,0x00,0x00,}},
+ {0x854F,2,{0xCA,0x78,0x00,0x00,}},
+ {0x8550,2,{0xCA,0x79,0x00,0x00,}},
+ {0x8551,2,{0xCA,0x7A,0x00,0x00,}},
+ {0x8552,2,{0xCA,0x7B,0x00,0x00,}},
+ {0x8553,2,{0xCA,0x7C,0x00,0x00,}},
+ {0x8554,2,{0xCA,0x7D,0x00,0x00,}},
+ {0x8555,2,{0xCA,0x7E,0x00,0x00,}},
+ {0x8556,2,{0xDE,0xA1,0x00,0x00,}},
+ {0x8557,2,{0xCA,0x80,0x00,0x00,}},
+ {0x8558,2,{0xCA,0x81,0x00,0x00,}},
+ {0x8559,2,{0xDE,0xA5,0x00,0x00,}},
+ {0x855A,2,{0xCA,0x82,0x00,0x00,}},
+ {0x855B,2,{0xCA,0x83,0x00,0x00,}},
+ {0x855C,2,{0xCA,0x84,0x00,0x00,}},
+ {0x855D,2,{0xCA,0x85,0x00,0x00,}},
+ {0x855E,2,{0xDE,0xA9,0x00,0x00,}},
+ {0x855F,2,{0xCA,0x86,0x00,0x00,}},
+ {0x8560,2,{0xCA,0x87,0x00,0x00,}},
+ {0x8561,2,{0xCA,0x88,0x00,0x00,}},
+ {0x8562,2,{0xCA,0x89,0x00,0x00,}},
+ {0x8563,2,{0xCA,0x8A,0x00,0x00,}},
+ {0x8564,2,{0xDE,0xA8,0x00,0x00,}},
+ {0x8565,2,{0xCA,0x8B,0x00,0x00,}},
+ {0x8566,2,{0xCA,0x8C,0x00,0x00,}},
+ {0x8567,2,{0xCA,0x8D,0x00,0x00,}},
+ {0x8568,2,{0xDE,0xA7,0x00,0x00,}},
+ {0x8569,2,{0xCA,0x8E,0x00,0x00,}},
+ {0x856A,2,{0xCA,0x8F,0x00,0x00,}},
+ {0x856B,2,{0xCA,0x90,0x00,0x00,}},
+ {0x856C,2,{0xCA,0x91,0x00,0x00,}},
+ {0x856D,2,{0xCA,0x92,0x00,0x00,}},
+ {0x856E,2,{0xCA,0x93,0x00,0x00,}},
+ {0x856F,2,{0xCA,0x94,0x00,0x00,}},
+ {0x8570,2,{0xCA,0x95,0x00,0x00,}},
+ {0x8571,2,{0xCA,0x96,0x00,0x00,}},
+ {0x8572,2,{0xDE,0xAD,0x00,0x00,}},
+ {0x8573,2,{0xCA,0x97,0x00,0x00,}},
+ {0x8574,2,{0xD4,0xCC,0x00,0x00,}},
+ {0x8575,2,{0xCA,0x98,0x00,0x00,}},
+ {0x8576,2,{0xCA,0x99,0x00,0x00,}},
+ {0x8577,2,{0xCA,0x9A,0x00,0x00,}},
+ {0x8578,2,{0xCA,0x9B,0x00,0x00,}},
+ {0x8579,2,{0xDE,0xB3,0x00,0x00,}},
+ {0x857A,2,{0xDE,0xAA,0x00,0x00,}},
+ {0x857B,2,{0xDE,0xAE,0x00,0x00,}},
+ {0x857C,2,{0xCA,0x9C,0x00,0x00,}},
+ {0x857D,2,{0xCA,0x9D,0x00,0x00,}},
+ {0x857E,2,{0xC0,0xD9,0x00,0x00,}},
+ {0x857F,2,{0xCA,0x9E,0x00,0x00,}},
+ {0x8580,2,{0xCA,0x9F,0x00,0x00,}},
+ {0x8581,2,{0xCA,0xA0,0x00,0x00,}},
+ {0x8582,2,{0xCB,0x40,0x00,0x00,}},
+ {0x8583,2,{0xCB,0x41,0x00,0x00,}},
+ {0x8584,2,{0xB1,0xA1,0x00,0x00,}},
+ {0x8585,2,{0xDE,0xB6,0x00,0x00,}},
+ {0x8586,2,{0xCB,0x42,0x00,0x00,}},
+ {0x8587,2,{0xDE,0xB1,0x00,0x00,}},
+ {0x8588,2,{0xCB,0x43,0x00,0x00,}},
+ {0x8589,2,{0xCB,0x44,0x00,0x00,}},
+ {0x858A,2,{0xCB,0x45,0x00,0x00,}},
+ {0x858B,2,{0xCB,0x46,0x00,0x00,}},
+ {0x858C,2,{0xCB,0x47,0x00,0x00,}},
+ {0x858D,2,{0xCB,0x48,0x00,0x00,}},
+ {0x858E,2,{0xCB,0x49,0x00,0x00,}},
+ {0x858F,2,{0xDE,0xB2,0x00,0x00,}},
+ {0x8590,2,{0xCB,0x4A,0x00,0x00,}},
+ {0x8591,2,{0xCB,0x4B,0x00,0x00,}},
+ {0x8592,2,{0xCB,0x4C,0x00,0x00,}},
+ {0x8593,2,{0xCB,0x4D,0x00,0x00,}},
+ {0x8594,2,{0xCB,0x4E,0x00,0x00,}},
+ {0x8595,2,{0xCB,0x4F,0x00,0x00,}},
+ {0x8596,2,{0xCB,0x50,0x00,0x00,}},
+ {0x8597,2,{0xCB,0x51,0x00,0x00,}},
+ {0x8598,2,{0xCB,0x52,0x00,0x00,}},
+ {0x8599,2,{0xCB,0x53,0x00,0x00,}},
+ {0x859A,2,{0xCB,0x54,0x00,0x00,}},
+ {0x859B,2,{0xD1,0xA6,0x00,0x00,}},
+ {0x859C,2,{0xDE,0xB5,0x00,0x00,}},
+ {0x859D,2,{0xCB,0x55,0x00,0x00,}},
+ {0x859E,2,{0xCB,0x56,0x00,0x00,}},
+ {0x859F,2,{0xCB,0x57,0x00,0x00,}},
+ {0x85A0,2,{0xCB,0x58,0x00,0x00,}},
+ {0x85A1,2,{0xCB,0x59,0x00,0x00,}},
+ {0x85A2,2,{0xCB,0x5A,0x00,0x00,}},
+ {0x85A3,2,{0xCB,0x5B,0x00,0x00,}},
+ {0x85A4,2,{0xDE,0xAF,0x00,0x00,}},
+ {0x85A5,2,{0xCB,0x5C,0x00,0x00,}},
+ {0x85A6,2,{0xCB,0x5D,0x00,0x00,}},
+ {0x85A7,2,{0xCB,0x5E,0x00,0x00,}},
+ {0x85A8,2,{0xDE,0xB0,0x00,0x00,}},
+ {0x85A9,2,{0xCB,0x5F,0x00,0x00,}},
+ {0x85AA,2,{0xD0,0xBD,0x00,0x00,}},
+ {0x85AB,2,{0xCB,0x60,0x00,0x00,}},
+ {0x85AC,2,{0xCB,0x61,0x00,0x00,}},
+ {0x85AD,2,{0xCB,0x62,0x00,0x00,}},
+ {0x85AE,2,{0xDE,0xB4,0x00,0x00,}},
+ {0x85AF,2,{0xCA,0xED,0x00,0x00,}},
+ {0x85B0,2,{0xDE,0xB9,0x00,0x00,}},
+ {0x85B1,2,{0xCB,0x63,0x00,0x00,}},
+ {0x85B2,2,{0xCB,0x64,0x00,0x00,}},
+ {0x85B3,2,{0xCB,0x65,0x00,0x00,}},
+ {0x85B4,2,{0xCB,0x66,0x00,0x00,}},
+ {0x85B5,2,{0xCB,0x67,0x00,0x00,}},
+ {0x85B6,2,{0xCB,0x68,0x00,0x00,}},
+ {0x85B7,2,{0xDE,0xB8,0x00,0x00,}},
+ {0x85B8,2,{0xCB,0x69,0x00,0x00,}},
+ {0x85B9,2,{0xDE,0xB7,0x00,0x00,}},
+ {0x85BA,2,{0xCB,0x6A,0x00,0x00,}},
+ {0x85BB,2,{0xCB,0x6B,0x00,0x00,}},
+ {0x85BC,2,{0xCB,0x6C,0x00,0x00,}},
+ {0x85BD,2,{0xCB,0x6D,0x00,0x00,}},
+ {0x85BE,2,{0xCB,0x6E,0x00,0x00,}},
+ {0x85BF,2,{0xCB,0x6F,0x00,0x00,}},
+ {0x85C0,2,{0xCB,0x70,0x00,0x00,}},
+ {0x85C1,2,{0xDE,0xBB,0x00,0x00,}},
+ {0x85C2,2,{0xCB,0x71,0x00,0x00,}},
+ {0x85C3,2,{0xCB,0x72,0x00,0x00,}},
+ {0x85C4,2,{0xCB,0x73,0x00,0x00,}},
+ {0x85C5,2,{0xCB,0x74,0x00,0x00,}},
+ {0x85C6,2,{0xCB,0x75,0x00,0x00,}},
+ {0x85C7,2,{0xCB,0x76,0x00,0x00,}},
+ {0x85C8,2,{0xCB,0x77,0x00,0x00,}},
+ {0x85C9,2,{0xBD,0xE5,0x00,0x00,}},
+ {0x85CA,2,{0xCB,0x78,0x00,0x00,}},
+ {0x85CB,2,{0xCB,0x79,0x00,0x00,}},
+ {0x85CC,2,{0xCB,0x7A,0x00,0x00,}},
+ {0x85CD,2,{0xCB,0x7B,0x00,0x00,}},
+ {0x85CE,2,{0xCB,0x7C,0x00,0x00,}},
+ {0x85CF,2,{0xB2,0xD8,0x00,0x00,}},
+ {0x85D0,2,{0xC3,0xEA,0x00,0x00,}},
+ {0x85D1,2,{0xCB,0x7D,0x00,0x00,}},
+ {0x85D2,2,{0xCB,0x7E,0x00,0x00,}},
+ {0x85D3,2,{0xDE,0xBA,0x00,0x00,}},
+ {0x85D4,2,{0xCB,0x80,0x00,0x00,}},
+ {0x85D5,2,{0xC5,0xBA,0x00,0x00,}},
+ {0x85D6,2,{0xCB,0x81,0x00,0x00,}},
+ {0x85D7,2,{0xCB,0x82,0x00,0x00,}},
+ {0x85D8,2,{0xCB,0x83,0x00,0x00,}},
+ {0x85D9,2,{0xCB,0x84,0x00,0x00,}},
+ {0x85DA,2,{0xCB,0x85,0x00,0x00,}},
+ {0x85DB,2,{0xCB,0x86,0x00,0x00,}},
+ {0x85DC,2,{0xDE,0xBC,0x00,0x00,}},
+ {0x85DD,2,{0xCB,0x87,0x00,0x00,}},
+ {0x85DE,2,{0xCB,0x88,0x00,0x00,}},
+ {0x85DF,2,{0xCB,0x89,0x00,0x00,}},
+ {0x85E0,2,{0xCB,0x8A,0x00,0x00,}},
+ {0x85E1,2,{0xCB,0x8B,0x00,0x00,}},
+ {0x85E2,2,{0xCB,0x8C,0x00,0x00,}},
+ {0x85E3,2,{0xCB,0x8D,0x00,0x00,}},
+ {0x85E4,2,{0xCC,0xD9,0x00,0x00,}},
+ {0x85E5,2,{0xCB,0x8E,0x00,0x00,}},
+ {0x85E6,2,{0xCB,0x8F,0x00,0x00,}},
+ {0x85E7,2,{0xCB,0x90,0x00,0x00,}},
+ {0x85E8,2,{0xCB,0x91,0x00,0x00,}},
+ {0x85E9,2,{0xB7,0xAA,0x00,0x00,}},
+ {0x85EA,2,{0xCB,0x92,0x00,0x00,}},
+ {0x85EB,2,{0xCB,0x93,0x00,0x00,}},
+ {0x85EC,2,{0xCB,0x94,0x00,0x00,}},
+ {0x85ED,2,{0xCB,0x95,0x00,0x00,}},
+ {0x85EE,2,{0xCB,0x96,0x00,0x00,}},
+ {0x85EF,2,{0xCB,0x97,0x00,0x00,}},
+ {0x85F0,2,{0xCB,0x98,0x00,0x00,}},
+ {0x85F1,2,{0xCB,0x99,0x00,0x00,}},
+ {0x85F2,2,{0xCB,0x9A,0x00,0x00,}},
+ {0x85F3,2,{0xCB,0x9B,0x00,0x00,}},
+ {0x85F4,2,{0xCB,0x9C,0x00,0x00,}},
+ {0x85F5,2,{0xCB,0x9D,0x00,0x00,}},
+ {0x85F6,2,{0xCB,0x9E,0x00,0x00,}},
+ {0x85F7,2,{0xCB,0x9F,0x00,0x00,}},
+ {0x85F8,2,{0xCB,0xA0,0x00,0x00,}},
+ {0x85F9,2,{0xCC,0x40,0x00,0x00,}},
+ {0x85FA,2,{0xCC,0x41,0x00,0x00,}},
+ {0x85FB,2,{0xD4,0xE5,0x00,0x00,}},
+ {0x85FC,2,{0xCC,0x42,0x00,0x00,}},
+ {0x85FD,2,{0xCC,0x43,0x00,0x00,}},
+ {0x85FE,2,{0xCC,0x44,0x00,0x00,}},
+ {0x85FF,2,{0xDE,0xBD,0x00,0x00,}},
+ {0x8600,2,{0xCC,0x45,0x00,0x00,}},
+ {0x8601,2,{0xCC,0x46,0x00,0x00,}},
+ {0x8602,2,{0xCC,0x47,0x00,0x00,}},
+ {0x8603,2,{0xCC,0x48,0x00,0x00,}},
+ {0x8604,2,{0xCC,0x49,0x00,0x00,}},
+ {0x8605,2,{0xDE,0xBF,0x00,0x00,}},
+ {0x8606,2,{0xCC,0x4A,0x00,0x00,}},
+ {0x8607,2,{0xCC,0x4B,0x00,0x00,}},
+ {0x8608,2,{0xCC,0x4C,0x00,0x00,}},
+ {0x8609,2,{0xCC,0x4D,0x00,0x00,}},
+ {0x860A,2,{0xCC,0x4E,0x00,0x00,}},
+ {0x860B,2,{0xCC,0x4F,0x00,0x00,}},
+ {0x860C,2,{0xCC,0x50,0x00,0x00,}},
+ {0x860D,2,{0xCC,0x51,0x00,0x00,}},
+ {0x860E,2,{0xCC,0x52,0x00,0x00,}},
+ {0x860F,2,{0xCC,0x53,0x00,0x00,}},
+ {0x8610,2,{0xCC,0x54,0x00,0x00,}},
+ {0x8611,2,{0xC4,0xA2,0x00,0x00,}},
+ {0x8612,2,{0xCC,0x55,0x00,0x00,}},
+ {0x8613,2,{0xCC,0x56,0x00,0x00,}},
+ {0x8614,2,{0xCC,0x57,0x00,0x00,}},
+ {0x8615,2,{0xCC,0x58,0x00,0x00,}},
+ {0x8616,2,{0xDE,0xC1,0x00,0x00,}},
+ {0x8617,2,{0xCC,0x59,0x00,0x00,}},
+ {0x8618,2,{0xCC,0x5A,0x00,0x00,}},
+ {0x8619,2,{0xCC,0x5B,0x00,0x00,}},
+ {0x861A,2,{0xCC,0x5C,0x00,0x00,}},
+ {0x861B,2,{0xCC,0x5D,0x00,0x00,}},
+ {0x861C,2,{0xCC,0x5E,0x00,0x00,}},
+ {0x861D,2,{0xCC,0x5F,0x00,0x00,}},
+ {0x861E,2,{0xCC,0x60,0x00,0x00,}},
+ {0x861F,2,{0xCC,0x61,0x00,0x00,}},
+ {0x8620,2,{0xCC,0x62,0x00,0x00,}},
+ {0x8621,2,{0xCC,0x63,0x00,0x00,}},
+ {0x8622,2,{0xCC,0x64,0x00,0x00,}},
+ {0x8623,2,{0xCC,0x65,0x00,0x00,}},
+ {0x8624,2,{0xCC,0x66,0x00,0x00,}},
+ {0x8625,2,{0xCC,0x67,0x00,0x00,}},
+ {0x8626,2,{0xCC,0x68,0x00,0x00,}},
+ {0x8627,2,{0xDE,0xBE,0x00,0x00,}},
+ {0x8628,2,{0xCC,0x69,0x00,0x00,}},
+ {0x8629,2,{0xDE,0xC0,0x00,0x00,}},
+ {0x862A,2,{0xCC,0x6A,0x00,0x00,}},
+ {0x862B,2,{0xCC,0x6B,0x00,0x00,}},
+ {0x862C,2,{0xCC,0x6C,0x00,0x00,}},
+ {0x862D,2,{0xCC,0x6D,0x00,0x00,}},
+ {0x862E,2,{0xCC,0x6E,0x00,0x00,}},
+ {0x862F,2,{0xCC,0x6F,0x00,0x00,}},
+ {0x8630,2,{0xCC,0x70,0x00,0x00,}},
+ {0x8631,2,{0xCC,0x71,0x00,0x00,}},
+ {0x8632,2,{0xCC,0x72,0x00,0x00,}},
+ {0x8633,2,{0xCC,0x73,0x00,0x00,}},
+ {0x8634,2,{0xCC,0x74,0x00,0x00,}},
+ {0x8635,2,{0xCC,0x75,0x00,0x00,}},
+ {0x8636,2,{0xCC,0x76,0x00,0x00,}},
+ {0x8637,2,{0xCC,0x77,0x00,0x00,}},
+ {0x8638,2,{0xD5,0xBA,0x00,0x00,}},
+ {0x8639,2,{0xCC,0x78,0x00,0x00,}},
+ {0x863A,2,{0xCC,0x79,0x00,0x00,}},
+ {0x863B,2,{0xCC,0x7A,0x00,0x00,}},
+ {0x863C,2,{0xDE,0xC2,0x00,0x00,}},
+ {0x863D,2,{0xCC,0x7B,0x00,0x00,}},
+ {0x863E,2,{0xCC,0x7C,0x00,0x00,}},
+ {0x863F,2,{0xCC,0x7D,0x00,0x00,}},
+ {0x8640,2,{0xCC,0x7E,0x00,0x00,}},
+ {0x8641,2,{0xCC,0x80,0x00,0x00,}},
+ {0x8642,2,{0xCC,0x81,0x00,0x00,}},
+ {0x8643,2,{0xCC,0x82,0x00,0x00,}},
+ {0x8644,2,{0xCC,0x83,0x00,0x00,}},
+ {0x8645,2,{0xCC,0x84,0x00,0x00,}},
+ {0x8646,2,{0xCC,0x85,0x00,0x00,}},
+ {0x8647,2,{0xCC,0x86,0x00,0x00,}},
+ {0x8648,2,{0xCC,0x87,0x00,0x00,}},
+ {0x8649,2,{0xCC,0x88,0x00,0x00,}},
+ {0x864A,2,{0xCC,0x89,0x00,0x00,}},
+ {0x864B,2,{0xCC,0x8A,0x00,0x00,}},
+ {0x864C,2,{0xCC,0x8B,0x00,0x00,}},
+ {0x864D,2,{0xF2,0xAE,0x00,0x00,}},
+ {0x864E,2,{0xBB,0xA2,0x00,0x00,}},
+ {0x864F,2,{0xC2,0xB2,0x00,0x00,}},
+ {0x8650,2,{0xC5,0xB0,0x00,0x00,}},
+ {0x8651,2,{0xC2,0xC7,0x00,0x00,}},
+ {0x8652,2,{0xCC,0x8C,0x00,0x00,}},
+ {0x8653,2,{0xCC,0x8D,0x00,0x00,}},
+ {0x8654,2,{0xF2,0xAF,0x00,0x00,}},
+ {0x8655,2,{0xCC,0x8E,0x00,0x00,}},
+ {0x8656,2,{0xCC,0x8F,0x00,0x00,}},
+ {0x8657,2,{0xCC,0x90,0x00,0x00,}},
+ {0x8658,2,{0xCC,0x91,0x00,0x00,}},
+ {0x8659,2,{0xCC,0x92,0x00,0x00,}},
+ {0x865A,2,{0xD0,0xE9,0x00,0x00,}},
+ {0x865B,2,{0xCC,0x93,0x00,0x00,}},
+ {0x865C,2,{0xCC,0x94,0x00,0x00,}},
+ {0x865D,2,{0xCC,0x95,0x00,0x00,}},
+ {0x865E,2,{0xD3,0xDD,0x00,0x00,}},
+ {0x865F,2,{0xCC,0x96,0x00,0x00,}},
+ {0x8660,2,{0xCC,0x97,0x00,0x00,}},
+ {0x8661,2,{0xCC,0x98,0x00,0x00,}},
+ {0x8662,2,{0xEB,0xBD,0x00,0x00,}},
+ {0x8663,2,{0xCC,0x99,0x00,0x00,}},
+ {0x8664,2,{0xCC,0x9A,0x00,0x00,}},
+ {0x8665,2,{0xCC,0x9B,0x00,0x00,}},
+ {0x8666,2,{0xCC,0x9C,0x00,0x00,}},
+ {0x8667,2,{0xCC,0x9D,0x00,0x00,}},
+ {0x8668,2,{0xCC,0x9E,0x00,0x00,}},
+ {0x8669,2,{0xCC,0x9F,0x00,0x00,}},
+ {0x866A,2,{0xCC,0xA0,0x00,0x00,}},
+ {0x866B,2,{0xB3,0xE6,0x00,0x00,}},
+ {0x866C,2,{0xF2,0xB0,0x00,0x00,}},
+ {0x866D,2,{0xCD,0x40,0x00,0x00,}},
+ {0x866E,2,{0xF2,0xB1,0x00,0x00,}},
+ {0x866F,2,{0xCD,0x41,0x00,0x00,}},
+ {0x8670,2,{0xCD,0x42,0x00,0x00,}},
+ {0x8671,2,{0xCA,0xAD,0x00,0x00,}},
+ {0x8672,2,{0xCD,0x43,0x00,0x00,}},
+ {0x8673,2,{0xCD,0x44,0x00,0x00,}},
+ {0x8674,2,{0xCD,0x45,0x00,0x00,}},
+ {0x8675,2,{0xCD,0x46,0x00,0x00,}},
+ {0x8676,2,{0xCD,0x47,0x00,0x00,}},
+ {0x8677,2,{0xCD,0x48,0x00,0x00,}},
+ {0x8678,2,{0xCD,0x49,0x00,0x00,}},
+ {0x8679,2,{0xBA,0xE7,0x00,0x00,}},
+ {0x867A,2,{0xF2,0xB3,0x00,0x00,}},
+ {0x867B,2,{0xF2,0xB5,0x00,0x00,}},
+ {0x867C,2,{0xF2,0xB4,0x00,0x00,}},
+ {0x867D,2,{0xCB,0xE4,0x00,0x00,}},
+ {0x867E,2,{0xCF,0xBA,0x00,0x00,}},
+ {0x867F,2,{0xF2,0xB2,0x00,0x00,}},
+ {0x8680,2,{0xCA,0xB4,0x00,0x00,}},
+ {0x8681,2,{0xD2,0xCF,0x00,0x00,}},
+ {0x8682,2,{0xC2,0xEC,0x00,0x00,}},
+ {0x8683,2,{0xCD,0x4A,0x00,0x00,}},
+ {0x8684,2,{0xCD,0x4B,0x00,0x00,}},
+ {0x8685,2,{0xCD,0x4C,0x00,0x00,}},
+ {0x8686,2,{0xCD,0x4D,0x00,0x00,}},
+ {0x8687,2,{0xCD,0x4E,0x00,0x00,}},
+ {0x8688,2,{0xCD,0x4F,0x00,0x00,}},
+ {0x8689,2,{0xCD,0x50,0x00,0x00,}},
+ {0x868A,2,{0xCE,0xC3,0x00,0x00,}},
+ {0x868B,2,{0xF2,0xB8,0x00,0x00,}},
+ {0x868C,2,{0xB0,0xF6,0x00,0x00,}},
+ {0x868D,2,{0xF2,0xB7,0x00,0x00,}},
+ {0x868E,2,{0xCD,0x51,0x00,0x00,}},
+ {0x868F,2,{0xCD,0x52,0x00,0x00,}},
+ {0x8690,2,{0xCD,0x53,0x00,0x00,}},
+ {0x8691,2,{0xCD,0x54,0x00,0x00,}},
+ {0x8692,2,{0xCD,0x55,0x00,0x00,}},
+ {0x8693,2,{0xF2,0xBE,0x00,0x00,}},
+ {0x8694,2,{0xCD,0x56,0x00,0x00,}},
+ {0x8695,2,{0xB2,0xCF,0x00,0x00,}},
+ {0x8696,2,{0xCD,0x57,0x00,0x00,}},
+ {0x8697,2,{0xCD,0x58,0x00,0x00,}},
+ {0x8698,2,{0xCD,0x59,0x00,0x00,}},
+ {0x8699,2,{0xCD,0x5A,0x00,0x00,}},
+ {0x869A,2,{0xCD,0x5B,0x00,0x00,}},
+ {0x869B,2,{0xCD,0x5C,0x00,0x00,}},
+ {0x869C,2,{0xD1,0xC1,0x00,0x00,}},
+ {0x869D,2,{0xF2,0xBA,0x00,0x00,}},
+ {0x869E,2,{0xCD,0x5D,0x00,0x00,}},
+ {0x869F,2,{0xCD,0x5E,0x00,0x00,}},
+ {0x86A0,2,{0xCD,0x5F,0x00,0x00,}},
+ {0x86A1,2,{0xCD,0x60,0x00,0x00,}},
+ {0x86A2,2,{0xCD,0x61,0x00,0x00,}},
+ {0x86A3,2,{0xF2,0xBC,0x00,0x00,}},
+ {0x86A4,2,{0xD4,0xE9,0x00,0x00,}},
+ {0x86A5,2,{0xCD,0x62,0x00,0x00,}},
+ {0x86A6,2,{0xCD,0x63,0x00,0x00,}},
+ {0x86A7,2,{0xF2,0xBB,0x00,0x00,}},
+ {0x86A8,2,{0xF2,0xB6,0x00,0x00,}},
+ {0x86A9,2,{0xF2,0xBF,0x00,0x00,}},
+ {0x86AA,2,{0xF2,0xBD,0x00,0x00,}},
+ {0x86AB,2,{0xCD,0x64,0x00,0x00,}},
+ {0x86AC,2,{0xF2,0xB9,0x00,0x00,}},
+ {0x86AD,2,{0xCD,0x65,0x00,0x00,}},
+ {0x86AE,2,{0xCD,0x66,0x00,0x00,}},
+ {0x86AF,2,{0xF2,0xC7,0x00,0x00,}},
+ {0x86B0,2,{0xF2,0xC4,0x00,0x00,}},
+ {0x86B1,2,{0xF2,0xC6,0x00,0x00,}},
+ {0x86B2,2,{0xCD,0x67,0x00,0x00,}},
+ {0x86B3,2,{0xCD,0x68,0x00,0x00,}},
+ {0x86B4,2,{0xF2,0xCA,0x00,0x00,}},
+ {0x86B5,2,{0xF2,0xC2,0x00,0x00,}},
+ {0x86B6,2,{0xF2,0xC0,0x00,0x00,}},
+ {0x86B7,2,{0xCD,0x69,0x00,0x00,}},
+ {0x86B8,2,{0xCD,0x6A,0x00,0x00,}},
+ {0x86B9,2,{0xCD,0x6B,0x00,0x00,}},
+ {0x86BA,2,{0xF2,0xC5,0x00,0x00,}},
+ {0x86BB,2,{0xCD,0x6C,0x00,0x00,}},
+ {0x86BC,2,{0xCD,0x6D,0x00,0x00,}},
+ {0x86BD,2,{0xCD,0x6E,0x00,0x00,}},
+ {0x86BE,2,{0xCD,0x6F,0x00,0x00,}},
+ {0x86BF,2,{0xCD,0x70,0x00,0x00,}},
+ {0x86C0,2,{0xD6,0xFB,0x00,0x00,}},
+ {0x86C1,2,{0xCD,0x71,0x00,0x00,}},
+ {0x86C2,2,{0xCD,0x72,0x00,0x00,}},
+ {0x86C3,2,{0xCD,0x73,0x00,0x00,}},
+ {0x86C4,2,{0xF2,0xC1,0x00,0x00,}},
+ {0x86C5,2,{0xCD,0x74,0x00,0x00,}},
+ {0x86C6,2,{0xC7,0xF9,0x00,0x00,}},
+ {0x86C7,2,{0xC9,0xDF,0x00,0x00,}},
+ {0x86C8,2,{0xCD,0x75,0x00,0x00,}},
+ {0x86C9,2,{0xF2,0xC8,0x00,0x00,}},
+ {0x86CA,2,{0xB9,0xC6,0x00,0x00,}},
+ {0x86CB,2,{0xB5,0xB0,0x00,0x00,}},
+ {0x86CC,2,{0xCD,0x76,0x00,0x00,}},
+ {0x86CD,2,{0xCD,0x77,0x00,0x00,}},
+ {0x86CE,2,{0xF2,0xC3,0x00,0x00,}},
+ {0x86CF,2,{0xF2,0xC9,0x00,0x00,}},
+ {0x86D0,2,{0xF2,0xD0,0x00,0x00,}},
+ {0x86D1,2,{0xF2,0xD6,0x00,0x00,}},
+ {0x86D2,2,{0xCD,0x78,0x00,0x00,}},
+ {0x86D3,2,{0xCD,0x79,0x00,0x00,}},
+ {0x86D4,2,{0xBB,0xD7,0x00,0x00,}},
+ {0x86D5,2,{0xCD,0x7A,0x00,0x00,}},
+ {0x86D6,2,{0xCD,0x7B,0x00,0x00,}},
+ {0x86D7,2,{0xCD,0x7C,0x00,0x00,}},
+ {0x86D8,2,{0xF2,0xD5,0x00,0x00,}},
+ {0x86D9,2,{0xCD,0xDC,0x00,0x00,}},
+ {0x86DA,2,{0xCD,0x7D,0x00,0x00,}},
+ {0x86DB,2,{0xD6,0xEB,0x00,0x00,}},
+ {0x86DC,2,{0xCD,0x7E,0x00,0x00,}},
+ {0x86DD,2,{0xCD,0x80,0x00,0x00,}},
+ {0x86DE,2,{0xF2,0xD2,0x00,0x00,}},
+ {0x86DF,2,{0xF2,0xD4,0x00,0x00,}},
+ {0x86E0,2,{0xCD,0x81,0x00,0x00,}},
+ {0x86E1,2,{0xCD,0x82,0x00,0x00,}},
+ {0x86E2,2,{0xCD,0x83,0x00,0x00,}},
+ {0x86E3,2,{0xCD,0x84,0x00,0x00,}},
+ {0x86E4,2,{0xB8,0xF2,0x00,0x00,}},
+ {0x86E5,2,{0xCD,0x85,0x00,0x00,}},
+ {0x86E6,2,{0xCD,0x86,0x00,0x00,}},
+ {0x86E7,2,{0xCD,0x87,0x00,0x00,}},
+ {0x86E8,2,{0xCD,0x88,0x00,0x00,}},
+ {0x86E9,2,{0xF2,0xCB,0x00,0x00,}},
+ {0x86EA,2,{0xCD,0x89,0x00,0x00,}},
+ {0x86EB,2,{0xCD,0x8A,0x00,0x00,}},
+ {0x86EC,2,{0xCD,0x8B,0x00,0x00,}},
+ {0x86ED,2,{0xF2,0xCE,0x00,0x00,}},
+ {0x86EE,2,{0xC2,0xF9,0x00,0x00,}},
+ {0x86EF,2,{0xCD,0x8C,0x00,0x00,}},
+ {0x86F0,2,{0xD5,0xDD,0x00,0x00,}},
+ {0x86F1,2,{0xF2,0xCC,0x00,0x00,}},
+ {0x86F2,2,{0xF2,0xCD,0x00,0x00,}},
+ {0x86F3,2,{0xF2,0xCF,0x00,0x00,}},
+ {0x86F4,2,{0xF2,0xD3,0x00,0x00,}},
+ {0x86F5,2,{0xCD,0x8D,0x00,0x00,}},
+ {0x86F6,2,{0xCD,0x8E,0x00,0x00,}},
+ {0x86F7,2,{0xCD,0x8F,0x00,0x00,}},
+ {0x86F8,2,{0xF2,0xD9,0x00,0x00,}},
+ {0x86F9,2,{0xD3,0xBC,0x00,0x00,}},
+ {0x86FA,2,{0xCD,0x90,0x00,0x00,}},
+ {0x86FB,2,{0xCD,0x91,0x00,0x00,}},
+ {0x86FC,2,{0xCD,0x92,0x00,0x00,}},
+ {0x86FD,2,{0xCD,0x93,0x00,0x00,}},
+ {0x86FE,2,{0xB6,0xEA,0x00,0x00,}},
+ {0x86FF,2,{0xCD,0x94,0x00,0x00,}},
+ {0x8700,2,{0xCA,0xF1,0x00,0x00,}},
+ {0x8701,2,{0xCD,0x95,0x00,0x00,}},
+ {0x8702,2,{0xB7,0xE4,0x00,0x00,}},
+ {0x8703,2,{0xF2,0xD7,0x00,0x00,}},
+ {0x8704,2,{0xCD,0x96,0x00,0x00,}},
+ {0x8705,2,{0xCD,0x97,0x00,0x00,}},
+ {0x8706,2,{0xCD,0x98,0x00,0x00,}},
+ {0x8707,2,{0xF2,0xD8,0x00,0x00,}},
+ {0x8708,2,{0xF2,0xDA,0x00,0x00,}},
+ {0x8709,2,{0xF2,0xDD,0x00,0x00,}},
+ {0x870A,2,{0xF2,0xDB,0x00,0x00,}},
+ {0x870B,2,{0xCD,0x99,0x00,0x00,}},
+ {0x870C,2,{0xCD,0x9A,0x00,0x00,}},
+ {0x870D,2,{0xF2,0xDC,0x00,0x00,}},
+ {0x870E,2,{0xCD,0x9B,0x00,0x00,}},
+ {0x870F,2,{0xCD,0x9C,0x00,0x00,}},
+ {0x8710,2,{0xCD,0x9D,0x00,0x00,}},
+ {0x8711,2,{0xCD,0x9E,0x00,0x00,}},
+ {0x8712,2,{0xD1,0xD1,0x00,0x00,}},
+ {0x8713,2,{0xF2,0xD1,0x00,0x00,}},
+ {0x8714,2,{0xCD,0x9F,0x00,0x00,}},
+ {0x8715,2,{0xCD,0xC9,0x00,0x00,}},
+ {0x8716,2,{0xCD,0xA0,0x00,0x00,}},
+ {0x8717,2,{0xCE,0xCF,0x00,0x00,}},
+ {0x8718,2,{0xD6,0xA9,0x00,0x00,}},
+ {0x8719,2,{0xCE,0x40,0x00,0x00,}},
+ {0x871A,2,{0xF2,0xE3,0x00,0x00,}},
+ {0x871B,2,{0xCE,0x41,0x00,0x00,}},
+ {0x871C,2,{0xC3,0xDB,0x00,0x00,}},
+ {0x871D,2,{0xCE,0x42,0x00,0x00,}},
+ {0x871E,2,{0xF2,0xE0,0x00,0x00,}},
+ {0x871F,2,{0xCE,0x43,0x00,0x00,}},
+ {0x8720,2,{0xCE,0x44,0x00,0x00,}},
+ {0x8721,2,{0xC0,0xAF,0x00,0x00,}},
+ {0x8722,2,{0xF2,0xEC,0x00,0x00,}},
+ {0x8723,2,{0xF2,0xDE,0x00,0x00,}},
+ {0x8724,2,{0xCE,0x45,0x00,0x00,}},
+ {0x8725,2,{0xF2,0xE1,0x00,0x00,}},
+ {0x8726,2,{0xCE,0x46,0x00,0x00,}},
+ {0x8727,2,{0xCE,0x47,0x00,0x00,}},
+ {0x8728,2,{0xCE,0x48,0x00,0x00,}},
+ {0x8729,2,{0xF2,0xE8,0x00,0x00,}},
+ {0x872A,2,{0xCE,0x49,0x00,0x00,}},
+ {0x872B,2,{0xCE,0x4A,0x00,0x00,}},
+ {0x872C,2,{0xCE,0x4B,0x00,0x00,}},
+ {0x872D,2,{0xCE,0x4C,0x00,0x00,}},
+ {0x872E,2,{0xF2,0xE2,0x00,0x00,}},
+ {0x872F,2,{0xCE,0x4D,0x00,0x00,}},
+ {0x8730,2,{0xCE,0x4E,0x00,0x00,}},
+ {0x8731,2,{0xF2,0xE7,0x00,0x00,}},
+ {0x8732,2,{0xCE,0x4F,0x00,0x00,}},
+ {0x8733,2,{0xCE,0x50,0x00,0x00,}},
+ {0x8734,2,{0xF2,0xE6,0x00,0x00,}},
+ {0x8735,2,{0xCE,0x51,0x00,0x00,}},
+ {0x8736,2,{0xCE,0x52,0x00,0x00,}},
+ {0x8737,2,{0xF2,0xE9,0x00,0x00,}},
+ {0x8738,2,{0xCE,0x53,0x00,0x00,}},
+ {0x8739,2,{0xCE,0x54,0x00,0x00,}},
+ {0x873A,2,{0xCE,0x55,0x00,0x00,}},
+ {0x873B,2,{0xF2,0xDF,0x00,0x00,}},
+ {0x873C,2,{0xCE,0x56,0x00,0x00,}},
+ {0x873D,2,{0xCE,0x57,0x00,0x00,}},
+ {0x873E,2,{0xF2,0xE4,0x00,0x00,}},
+ {0x873F,2,{0xF2,0xEA,0x00,0x00,}},
+ {0x8740,2,{0xCE,0x58,0x00,0x00,}},
+ {0x8741,2,{0xCE,0x59,0x00,0x00,}},
+ {0x8742,2,{0xCE,0x5A,0x00,0x00,}},
+ {0x8743,2,{0xCE,0x5B,0x00,0x00,}},
+ {0x8744,2,{0xCE,0x5C,0x00,0x00,}},
+ {0x8745,2,{0xCE,0x5D,0x00,0x00,}},
+ {0x8746,2,{0xCE,0x5E,0x00,0x00,}},
+ {0x8747,2,{0xD3,0xAC,0x00,0x00,}},
+ {0x8748,2,{0xF2,0xE5,0x00,0x00,}},
+ {0x8749,2,{0xB2,0xF5,0x00,0x00,}},
+ {0x874A,2,{0xCE,0x5F,0x00,0x00,}},
+ {0x874B,2,{0xCE,0x60,0x00,0x00,}},
+ {0x874C,2,{0xF2,0xF2,0x00,0x00,}},
+ {0x874D,2,{0xCE,0x61,0x00,0x00,}},
+ {0x874E,2,{0xD0,0xAB,0x00,0x00,}},
+ {0x874F,2,{0xCE,0x62,0x00,0x00,}},
+ {0x8750,2,{0xCE,0x63,0x00,0x00,}},
+ {0x8751,2,{0xCE,0x64,0x00,0x00,}},
+ {0x8752,2,{0xCE,0x65,0x00,0x00,}},
+ {0x8753,2,{0xF2,0xF5,0x00,0x00,}},
+ {0x8754,2,{0xCE,0x66,0x00,0x00,}},
+ {0x8755,2,{0xCE,0x67,0x00,0x00,}},
+ {0x8756,2,{0xCE,0x68,0x00,0x00,}},
+ {0x8757,2,{0xBB,0xC8,0x00,0x00,}},
+ {0x8758,2,{0xCE,0x69,0x00,0x00,}},
+ {0x8759,2,{0xF2,0xF9,0x00,0x00,}},
+ {0x875A,2,{0xCE,0x6A,0x00,0x00,}},
+ {0x875B,2,{0xCE,0x6B,0x00,0x00,}},
+ {0x875C,2,{0xCE,0x6C,0x00,0x00,}},
+ {0x875D,2,{0xCE,0x6D,0x00,0x00,}},
+ {0x875E,2,{0xCE,0x6E,0x00,0x00,}},
+ {0x875F,2,{0xCE,0x6F,0x00,0x00,}},
+ {0x8760,2,{0xF2,0xF0,0x00,0x00,}},
+ {0x8761,2,{0xCE,0x70,0x00,0x00,}},
+ {0x8762,2,{0xCE,0x71,0x00,0x00,}},
+ {0x8763,2,{0xF2,0xF6,0x00,0x00,}},
+ {0x8764,2,{0xF2,0xF8,0x00,0x00,}},
+ {0x8765,2,{0xF2,0xFA,0x00,0x00,}},
+ {0x8766,2,{0xCE,0x72,0x00,0x00,}},
+ {0x8767,2,{0xCE,0x73,0x00,0x00,}},
+ {0x8768,2,{0xCE,0x74,0x00,0x00,}},
+ {0x8769,2,{0xCE,0x75,0x00,0x00,}},
+ {0x876A,2,{0xCE,0x76,0x00,0x00,}},
+ {0x876B,2,{0xCE,0x77,0x00,0x00,}},
+ {0x876C,2,{0xCE,0x78,0x00,0x00,}},
+ {0x876D,2,{0xCE,0x79,0x00,0x00,}},
+ {0x876E,2,{0xF2,0xF3,0x00,0x00,}},
+ {0x876F,2,{0xCE,0x7A,0x00,0x00,}},
+ {0x8770,2,{0xF2,0xF1,0x00,0x00,}},
+ {0x8771,2,{0xCE,0x7B,0x00,0x00,}},
+ {0x8772,2,{0xCE,0x7C,0x00,0x00,}},
+ {0x8773,2,{0xCE,0x7D,0x00,0x00,}},
+ {0x8774,2,{0xBA,0xFB,0x00,0x00,}},
+ {0x8775,2,{0xCE,0x7E,0x00,0x00,}},
+ {0x8776,2,{0xB5,0xFB,0x00,0x00,}},
+ {0x8777,2,{0xCE,0x80,0x00,0x00,}},
+ {0x8778,2,{0xCE,0x81,0x00,0x00,}},
+ {0x8779,2,{0xCE,0x82,0x00,0x00,}},
+ {0x877A,2,{0xCE,0x83,0x00,0x00,}},
+ {0x877B,2,{0xF2,0xEF,0x00,0x00,}},
+ {0x877C,2,{0xF2,0xF7,0x00,0x00,}},
+ {0x877D,2,{0xF2,0xED,0x00,0x00,}},
+ {0x877E,2,{0xF2,0xEE,0x00,0x00,}},
+ {0x877F,2,{0xCE,0x84,0x00,0x00,}},
+ {0x8780,2,{0xCE,0x85,0x00,0x00,}},
+ {0x8781,2,{0xCE,0x86,0x00,0x00,}},
+ {0x8782,2,{0xF2,0xEB,0x00,0x00,}},
+ {0x8783,2,{0xF3,0xA6,0x00,0x00,}},
+ {0x8784,2,{0xCE,0x87,0x00,0x00,}},
+ {0x8785,2,{0xF3,0xA3,0x00,0x00,}},
+ {0x8786,2,{0xCE,0x88,0x00,0x00,}},
+ {0x8787,2,{0xCE,0x89,0x00,0x00,}},
+ {0x8788,2,{0xF3,0xA2,0x00,0x00,}},
+ {0x8789,2,{0xCE,0x8A,0x00,0x00,}},
+ {0x878A,2,{0xCE,0x8B,0x00,0x00,}},
+ {0x878B,2,{0xF2,0xF4,0x00,0x00,}},
+ {0x878C,2,{0xCE,0x8C,0x00,0x00,}},
+ {0x878D,2,{0xC8,0xDA,0x00,0x00,}},
+ {0x878E,2,{0xCE,0x8D,0x00,0x00,}},
+ {0x878F,2,{0xCE,0x8E,0x00,0x00,}},
+ {0x8790,2,{0xCE,0x8F,0x00,0x00,}},
+ {0x8791,2,{0xCE,0x90,0x00,0x00,}},
+ {0x8792,2,{0xCE,0x91,0x00,0x00,}},
+ {0x8793,2,{0xF2,0xFB,0x00,0x00,}},
+ {0x8794,2,{0xCE,0x92,0x00,0x00,}},
+ {0x8795,2,{0xCE,0x93,0x00,0x00,}},
+ {0x8796,2,{0xCE,0x94,0x00,0x00,}},
+ {0x8797,2,{0xF3,0xA5,0x00,0x00,}},
+ {0x8798,2,{0xCE,0x95,0x00,0x00,}},
+ {0x8799,2,{0xCE,0x96,0x00,0x00,}},
+ {0x879A,2,{0xCE,0x97,0x00,0x00,}},
+ {0x879B,2,{0xCE,0x98,0x00,0x00,}},
+ {0x879C,2,{0xCE,0x99,0x00,0x00,}},
+ {0x879D,2,{0xCE,0x9A,0x00,0x00,}},
+ {0x879E,2,{0xCE,0x9B,0x00,0x00,}},
+ {0x879F,2,{0xC3,0xF8,0x00,0x00,}},
+ {0x87A0,2,{0xCE,0x9C,0x00,0x00,}},
+ {0x87A1,2,{0xCE,0x9D,0x00,0x00,}},
+ {0x87A2,2,{0xCE,0x9E,0x00,0x00,}},
+ {0x87A3,2,{0xCE,0x9F,0x00,0x00,}},
+ {0x87A4,2,{0xCE,0xA0,0x00,0x00,}},
+ {0x87A5,2,{0xCF,0x40,0x00,0x00,}},
+ {0x87A6,2,{0xCF,0x41,0x00,0x00,}},
+ {0x87A7,2,{0xCF,0x42,0x00,0x00,}},
+ {0x87A8,2,{0xF2,0xFD,0x00,0x00,}},
+ {0x87A9,2,{0xCF,0x43,0x00,0x00,}},
+ {0x87AA,2,{0xCF,0x44,0x00,0x00,}},
+ {0x87AB,2,{0xF3,0xA7,0x00,0x00,}},
+ {0x87AC,2,{0xF3,0xA9,0x00,0x00,}},
+ {0x87AD,2,{0xF3,0xA4,0x00,0x00,}},
+ {0x87AE,2,{0xCF,0x45,0x00,0x00,}},
+ {0x87AF,2,{0xF2,0xFC,0x00,0x00,}},
+ {0x87B0,2,{0xCF,0x46,0x00,0x00,}},
+ {0x87B1,2,{0xCF,0x47,0x00,0x00,}},
+ {0x87B2,2,{0xCF,0x48,0x00,0x00,}},
+ {0x87B3,2,{0xF3,0xAB,0x00,0x00,}},
+ {0x87B4,2,{0xCF,0x49,0x00,0x00,}},
+ {0x87B5,2,{0xF3,0xAA,0x00,0x00,}},
+ {0x87B6,2,{0xCF,0x4A,0x00,0x00,}},
+ {0x87B7,2,{0xCF,0x4B,0x00,0x00,}},
+ {0x87B8,2,{0xCF,0x4C,0x00,0x00,}},
+ {0x87B9,2,{0xCF,0x4D,0x00,0x00,}},
+ {0x87BA,2,{0xC2,0xDD,0x00,0x00,}},
+ {0x87BB,2,{0xCF,0x4E,0x00,0x00,}},
+ {0x87BC,2,{0xCF,0x4F,0x00,0x00,}},
+ {0x87BD,2,{0xF3,0xAE,0x00,0x00,}},
+ {0x87BE,2,{0xCF,0x50,0x00,0x00,}},
+ {0x87BF,2,{0xCF,0x51,0x00,0x00,}},
+ {0x87C0,2,{0xF3,0xB0,0x00,0x00,}},
+ {0x87C1,2,{0xCF,0x52,0x00,0x00,}},
+ {0x87C2,2,{0xCF,0x53,0x00,0x00,}},
+ {0x87C3,2,{0xCF,0x54,0x00,0x00,}},
+ {0x87C4,2,{0xCF,0x55,0x00,0x00,}},
+ {0x87C5,2,{0xCF,0x56,0x00,0x00,}},
+ {0x87C6,2,{0xF3,0xA1,0x00,0x00,}},
+ {0x87C7,2,{0xCF,0x57,0x00,0x00,}},
+ {0x87C8,2,{0xCF,0x58,0x00,0x00,}},
+ {0x87C9,2,{0xCF,0x59,0x00,0x00,}},
+ {0x87CA,2,{0xF3,0xB1,0x00,0x00,}},
+ {0x87CB,2,{0xF3,0xAC,0x00,0x00,}},
+ {0x87CC,2,{0xCF,0x5A,0x00,0x00,}},
+ {0x87CD,2,{0xCF,0x5B,0x00,0x00,}},
+ {0x87CE,2,{0xCF,0x5C,0x00,0x00,}},
+ {0x87CF,2,{0xCF,0x5D,0x00,0x00,}},
+ {0x87D0,2,{0xCF,0x5E,0x00,0x00,}},
+ {0x87D1,2,{0xF3,0xAF,0x00,0x00,}},
+ {0x87D2,2,{0xF2,0xFE,0x00,0x00,}},
+ {0x87D3,2,{0xF3,0xAD,0x00,0x00,}},
+ {0x87D4,2,{0xCF,0x5F,0x00,0x00,}},
+ {0x87D5,2,{0xCF,0x60,0x00,0x00,}},
+ {0x87D6,2,{0xCF,0x61,0x00,0x00,}},
+ {0x87D7,2,{0xCF,0x62,0x00,0x00,}},
+ {0x87D8,2,{0xCF,0x63,0x00,0x00,}},
+ {0x87D9,2,{0xCF,0x64,0x00,0x00,}},
+ {0x87DA,2,{0xCF,0x65,0x00,0x00,}},
+ {0x87DB,2,{0xF3,0xB2,0x00,0x00,}},
+ {0x87DC,2,{0xCF,0x66,0x00,0x00,}},
+ {0x87DD,2,{0xCF,0x67,0x00,0x00,}},
+ {0x87DE,2,{0xCF,0x68,0x00,0x00,}},
+ {0x87DF,2,{0xCF,0x69,0x00,0x00,}},
+ {0x87E0,2,{0xF3,0xB4,0x00,0x00,}},
+ {0x87E1,2,{0xCF,0x6A,0x00,0x00,}},
+ {0x87E2,2,{0xCF,0x6B,0x00,0x00,}},
+ {0x87E3,2,{0xCF,0x6C,0x00,0x00,}},
+ {0x87E4,2,{0xCF,0x6D,0x00,0x00,}},
+ {0x87E5,2,{0xF3,0xA8,0x00,0x00,}},
+ {0x87E6,2,{0xCF,0x6E,0x00,0x00,}},
+ {0x87E7,2,{0xCF,0x6F,0x00,0x00,}},
+ {0x87E8,2,{0xCF,0x70,0x00,0x00,}},
+ {0x87E9,2,{0xCF,0x71,0x00,0x00,}},
+ {0x87EA,2,{0xF3,0xB3,0x00,0x00,}},
+ {0x87EB,2,{0xCF,0x72,0x00,0x00,}},
+ {0x87EC,2,{0xCF,0x73,0x00,0x00,}},
+ {0x87ED,2,{0xCF,0x74,0x00,0x00,}},
+ {0x87EE,2,{0xF3,0xB5,0x00,0x00,}},
+ {0x87EF,2,{0xCF,0x75,0x00,0x00,}},
+ {0x87F0,2,{0xCF,0x76,0x00,0x00,}},
+ {0x87F1,2,{0xCF,0x77,0x00,0x00,}},
+ {0x87F2,2,{0xCF,0x78,0x00,0x00,}},
+ {0x87F3,2,{0xCF,0x79,0x00,0x00,}},
+ {0x87F4,2,{0xCF,0x7A,0x00,0x00,}},
+ {0x87F5,2,{0xCF,0x7B,0x00,0x00,}},
+ {0x87F6,2,{0xCF,0x7C,0x00,0x00,}},
+ {0x87F7,2,{0xCF,0x7D,0x00,0x00,}},
+ {0x87F8,2,{0xCF,0x7E,0x00,0x00,}},
+ {0x87F9,2,{0xD0,0xB7,0x00,0x00,}},
+ {0x87FA,2,{0xCF,0x80,0x00,0x00,}},
+ {0x87FB,2,{0xCF,0x81,0x00,0x00,}},
+ {0x87FC,2,{0xCF,0x82,0x00,0x00,}},
+ {0x87FD,2,{0xCF,0x83,0x00,0x00,}},
+ {0x87FE,2,{0xF3,0xB8,0x00,0x00,}},
+ {0x87FF,2,{0xCF,0x84,0x00,0x00,}},
+ {0x8800,2,{0xCF,0x85,0x00,0x00,}},
+ {0x8801,2,{0xCF,0x86,0x00,0x00,}},
+ {0x8802,2,{0xCF,0x87,0x00,0x00,}},
+ {0x8803,2,{0xD9,0xF9,0x00,0x00,}},
+ {0x8804,2,{0xCF,0x88,0x00,0x00,}},
+ {0x8805,2,{0xCF,0x89,0x00,0x00,}},
+ {0x8806,2,{0xCF,0x8A,0x00,0x00,}},
+ {0x8807,2,{0xCF,0x8B,0x00,0x00,}},
+ {0x8808,2,{0xCF,0x8C,0x00,0x00,}},
+ {0x8809,2,{0xCF,0x8D,0x00,0x00,}},
+ {0x880A,2,{0xF3,0xB9,0x00,0x00,}},
+ {0x880B,2,{0xCF,0x8E,0x00,0x00,}},
+ {0x880C,2,{0xCF,0x8F,0x00,0x00,}},
+ {0x880D,2,{0xCF,0x90,0x00,0x00,}},
+ {0x880E,2,{0xCF,0x91,0x00,0x00,}},
+ {0x880F,2,{0xCF,0x92,0x00,0x00,}},
+ {0x8810,2,{0xCF,0x93,0x00,0x00,}},
+ {0x8811,2,{0xCF,0x94,0x00,0x00,}},
+ {0x8812,2,{0xCF,0x95,0x00,0x00,}},
+ {0x8813,2,{0xF3,0xB7,0x00,0x00,}},
+ {0x8814,2,{0xCF,0x96,0x00,0x00,}},
+ {0x8815,2,{0xC8,0xE4,0x00,0x00,}},
+ {0x8816,2,{0xF3,0xB6,0x00,0x00,}},
+ {0x8817,2,{0xCF,0x97,0x00,0x00,}},
+ {0x8818,2,{0xCF,0x98,0x00,0x00,}},
+ {0x8819,2,{0xCF,0x99,0x00,0x00,}},
+ {0x881A,2,{0xCF,0x9A,0x00,0x00,}},
+ {0x881B,2,{0xF3,0xBA,0x00,0x00,}},
+ {0x881C,2,{0xCF,0x9B,0x00,0x00,}},
+ {0x881D,2,{0xCF,0x9C,0x00,0x00,}},
+ {0x881E,2,{0xCF,0x9D,0x00,0x00,}},
+ {0x881F,2,{0xCF,0x9E,0x00,0x00,}},
+ {0x8820,2,{0xCF,0x9F,0x00,0x00,}},
+ {0x8821,2,{0xF3,0xBB,0x00,0x00,}},
+ {0x8822,2,{0xB4,0xC0,0x00,0x00,}},
+ {0x8823,2,{0xCF,0xA0,0x00,0x00,}},
+ {0x8824,2,{0xD0,0x40,0x00,0x00,}},
+ {0x8825,2,{0xD0,0x41,0x00,0x00,}},
+ {0x8826,2,{0xD0,0x42,0x00,0x00,}},
+ {0x8827,2,{0xD0,0x43,0x00,0x00,}},
+ {0x8828,2,{0xD0,0x44,0x00,0x00,}},
+ {0x8829,2,{0xD0,0x45,0x00,0x00,}},
+ {0x882A,2,{0xD0,0x46,0x00,0x00,}},
+ {0x882B,2,{0xD0,0x47,0x00,0x00,}},
+ {0x882C,2,{0xD0,0x48,0x00,0x00,}},
+ {0x882D,2,{0xD0,0x49,0x00,0x00,}},
+ {0x882E,2,{0xD0,0x4A,0x00,0x00,}},
+ {0x882F,2,{0xD0,0x4B,0x00,0x00,}},
+ {0x8830,2,{0xD0,0x4C,0x00,0x00,}},
+ {0x8831,2,{0xD0,0x4D,0x00,0x00,}},
+ {0x8832,2,{0xEE,0xC3,0x00,0x00,}},
+ {0x8833,2,{0xD0,0x4E,0x00,0x00,}},
+ {0x8834,2,{0xD0,0x4F,0x00,0x00,}},
+ {0x8835,2,{0xD0,0x50,0x00,0x00,}},
+ {0x8836,2,{0xD0,0x51,0x00,0x00,}},
+ {0x8837,2,{0xD0,0x52,0x00,0x00,}},
+ {0x8838,2,{0xD0,0x53,0x00,0x00,}},
+ {0x8839,2,{0xF3,0xBC,0x00,0x00,}},
+ {0x883A,2,{0xD0,0x54,0x00,0x00,}},
+ {0x883B,2,{0xD0,0x55,0x00,0x00,}},
+ {0x883C,2,{0xF3,0xBD,0x00,0x00,}},
+ {0x883D,2,{0xD0,0x56,0x00,0x00,}},
+ {0x883E,2,{0xD0,0x57,0x00,0x00,}},
+ {0x883F,2,{0xD0,0x58,0x00,0x00,}},
+ {0x8840,2,{0xD1,0xAA,0x00,0x00,}},
+ {0x8841,2,{0xD0,0x59,0x00,0x00,}},
+ {0x8842,2,{0xD0,0x5A,0x00,0x00,}},
+ {0x8843,2,{0xD0,0x5B,0x00,0x00,}},
+ {0x8844,2,{0xF4,0xAC,0x00,0x00,}},
+ {0x8845,2,{0xD0,0xC6,0x00,0x00,}},
+ {0x8846,2,{0xD0,0x5C,0x00,0x00,}},
+ {0x8847,2,{0xD0,0x5D,0x00,0x00,}},
+ {0x8848,2,{0xD0,0x5E,0x00,0x00,}},
+ {0x8849,2,{0xD0,0x5F,0x00,0x00,}},
+ {0x884A,2,{0xD0,0x60,0x00,0x00,}},
+ {0x884B,2,{0xD0,0x61,0x00,0x00,}},
+ {0x884C,2,{0xD0,0xD0,0x00,0x00,}},
+ {0x884D,2,{0xD1,0xDC,0x00,0x00,}},
+ {0x884E,2,{0xD0,0x62,0x00,0x00,}},
+ {0x884F,2,{0xD0,0x63,0x00,0x00,}},
+ {0x8850,2,{0xD0,0x64,0x00,0x00,}},
+ {0x8851,2,{0xD0,0x65,0x00,0x00,}},
+ {0x8852,2,{0xD0,0x66,0x00,0x00,}},
+ {0x8853,2,{0xD0,0x67,0x00,0x00,}},
+ {0x8854,2,{0xCF,0xCE,0x00,0x00,}},
+ {0x8855,2,{0xD0,0x68,0x00,0x00,}},
+ {0x8856,2,{0xD0,0x69,0x00,0x00,}},
+ {0x8857,2,{0xBD,0xD6,0x00,0x00,}},
+ {0x8858,2,{0xD0,0x6A,0x00,0x00,}},
+ {0x8859,2,{0xD1,0xC3,0x00,0x00,}},
+ {0x885A,2,{0xD0,0x6B,0x00,0x00,}},
+ {0x885B,2,{0xD0,0x6C,0x00,0x00,}},
+ {0x885C,2,{0xD0,0x6D,0x00,0x00,}},
+ {0x885D,2,{0xD0,0x6E,0x00,0x00,}},
+ {0x885E,2,{0xD0,0x6F,0x00,0x00,}},
+ {0x885F,2,{0xD0,0x70,0x00,0x00,}},
+ {0x8860,2,{0xD0,0x71,0x00,0x00,}},
+ {0x8861,2,{0xBA,0xE2,0x00,0x00,}},
+ {0x8862,2,{0xE1,0xE9,0x00,0x00,}},
+ {0x8863,2,{0xD2,0xC2,0x00,0x00,}},
+ {0x8864,2,{0xF1,0xC2,0x00,0x00,}},
+ {0x8865,2,{0xB2,0xB9,0x00,0x00,}},
+ {0x8866,2,{0xD0,0x72,0x00,0x00,}},
+ {0x8867,2,{0xD0,0x73,0x00,0x00,}},
+ {0x8868,2,{0xB1,0xED,0x00,0x00,}},
+ {0x8869,2,{0xF1,0xC3,0x00,0x00,}},
+ {0x886A,2,{0xD0,0x74,0x00,0x00,}},
+ {0x886B,2,{0xC9,0xC0,0x00,0x00,}},
+ {0x886C,2,{0xB3,0xC4,0x00,0x00,}},
+ {0x886D,2,{0xD0,0x75,0x00,0x00,}},
+ {0x886E,2,{0xD9,0xF2,0x00,0x00,}},
+ {0x886F,2,{0xD0,0x76,0x00,0x00,}},
+ {0x8870,2,{0xCB,0xA5,0x00,0x00,}},
+ {0x8871,2,{0xD0,0x77,0x00,0x00,}},
+ {0x8872,2,{0xF1,0xC4,0x00,0x00,}},
+ {0x8873,2,{0xD0,0x78,0x00,0x00,}},
+ {0x8874,2,{0xD0,0x79,0x00,0x00,}},
+ {0x8875,2,{0xD0,0x7A,0x00,0x00,}},
+ {0x8876,2,{0xD0,0x7B,0x00,0x00,}},
+ {0x8877,2,{0xD6,0xD4,0x00,0x00,}},
+ {0x8878,2,{0xD0,0x7C,0x00,0x00,}},
+ {0x8879,2,{0xD0,0x7D,0x00,0x00,}},
+ {0x887A,2,{0xD0,0x7E,0x00,0x00,}},
+ {0x887B,2,{0xD0,0x80,0x00,0x00,}},
+ {0x887C,2,{0xD0,0x81,0x00,0x00,}},
+ {0x887D,2,{0xF1,0xC5,0x00,0x00,}},
+ {0x887E,2,{0xF4,0xC0,0x00,0x00,}},
+ {0x887F,2,{0xF1,0xC6,0x00,0x00,}},
+ {0x8880,2,{0xD0,0x82,0x00,0x00,}},
+ {0x8881,2,{0xD4,0xAC,0x00,0x00,}},
+ {0x8882,2,{0xF1,0xC7,0x00,0x00,}},
+ {0x8883,2,{0xD0,0x83,0x00,0x00,}},
+ {0x8884,2,{0xB0,0xC0,0x00,0x00,}},
+ {0x8885,2,{0xF4,0xC1,0x00,0x00,}},
+ {0x8886,2,{0xD0,0x84,0x00,0x00,}},
+ {0x8887,2,{0xD0,0x85,0x00,0x00,}},
+ {0x8888,2,{0xF4,0xC2,0x00,0x00,}},
+ {0x8889,2,{0xD0,0x86,0x00,0x00,}},
+ {0x888A,2,{0xD0,0x87,0x00,0x00,}},
+ {0x888B,2,{0xB4,0xFC,0x00,0x00,}},
+ {0x888C,2,{0xD0,0x88,0x00,0x00,}},
+ {0x888D,2,{0xC5,0xDB,0x00,0x00,}},
+ {0x888E,2,{0xD0,0x89,0x00,0x00,}},
+ {0x888F,2,{0xD0,0x8A,0x00,0x00,}},
+ {0x8890,2,{0xD0,0x8B,0x00,0x00,}},
+ {0x8891,2,{0xD0,0x8C,0x00,0x00,}},
+ {0x8892,2,{0xCC,0xBB,0x00,0x00,}},
+ {0x8893,2,{0xD0,0x8D,0x00,0x00,}},
+ {0x8894,2,{0xD0,0x8E,0x00,0x00,}},
+ {0x8895,2,{0xD0,0x8F,0x00,0x00,}},
+ {0x8896,2,{0xD0,0xE4,0x00,0x00,}},
+ {0x8897,2,{0xD0,0x90,0x00,0x00,}},
+ {0x8898,2,{0xD0,0x91,0x00,0x00,}},
+ {0x8899,2,{0xD0,0x92,0x00,0x00,}},
+ {0x889A,2,{0xD0,0x93,0x00,0x00,}},
+ {0x889B,2,{0xD0,0x94,0x00,0x00,}},
+ {0x889C,2,{0xCD,0xE0,0x00,0x00,}},
+ {0x889D,2,{0xD0,0x95,0x00,0x00,}},
+ {0x889E,2,{0xD0,0x96,0x00,0x00,}},
+ {0x889F,2,{0xD0,0x97,0x00,0x00,}},
+ {0x88A0,2,{0xD0,0x98,0x00,0x00,}},
+ {0x88A1,2,{0xD0,0x99,0x00,0x00,}},
+ {0x88A2,2,{0xF1,0xC8,0x00,0x00,}},
+ {0x88A3,2,{0xD0,0x9A,0x00,0x00,}},
+ {0x88A4,2,{0xD9,0xF3,0x00,0x00,}},
+ {0x88A5,2,{0xD0,0x9B,0x00,0x00,}},
+ {0x88A6,2,{0xD0,0x9C,0x00,0x00,}},
+ {0x88A7,2,{0xD0,0x9D,0x00,0x00,}},
+ {0x88A8,2,{0xD0,0x9E,0x00,0x00,}},
+ {0x88A9,2,{0xD0,0x9F,0x00,0x00,}},
+ {0x88AA,2,{0xD0,0xA0,0x00,0x00,}},
+ {0x88AB,2,{0xB1,0xBB,0x00,0x00,}},
+ {0x88AC,2,{0xD1,0x40,0x00,0x00,}},
+ {0x88AD,2,{0xCF,0xAE,0x00,0x00,}},
+ {0x88AE,2,{0xD1,0x41,0x00,0x00,}},
+ {0x88AF,2,{0xD1,0x42,0x00,0x00,}},
+ {0x88B0,2,{0xD1,0x43,0x00,0x00,}},
+ {0x88B1,2,{0xB8,0xA4,0x00,0x00,}},
+ {0x88B2,2,{0xD1,0x44,0x00,0x00,}},
+ {0x88B3,2,{0xD1,0x45,0x00,0x00,}},
+ {0x88B4,2,{0xD1,0x46,0x00,0x00,}},
+ {0x88B5,2,{0xD1,0x47,0x00,0x00,}},
+ {0x88B6,2,{0xD1,0x48,0x00,0x00,}},
+ {0x88B7,2,{0xF1,0xCA,0x00,0x00,}},
+ {0x88B8,2,{0xD1,0x49,0x00,0x00,}},
+ {0x88B9,2,{0xD1,0x4A,0x00,0x00,}},
+ {0x88BA,2,{0xD1,0x4B,0x00,0x00,}},
+ {0x88BB,2,{0xD1,0x4C,0x00,0x00,}},
+ {0x88BC,2,{0xF1,0xCB,0x00,0x00,}},
+ {0x88BD,2,{0xD1,0x4D,0x00,0x00,}},
+ {0x88BE,2,{0xD1,0x4E,0x00,0x00,}},
+ {0x88BF,2,{0xD1,0x4F,0x00,0x00,}},
+ {0x88C0,2,{0xD1,0x50,0x00,0x00,}},
+ {0x88C1,2,{0xB2,0xC3,0x00,0x00,}},
+ {0x88C2,2,{0xC1,0xD1,0x00,0x00,}},
+ {0x88C3,2,{0xD1,0x51,0x00,0x00,}},
+ {0x88C4,2,{0xD1,0x52,0x00,0x00,}},
+ {0x88C5,2,{0xD7,0xB0,0x00,0x00,}},
+ {0x88C6,2,{0xF1,0xC9,0x00,0x00,}},
+ {0x88C7,2,{0xD1,0x53,0x00,0x00,}},
+ {0x88C8,2,{0xD1,0x54,0x00,0x00,}},
+ {0x88C9,2,{0xF1,0xCC,0x00,0x00,}},
+ {0x88CA,2,{0xD1,0x55,0x00,0x00,}},
+ {0x88CB,2,{0xD1,0x56,0x00,0x00,}},
+ {0x88CC,2,{0xD1,0x57,0x00,0x00,}},
+ {0x88CD,2,{0xD1,0x58,0x00,0x00,}},
+ {0x88CE,2,{0xF1,0xCE,0x00,0x00,}},
+ {0x88CF,2,{0xD1,0x59,0x00,0x00,}},
+ {0x88D0,2,{0xD1,0x5A,0x00,0x00,}},
+ {0x88D1,2,{0xD1,0x5B,0x00,0x00,}},
+ {0x88D2,2,{0xD9,0xF6,0x00,0x00,}},
+ {0x88D3,2,{0xD1,0x5C,0x00,0x00,}},
+ {0x88D4,2,{0xD2,0xE1,0x00,0x00,}},
+ {0x88D5,2,{0xD4,0xA3,0x00,0x00,}},
+ {0x88D6,2,{0xD1,0x5D,0x00,0x00,}},
+ {0x88D7,2,{0xD1,0x5E,0x00,0x00,}},
+ {0x88D8,2,{0xF4,0xC3,0x00,0x00,}},
+ {0x88D9,2,{0xC8,0xB9,0x00,0x00,}},
+ {0x88DA,2,{0xD1,0x5F,0x00,0x00,}},
+ {0x88DB,2,{0xD1,0x60,0x00,0x00,}},
+ {0x88DC,2,{0xD1,0x61,0x00,0x00,}},
+ {0x88DD,2,{0xD1,0x62,0x00,0x00,}},
+ {0x88DE,2,{0xD1,0x63,0x00,0x00,}},
+ {0x88DF,2,{0xF4,0xC4,0x00,0x00,}},
+ {0x88E0,2,{0xD1,0x64,0x00,0x00,}},
+ {0x88E1,2,{0xD1,0x65,0x00,0x00,}},
+ {0x88E2,2,{0xF1,0xCD,0x00,0x00,}},
+ {0x88E3,2,{0xF1,0xCF,0x00,0x00,}},
+ {0x88E4,2,{0xBF,0xE3,0x00,0x00,}},
+ {0x88E5,2,{0xF1,0xD0,0x00,0x00,}},
+ {0x88E6,2,{0xD1,0x66,0x00,0x00,}},
+ {0x88E7,2,{0xD1,0x67,0x00,0x00,}},
+ {0x88E8,2,{0xF1,0xD4,0x00,0x00,}},
+ {0x88E9,2,{0xD1,0x68,0x00,0x00,}},
+ {0x88EA,2,{0xD1,0x69,0x00,0x00,}},
+ {0x88EB,2,{0xD1,0x6A,0x00,0x00,}},
+ {0x88EC,2,{0xD1,0x6B,0x00,0x00,}},
+ {0x88ED,2,{0xD1,0x6C,0x00,0x00,}},
+ {0x88EE,2,{0xD1,0x6D,0x00,0x00,}},
+ {0x88EF,2,{0xD1,0x6E,0x00,0x00,}},
+ {0x88F0,2,{0xF1,0xD6,0x00,0x00,}},
+ {0x88F1,2,{0xF1,0xD1,0x00,0x00,}},
+ {0x88F2,2,{0xD1,0x6F,0x00,0x00,}},
+ {0x88F3,2,{0xC9,0xD1,0x00,0x00,}},
+ {0x88F4,2,{0xC5,0xE1,0x00,0x00,}},
+ {0x88F5,2,{0xD1,0x70,0x00,0x00,}},
+ {0x88F6,2,{0xD1,0x71,0x00,0x00,}},
+ {0x88F7,2,{0xD1,0x72,0x00,0x00,}},
+ {0x88F8,2,{0xC2,0xE3,0x00,0x00,}},
+ {0x88F9,2,{0xB9,0xFC,0x00,0x00,}},
+ {0x88FA,2,{0xD1,0x73,0x00,0x00,}},
+ {0x88FB,2,{0xD1,0x74,0x00,0x00,}},
+ {0x88FC,2,{0xF1,0xD3,0x00,0x00,}},
+ {0x88FD,2,{0xD1,0x75,0x00,0x00,}},
+ {0x88FE,2,{0xF1,0xD5,0x00,0x00,}},
+ {0x88FF,2,{0xD1,0x76,0x00,0x00,}},
+ {0x8900,2,{0xD1,0x77,0x00,0x00,}},
+ {0x8901,2,{0xD1,0x78,0x00,0x00,}},
+ {0x8902,2,{0xB9,0xD3,0x00,0x00,}},
+ {0x8903,2,{0xD1,0x79,0x00,0x00,}},
+ {0x8904,2,{0xD1,0x7A,0x00,0x00,}},
+ {0x8905,2,{0xD1,0x7B,0x00,0x00,}},
+ {0x8906,2,{0xD1,0x7C,0x00,0x00,}},
+ {0x8907,2,{0xD1,0x7D,0x00,0x00,}},
+ {0x8908,2,{0xD1,0x7E,0x00,0x00,}},
+ {0x8909,2,{0xD1,0x80,0x00,0x00,}},
+ {0x890A,2,{0xF1,0xDB,0x00,0x00,}},
+ {0x890B,2,{0xD1,0x81,0x00,0x00,}},
+ {0x890C,2,{0xD1,0x82,0x00,0x00,}},
+ {0x890D,2,{0xD1,0x83,0x00,0x00,}},
+ {0x890E,2,{0xD1,0x84,0x00,0x00,}},
+ {0x890F,2,{0xD1,0x85,0x00,0x00,}},
+ {0x8910,2,{0xBA,0xD6,0x00,0x00,}},
+ {0x8911,2,{0xD1,0x86,0x00,0x00,}},
+ {0x8912,2,{0xB0,0xFD,0x00,0x00,}},
+ {0x8913,2,{0xF1,0xD9,0x00,0x00,}},
+ {0x8914,2,{0xD1,0x87,0x00,0x00,}},
+ {0x8915,2,{0xD1,0x88,0x00,0x00,}},
+ {0x8916,2,{0xD1,0x89,0x00,0x00,}},
+ {0x8917,2,{0xD1,0x8A,0x00,0x00,}},
+ {0x8918,2,{0xD1,0x8B,0x00,0x00,}},
+ {0x8919,2,{0xF1,0xD8,0x00,0x00,}},
+ {0x891A,2,{0xF1,0xD2,0x00,0x00,}},
+ {0x891B,2,{0xF1,0xDA,0x00,0x00,}},
+ {0x891C,2,{0xD1,0x8C,0x00,0x00,}},
+ {0x891D,2,{0xD1,0x8D,0x00,0x00,}},
+ {0x891E,2,{0xD1,0x8E,0x00,0x00,}},
+ {0x891F,2,{0xD1,0x8F,0x00,0x00,}},
+ {0x8920,2,{0xD1,0x90,0x00,0x00,}},
+ {0x8921,2,{0xF1,0xD7,0x00,0x00,}},
+ {0x8922,2,{0xD1,0x91,0x00,0x00,}},
+ {0x8923,2,{0xD1,0x92,0x00,0x00,}},
+ {0x8924,2,{0xD1,0x93,0x00,0x00,}},
+ {0x8925,2,{0xC8,0xEC,0x00,0x00,}},
+ {0x8926,2,{0xD1,0x94,0x00,0x00,}},
+ {0x8927,2,{0xD1,0x95,0x00,0x00,}},
+ {0x8928,2,{0xD1,0x96,0x00,0x00,}},
+ {0x8929,2,{0xD1,0x97,0x00,0x00,}},
+ {0x892A,2,{0xCD,0xCA,0x00,0x00,}},
+ {0x892B,2,{0xF1,0xDD,0x00,0x00,}},
+ {0x892C,2,{0xD1,0x98,0x00,0x00,}},
+ {0x892D,2,{0xD1,0x99,0x00,0x00,}},
+ {0x892E,2,{0xD1,0x9A,0x00,0x00,}},
+ {0x892F,2,{0xD1,0x9B,0x00,0x00,}},
+ {0x8930,2,{0xE5,0xBD,0x00,0x00,}},
+ {0x8931,2,{0xD1,0x9C,0x00,0x00,}},
+ {0x8932,2,{0xD1,0x9D,0x00,0x00,}},
+ {0x8933,2,{0xD1,0x9E,0x00,0x00,}},
+ {0x8934,2,{0xF1,0xDC,0x00,0x00,}},
+ {0x8935,2,{0xD1,0x9F,0x00,0x00,}},
+ {0x8936,2,{0xF1,0xDE,0x00,0x00,}},
+ {0x8937,2,{0xD1,0xA0,0x00,0x00,}},
+ {0x8938,2,{0xD2,0x40,0x00,0x00,}},
+ {0x8939,2,{0xD2,0x41,0x00,0x00,}},
+ {0x893A,2,{0xD2,0x42,0x00,0x00,}},
+ {0x893B,2,{0xD2,0x43,0x00,0x00,}},
+ {0x893C,2,{0xD2,0x44,0x00,0x00,}},
+ {0x893D,2,{0xD2,0x45,0x00,0x00,}},
+ {0x893E,2,{0xD2,0x46,0x00,0x00,}},
+ {0x893F,2,{0xD2,0x47,0x00,0x00,}},
+ {0x8940,2,{0xD2,0x48,0x00,0x00,}},
+ {0x8941,2,{0xF1,0xDF,0x00,0x00,}},
+ {0x8942,2,{0xD2,0x49,0x00,0x00,}},
+ {0x8943,2,{0xD2,0x4A,0x00,0x00,}},
+ {0x8944,2,{0xCF,0xE5,0x00,0x00,}},
+ {0x8945,2,{0xD2,0x4B,0x00,0x00,}},
+ {0x8946,2,{0xD2,0x4C,0x00,0x00,}},
+ {0x8947,2,{0xD2,0x4D,0x00,0x00,}},
+ {0x8948,2,{0xD2,0x4E,0x00,0x00,}},
+ {0x8949,2,{0xD2,0x4F,0x00,0x00,}},
+ {0x894A,2,{0xD2,0x50,0x00,0x00,}},
+ {0x894B,2,{0xD2,0x51,0x00,0x00,}},
+ {0x894C,2,{0xD2,0x52,0x00,0x00,}},
+ {0x894D,2,{0xD2,0x53,0x00,0x00,}},
+ {0x894E,2,{0xD2,0x54,0x00,0x00,}},
+ {0x894F,2,{0xD2,0x55,0x00,0x00,}},
+ {0x8950,2,{0xD2,0x56,0x00,0x00,}},
+ {0x8951,2,{0xD2,0x57,0x00,0x00,}},
+ {0x8952,2,{0xD2,0x58,0x00,0x00,}},
+ {0x8953,2,{0xD2,0x59,0x00,0x00,}},
+ {0x8954,2,{0xD2,0x5A,0x00,0x00,}},
+ {0x8955,2,{0xD2,0x5B,0x00,0x00,}},
+ {0x8956,2,{0xD2,0x5C,0x00,0x00,}},
+ {0x8957,2,{0xD2,0x5D,0x00,0x00,}},
+ {0x8958,2,{0xD2,0x5E,0x00,0x00,}},
+ {0x8959,2,{0xD2,0x5F,0x00,0x00,}},
+ {0x895A,2,{0xD2,0x60,0x00,0x00,}},
+ {0x895B,2,{0xD2,0x61,0x00,0x00,}},
+ {0x895C,2,{0xD2,0x62,0x00,0x00,}},
+ {0x895D,2,{0xD2,0x63,0x00,0x00,}},
+ {0x895E,2,{0xF4,0xC5,0x00,0x00,}},
+ {0x895F,2,{0xBD,0xF3,0x00,0x00,}},
+ {0x8960,2,{0xD2,0x64,0x00,0x00,}},
+ {0x8961,2,{0xD2,0x65,0x00,0x00,}},
+ {0x8962,2,{0xD2,0x66,0x00,0x00,}},
+ {0x8963,2,{0xD2,0x67,0x00,0x00,}},
+ {0x8964,2,{0xD2,0x68,0x00,0x00,}},
+ {0x8965,2,{0xD2,0x69,0x00,0x00,}},
+ {0x8966,2,{0xF1,0xE0,0x00,0x00,}},
+ {0x8967,2,{0xD2,0x6A,0x00,0x00,}},
+ {0x8968,2,{0xD2,0x6B,0x00,0x00,}},
+ {0x8969,2,{0xD2,0x6C,0x00,0x00,}},
+ {0x896A,2,{0xD2,0x6D,0x00,0x00,}},
+ {0x896B,2,{0xD2,0x6E,0x00,0x00,}},
+ {0x896C,2,{0xD2,0x6F,0x00,0x00,}},
+ {0x896D,2,{0xD2,0x70,0x00,0x00,}},
+ {0x896E,2,{0xD2,0x71,0x00,0x00,}},
+ {0x896F,2,{0xD2,0x72,0x00,0x00,}},
+ {0x8970,2,{0xD2,0x73,0x00,0x00,}},
+ {0x8971,2,{0xD2,0x74,0x00,0x00,}},
+ {0x8972,2,{0xD2,0x75,0x00,0x00,}},
+ {0x8973,2,{0xD2,0x76,0x00,0x00,}},
+ {0x8974,2,{0xD2,0x77,0x00,0x00,}},
+ {0x8975,2,{0xD2,0x78,0x00,0x00,}},
+ {0x8976,2,{0xD2,0x79,0x00,0x00,}},
+ {0x8977,2,{0xD2,0x7A,0x00,0x00,}},
+ {0x8978,2,{0xD2,0x7B,0x00,0x00,}},
+ {0x8979,2,{0xD2,0x7C,0x00,0x00,}},
+ {0x897A,2,{0xD2,0x7D,0x00,0x00,}},
+ {0x897B,2,{0xF1,0xE1,0x00,0x00,}},
+ {0x897C,2,{0xD2,0x7E,0x00,0x00,}},
+ {0x897D,2,{0xD2,0x80,0x00,0x00,}},
+ {0x897E,2,{0xD2,0x81,0x00,0x00,}},
+ {0x897F,2,{0xCE,0xF7,0x00,0x00,}},
+ {0x8980,2,{0xD2,0x82,0x00,0x00,}},
+ {0x8981,2,{0xD2,0xAA,0x00,0x00,}},
+ {0x8982,2,{0xD2,0x83,0x00,0x00,}},
+ {0x8983,2,{0xF1,0xFB,0x00,0x00,}},
+ {0x8984,2,{0xD2,0x84,0x00,0x00,}},
+ {0x8985,2,{0xD2,0x85,0x00,0x00,}},
+ {0x8986,2,{0xB8,0xB2,0x00,0x00,}},
+ {0x8987,2,{0xD2,0x86,0x00,0x00,}},
+ {0x8988,2,{0xD2,0x87,0x00,0x00,}},
+ {0x8989,2,{0xD2,0x88,0x00,0x00,}},
+ {0x898A,2,{0xD2,0x89,0x00,0x00,}},
+ {0x898B,2,{0xD2,0x8A,0x00,0x00,}},
+ {0x898C,2,{0xD2,0x8B,0x00,0x00,}},
+ {0x898D,2,{0xD2,0x8C,0x00,0x00,}},
+ {0x898E,2,{0xD2,0x8D,0x00,0x00,}},
+ {0x898F,2,{0xD2,0x8E,0x00,0x00,}},
+ {0x8990,2,{0xD2,0x8F,0x00,0x00,}},
+ {0x8991,2,{0xD2,0x90,0x00,0x00,}},
+ {0x8992,2,{0xD2,0x91,0x00,0x00,}},
+ {0x8993,2,{0xD2,0x92,0x00,0x00,}},
+ {0x8994,2,{0xD2,0x93,0x00,0x00,}},
+ {0x8995,2,{0xD2,0x94,0x00,0x00,}},
+ {0x8996,2,{0xD2,0x95,0x00,0x00,}},
+ {0x8997,2,{0xD2,0x96,0x00,0x00,}},
+ {0x8998,2,{0xD2,0x97,0x00,0x00,}},
+ {0x8999,2,{0xD2,0x98,0x00,0x00,}},
+ {0x899A,2,{0xD2,0x99,0x00,0x00,}},
+ {0x899B,2,{0xD2,0x9A,0x00,0x00,}},
+ {0x899C,2,{0xD2,0x9B,0x00,0x00,}},
+ {0x899D,2,{0xD2,0x9C,0x00,0x00,}},
+ {0x899E,2,{0xD2,0x9D,0x00,0x00,}},
+ {0x899F,2,{0xD2,0x9E,0x00,0x00,}},
+ {0x89A0,2,{0xD2,0x9F,0x00,0x00,}},
+ {0x89A1,2,{0xD2,0xA0,0x00,0x00,}},
+ {0x89A2,2,{0xD3,0x40,0x00,0x00,}},
+ {0x89A3,2,{0xD3,0x41,0x00,0x00,}},
+ {0x89A4,2,{0xD3,0x42,0x00,0x00,}},
+ {0x89A5,2,{0xD3,0x43,0x00,0x00,}},
+ {0x89A6,2,{0xD3,0x44,0x00,0x00,}},
+ {0x89A7,2,{0xD3,0x45,0x00,0x00,}},
+ {0x89A8,2,{0xD3,0x46,0x00,0x00,}},
+ {0x89A9,2,{0xD3,0x47,0x00,0x00,}},
+ {0x89AA,2,{0xD3,0x48,0x00,0x00,}},
+ {0x89AB,2,{0xD3,0x49,0x00,0x00,}},
+ {0x89AC,2,{0xD3,0x4A,0x00,0x00,}},
+ {0x89AD,2,{0xD3,0x4B,0x00,0x00,}},
+ {0x89AE,2,{0xD3,0x4C,0x00,0x00,}},
+ {0x89AF,2,{0xD3,0x4D,0x00,0x00,}},
+ {0x89B0,2,{0xD3,0x4E,0x00,0x00,}},
+ {0x89B1,2,{0xD3,0x4F,0x00,0x00,}},
+ {0x89B2,2,{0xD3,0x50,0x00,0x00,}},
+ {0x89B3,2,{0xD3,0x51,0x00,0x00,}},
+ {0x89B4,2,{0xD3,0x52,0x00,0x00,}},
+ {0x89B5,2,{0xD3,0x53,0x00,0x00,}},
+ {0x89B6,2,{0xD3,0x54,0x00,0x00,}},
+ {0x89B7,2,{0xD3,0x55,0x00,0x00,}},
+ {0x89B8,2,{0xD3,0x56,0x00,0x00,}},
+ {0x89B9,2,{0xD3,0x57,0x00,0x00,}},
+ {0x89BA,2,{0xD3,0x58,0x00,0x00,}},
+ {0x89BB,2,{0xD3,0x59,0x00,0x00,}},
+ {0x89BC,2,{0xD3,0x5A,0x00,0x00,}},
+ {0x89BD,2,{0xD3,0x5B,0x00,0x00,}},
+ {0x89BE,2,{0xD3,0x5C,0x00,0x00,}},
+ {0x89BF,2,{0xD3,0x5D,0x00,0x00,}},
+ {0x89C0,2,{0xD3,0x5E,0x00,0x00,}},
+ {0x89C1,2,{0xBC,0xFB,0x00,0x00,}},
+ {0x89C2,2,{0xB9,0xDB,0x00,0x00,}},
+ {0x89C3,2,{0xD3,0x5F,0x00,0x00,}},
+ {0x89C4,2,{0xB9,0xE6,0x00,0x00,}},
+ {0x89C5,2,{0xC3,0xD9,0x00,0x00,}},
+ {0x89C6,2,{0xCA,0xD3,0x00,0x00,}},
+ {0x89C7,2,{0xEA,0xE8,0x00,0x00,}},
+ {0x89C8,2,{0xC0,0xC0,0x00,0x00,}},
+ {0x89C9,2,{0xBE,0xF5,0x00,0x00,}},
+ {0x89CA,2,{0xEA,0xE9,0x00,0x00,}},
+ {0x89CB,2,{0xEA,0xEA,0x00,0x00,}},
+ {0x89CC,2,{0xEA,0xEB,0x00,0x00,}},
+ {0x89CD,2,{0xD3,0x60,0x00,0x00,}},
+ {0x89CE,2,{0xEA,0xEC,0x00,0x00,}},
+ {0x89CF,2,{0xEA,0xED,0x00,0x00,}},
+ {0x89D0,2,{0xEA,0xEE,0x00,0x00,}},
+ {0x89D1,2,{0xEA,0xEF,0x00,0x00,}},
+ {0x89D2,2,{0xBD,0xC7,0x00,0x00,}},
+ {0x89D3,2,{0xD3,0x61,0x00,0x00,}},
+ {0x89D4,2,{0xD3,0x62,0x00,0x00,}},
+ {0x89D5,2,{0xD3,0x63,0x00,0x00,}},
+ {0x89D6,2,{0xF5,0xFB,0x00,0x00,}},
+ {0x89D7,2,{0xD3,0x64,0x00,0x00,}},
+ {0x89D8,2,{0xD3,0x65,0x00,0x00,}},
+ {0x89D9,2,{0xD3,0x66,0x00,0x00,}},
+ {0x89DA,2,{0xF5,0xFD,0x00,0x00,}},
+ {0x89DB,2,{0xD3,0x67,0x00,0x00,}},
+ {0x89DC,2,{0xF5,0xFE,0x00,0x00,}},
+ {0x89DD,2,{0xD3,0x68,0x00,0x00,}},
+ {0x89DE,2,{0xF5,0xFC,0x00,0x00,}},
+ {0x89DF,2,{0xD3,0x69,0x00,0x00,}},
+ {0x89E0,2,{0xD3,0x6A,0x00,0x00,}},
+ {0x89E1,2,{0xD3,0x6B,0x00,0x00,}},
+ {0x89E2,2,{0xD3,0x6C,0x00,0x00,}},
+ {0x89E3,2,{0xBD,0xE2,0x00,0x00,}},
+ {0x89E4,2,{0xD3,0x6D,0x00,0x00,}},
+ {0x89E5,2,{0xF6,0xA1,0x00,0x00,}},
+ {0x89E6,2,{0xB4,0xA5,0x00,0x00,}},
+ {0x89E7,2,{0xD3,0x6E,0x00,0x00,}},
+ {0x89E8,2,{0xD3,0x6F,0x00,0x00,}},
+ {0x89E9,2,{0xD3,0x70,0x00,0x00,}},
+ {0x89EA,2,{0xD3,0x71,0x00,0x00,}},
+ {0x89EB,2,{0xF6,0xA2,0x00,0x00,}},
+ {0x89EC,2,{0xD3,0x72,0x00,0x00,}},
+ {0x89ED,2,{0xD3,0x73,0x00,0x00,}},
+ {0x89EE,2,{0xD3,0x74,0x00,0x00,}},
+ {0x89EF,2,{0xF6,0xA3,0x00,0x00,}},
+ {0x89F0,2,{0xD3,0x75,0x00,0x00,}},
+ {0x89F1,2,{0xD3,0x76,0x00,0x00,}},
+ {0x89F2,2,{0xD3,0x77,0x00,0x00,}},
+ {0x89F3,2,{0xEC,0xB2,0x00,0x00,}},
+ {0x89F4,2,{0xD3,0x78,0x00,0x00,}},
+ {0x89F5,2,{0xD3,0x79,0x00,0x00,}},
+ {0x89F6,2,{0xD3,0x7A,0x00,0x00,}},
+ {0x89F7,2,{0xD3,0x7B,0x00,0x00,}},
+ {0x89F8,2,{0xD3,0x7C,0x00,0x00,}},
+ {0x89F9,2,{0xD3,0x7D,0x00,0x00,}},
+ {0x89FA,2,{0xD3,0x7E,0x00,0x00,}},
+ {0x89FB,2,{0xD3,0x80,0x00,0x00,}},
+ {0x89FC,2,{0xD3,0x81,0x00,0x00,}},
+ {0x89FD,2,{0xD3,0x82,0x00,0x00,}},
+ {0x89FE,2,{0xD3,0x83,0x00,0x00,}},
+ {0x89FF,2,{0xD3,0x84,0x00,0x00,}},
+ {0x8A00,2,{0xD1,0xD4,0x00,0x00,}},
+ {0x8A01,2,{0xD3,0x85,0x00,0x00,}},
+ {0x8A02,2,{0xD3,0x86,0x00,0x00,}},
+ {0x8A03,2,{0xD3,0x87,0x00,0x00,}},
+ {0x8A04,2,{0xD3,0x88,0x00,0x00,}},
+ {0x8A05,2,{0xD3,0x89,0x00,0x00,}},
+ {0x8A06,2,{0xD3,0x8A,0x00,0x00,}},
+ {0x8A07,2,{0xD9,0xEA,0x00,0x00,}},
+ {0x8A08,2,{0xD3,0x8B,0x00,0x00,}},
+ {0x8A09,2,{0xD3,0x8C,0x00,0x00,}},
+ {0x8A0A,2,{0xD3,0x8D,0x00,0x00,}},
+ {0x8A0B,2,{0xD3,0x8E,0x00,0x00,}},
+ {0x8A0C,2,{0xD3,0x8F,0x00,0x00,}},
+ {0x8A0D,2,{0xD3,0x90,0x00,0x00,}},
+ {0x8A0E,2,{0xD3,0x91,0x00,0x00,}},
+ {0x8A0F,2,{0xD3,0x92,0x00,0x00,}},
+ {0x8A10,2,{0xD3,0x93,0x00,0x00,}},
+ {0x8A11,2,{0xD3,0x94,0x00,0x00,}},
+ {0x8A12,2,{0xD3,0x95,0x00,0x00,}},
+ {0x8A13,2,{0xD3,0x96,0x00,0x00,}},
+ {0x8A14,2,{0xD3,0x97,0x00,0x00,}},
+ {0x8A15,2,{0xD3,0x98,0x00,0x00,}},
+ {0x8A16,2,{0xD3,0x99,0x00,0x00,}},
+ {0x8A17,2,{0xD3,0x9A,0x00,0x00,}},
+ {0x8A18,2,{0xD3,0x9B,0x00,0x00,}},
+ {0x8A19,2,{0xD3,0x9C,0x00,0x00,}},
+ {0x8A1A,2,{0xD3,0x9D,0x00,0x00,}},
+ {0x8A1B,2,{0xD3,0x9E,0x00,0x00,}},
+ {0x8A1C,2,{0xD3,0x9F,0x00,0x00,}},
+ {0x8A1D,2,{0xD3,0xA0,0x00,0x00,}},
+ {0x8A1E,2,{0xD4,0x40,0x00,0x00,}},
+ {0x8A1F,2,{0xD4,0x41,0x00,0x00,}},
+ {0x8A20,2,{0xD4,0x42,0x00,0x00,}},
+ {0x8A21,2,{0xD4,0x43,0x00,0x00,}},
+ {0x8A22,2,{0xD4,0x44,0x00,0x00,}},
+ {0x8A23,2,{0xD4,0x45,0x00,0x00,}},
+ {0x8A24,2,{0xD4,0x46,0x00,0x00,}},
+ {0x8A25,2,{0xD4,0x47,0x00,0x00,}},
+ {0x8A26,2,{0xD4,0x48,0x00,0x00,}},
+ {0x8A27,2,{0xD4,0x49,0x00,0x00,}},
+ {0x8A28,2,{0xD4,0x4A,0x00,0x00,}},
+ {0x8A29,2,{0xD4,0x4B,0x00,0x00,}},
+ {0x8A2A,2,{0xD4,0x4C,0x00,0x00,}},
+ {0x8A2B,2,{0xD4,0x4D,0x00,0x00,}},
+ {0x8A2C,2,{0xD4,0x4E,0x00,0x00,}},
+ {0x8A2D,2,{0xD4,0x4F,0x00,0x00,}},
+ {0x8A2E,2,{0xD4,0x50,0x00,0x00,}},
+ {0x8A2F,2,{0xD4,0x51,0x00,0x00,}},
+ {0x8A30,2,{0xD4,0x52,0x00,0x00,}},
+ {0x8A31,2,{0xD4,0x53,0x00,0x00,}},
+ {0x8A32,2,{0xD4,0x54,0x00,0x00,}},
+ {0x8A33,2,{0xD4,0x55,0x00,0x00,}},
+ {0x8A34,2,{0xD4,0x56,0x00,0x00,}},
+ {0x8A35,2,{0xD4,0x57,0x00,0x00,}},
+ {0x8A36,2,{0xD4,0x58,0x00,0x00,}},
+ {0x8A37,2,{0xD4,0x59,0x00,0x00,}},
+ {0x8A38,2,{0xD4,0x5A,0x00,0x00,}},
+ {0x8A39,2,{0xD4,0x5B,0x00,0x00,}},
+ {0x8A3A,2,{0xD4,0x5C,0x00,0x00,}},
+ {0x8A3B,2,{0xD4,0x5D,0x00,0x00,}},
+ {0x8A3C,2,{0xD4,0x5E,0x00,0x00,}},
+ {0x8A3D,2,{0xD4,0x5F,0x00,0x00,}},
+ {0x8A3E,2,{0xF6,0xA4,0x00,0x00,}},
+ {0x8A3F,2,{0xD4,0x60,0x00,0x00,}},
+ {0x8A40,2,{0xD4,0x61,0x00,0x00,}},
+ {0x8A41,2,{0xD4,0x62,0x00,0x00,}},
+ {0x8A42,2,{0xD4,0x63,0x00,0x00,}},
+ {0x8A43,2,{0xD4,0x64,0x00,0x00,}},
+ {0x8A44,2,{0xD4,0x65,0x00,0x00,}},
+ {0x8A45,2,{0xD4,0x66,0x00,0x00,}},
+ {0x8A46,2,{0xD4,0x67,0x00,0x00,}},
+ {0x8A47,2,{0xD4,0x68,0x00,0x00,}},
+ {0x8A48,2,{0xEE,0xBA,0x00,0x00,}},
+ {0x8A49,2,{0xD4,0x69,0x00,0x00,}},
+ {0x8A4A,2,{0xD4,0x6A,0x00,0x00,}},
+ {0x8A4B,2,{0xD4,0x6B,0x00,0x00,}},
+ {0x8A4C,2,{0xD4,0x6C,0x00,0x00,}},
+ {0x8A4D,2,{0xD4,0x6D,0x00,0x00,}},
+ {0x8A4E,2,{0xD4,0x6E,0x00,0x00,}},
+ {0x8A4F,2,{0xD4,0x6F,0x00,0x00,}},
+ {0x8A50,2,{0xD4,0x70,0x00,0x00,}},
+ {0x8A51,2,{0xD4,0x71,0x00,0x00,}},
+ {0x8A52,2,{0xD4,0x72,0x00,0x00,}},
+ {0x8A53,2,{0xD4,0x73,0x00,0x00,}},
+ {0x8A54,2,{0xD4,0x74,0x00,0x00,}},
+ {0x8A55,2,{0xD4,0x75,0x00,0x00,}},
+ {0x8A56,2,{0xD4,0x76,0x00,0x00,}},
+ {0x8A57,2,{0xD4,0x77,0x00,0x00,}},
+ {0x8A58,2,{0xD4,0x78,0x00,0x00,}},
+ {0x8A59,2,{0xD4,0x79,0x00,0x00,}},
+ {0x8A5A,2,{0xD4,0x7A,0x00,0x00,}},
+ {0x8A5B,2,{0xD4,0x7B,0x00,0x00,}},
+ {0x8A5C,2,{0xD4,0x7C,0x00,0x00,}},
+ {0x8A5D,2,{0xD4,0x7D,0x00,0x00,}},
+ {0x8A5E,2,{0xD4,0x7E,0x00,0x00,}},
+ {0x8A5F,2,{0xD4,0x80,0x00,0x00,}},
+ {0x8A60,2,{0xD4,0x81,0x00,0x00,}},
+ {0x8A61,2,{0xD4,0x82,0x00,0x00,}},
+ {0x8A62,2,{0xD4,0x83,0x00,0x00,}},
+ {0x8A63,2,{0xD4,0x84,0x00,0x00,}},
+ {0x8A64,2,{0xD4,0x85,0x00,0x00,}},
+ {0x8A65,2,{0xD4,0x86,0x00,0x00,}},
+ {0x8A66,2,{0xD4,0x87,0x00,0x00,}},
+ {0x8A67,2,{0xD4,0x88,0x00,0x00,}},
+ {0x8A68,2,{0xD4,0x89,0x00,0x00,}},
+ {0x8A69,2,{0xD4,0x8A,0x00,0x00,}},
+ {0x8A6A,2,{0xD4,0x8B,0x00,0x00,}},
+ {0x8A6B,2,{0xD4,0x8C,0x00,0x00,}},
+ {0x8A6C,2,{0xD4,0x8D,0x00,0x00,}},
+ {0x8A6D,2,{0xD4,0x8E,0x00,0x00,}},
+ {0x8A6E,2,{0xD4,0x8F,0x00,0x00,}},
+ {0x8A6F,2,{0xD4,0x90,0x00,0x00,}},
+ {0x8A70,2,{0xD4,0x91,0x00,0x00,}},
+ {0x8A71,2,{0xD4,0x92,0x00,0x00,}},
+ {0x8A72,2,{0xD4,0x93,0x00,0x00,}},
+ {0x8A73,2,{0xD4,0x94,0x00,0x00,}},
+ {0x8A74,2,{0xD4,0x95,0x00,0x00,}},
+ {0x8A75,2,{0xD4,0x96,0x00,0x00,}},
+ {0x8A76,2,{0xD4,0x97,0x00,0x00,}},
+ {0x8A77,2,{0xD4,0x98,0x00,0x00,}},
+ {0x8A78,2,{0xD4,0x99,0x00,0x00,}},
+ {0x8A79,2,{0xD5,0xB2,0x00,0x00,}},
+ {0x8A7A,2,{0xD4,0x9A,0x00,0x00,}},
+ {0x8A7B,2,{0xD4,0x9B,0x00,0x00,}},
+ {0x8A7C,2,{0xD4,0x9C,0x00,0x00,}},
+ {0x8A7D,2,{0xD4,0x9D,0x00,0x00,}},
+ {0x8A7E,2,{0xD4,0x9E,0x00,0x00,}},
+ {0x8A7F,2,{0xD4,0x9F,0x00,0x00,}},
+ {0x8A80,2,{0xD4,0xA0,0x00,0x00,}},
+ {0x8A81,2,{0xD5,0x40,0x00,0x00,}},
+ {0x8A82,2,{0xD5,0x41,0x00,0x00,}},
+ {0x8A83,2,{0xD5,0x42,0x00,0x00,}},
+ {0x8A84,2,{0xD5,0x43,0x00,0x00,}},
+ {0x8A85,2,{0xD5,0x44,0x00,0x00,}},
+ {0x8A86,2,{0xD5,0x45,0x00,0x00,}},
+ {0x8A87,2,{0xD5,0x46,0x00,0x00,}},
+ {0x8A88,2,{0xD5,0x47,0x00,0x00,}},
+ {0x8A89,2,{0xD3,0xFE,0x00,0x00,}},
+ {0x8A8A,2,{0xCC,0xDC,0x00,0x00,}},
+ {0x8A8B,2,{0xD5,0x48,0x00,0x00,}},
+ {0x8A8C,2,{0xD5,0x49,0x00,0x00,}},
+ {0x8A8D,2,{0xD5,0x4A,0x00,0x00,}},
+ {0x8A8E,2,{0xD5,0x4B,0x00,0x00,}},
+ {0x8A8F,2,{0xD5,0x4C,0x00,0x00,}},
+ {0x8A90,2,{0xD5,0x4D,0x00,0x00,}},
+ {0x8A91,2,{0xD5,0x4E,0x00,0x00,}},
+ {0x8A92,2,{0xD5,0x4F,0x00,0x00,}},
+ {0x8A93,2,{0xCA,0xC4,0x00,0x00,}},
+ {0x8A94,2,{0xD5,0x50,0x00,0x00,}},
+ {0x8A95,2,{0xD5,0x51,0x00,0x00,}},
+ {0x8A96,2,{0xD5,0x52,0x00,0x00,}},
+ {0x8A97,2,{0xD5,0x53,0x00,0x00,}},
+ {0x8A98,2,{0xD5,0x54,0x00,0x00,}},
+ {0x8A99,2,{0xD5,0x55,0x00,0x00,}},
+ {0x8A9A,2,{0xD5,0x56,0x00,0x00,}},
+ {0x8A9B,2,{0xD5,0x57,0x00,0x00,}},
+ {0x8A9C,2,{0xD5,0x58,0x00,0x00,}},
+ {0x8A9D,2,{0xD5,0x59,0x00,0x00,}},
+ {0x8A9E,2,{0xD5,0x5A,0x00,0x00,}},
+ {0x8A9F,2,{0xD5,0x5B,0x00,0x00,}},
+ {0x8AA0,2,{0xD5,0x5C,0x00,0x00,}},
+ {0x8AA1,2,{0xD5,0x5D,0x00,0x00,}},
+ {0x8AA2,2,{0xD5,0x5E,0x00,0x00,}},
+ {0x8AA3,2,{0xD5,0x5F,0x00,0x00,}},
+ {0x8AA4,2,{0xD5,0x60,0x00,0x00,}},
+ {0x8AA5,2,{0xD5,0x61,0x00,0x00,}},
+ {0x8AA6,2,{0xD5,0x62,0x00,0x00,}},
+ {0x8AA7,2,{0xD5,0x63,0x00,0x00,}},
+ {0x8AA8,2,{0xD5,0x64,0x00,0x00,}},
+ {0x8AA9,2,{0xD5,0x65,0x00,0x00,}},
+ {0x8AAA,2,{0xD5,0x66,0x00,0x00,}},
+ {0x8AAB,2,{0xD5,0x67,0x00,0x00,}},
+ {0x8AAC,2,{0xD5,0x68,0x00,0x00,}},
+ {0x8AAD,2,{0xD5,0x69,0x00,0x00,}},
+ {0x8AAE,2,{0xD5,0x6A,0x00,0x00,}},
+ {0x8AAF,2,{0xD5,0x6B,0x00,0x00,}},
+ {0x8AB0,2,{0xD5,0x6C,0x00,0x00,}},
+ {0x8AB1,2,{0xD5,0x6D,0x00,0x00,}},
+ {0x8AB2,2,{0xD5,0x6E,0x00,0x00,}},
+ {0x8AB3,2,{0xD5,0x6F,0x00,0x00,}},
+ {0x8AB4,2,{0xD5,0x70,0x00,0x00,}},
+ {0x8AB5,2,{0xD5,0x71,0x00,0x00,}},
+ {0x8AB6,2,{0xD5,0x72,0x00,0x00,}},
+ {0x8AB7,2,{0xD5,0x73,0x00,0x00,}},
+ {0x8AB8,2,{0xD5,0x74,0x00,0x00,}},
+ {0x8AB9,2,{0xD5,0x75,0x00,0x00,}},
+ {0x8ABA,2,{0xD5,0x76,0x00,0x00,}},
+ {0x8ABB,2,{0xD5,0x77,0x00,0x00,}},
+ {0x8ABC,2,{0xD5,0x78,0x00,0x00,}},
+ {0x8ABD,2,{0xD5,0x79,0x00,0x00,}},
+ {0x8ABE,2,{0xD5,0x7A,0x00,0x00,}},
+ {0x8ABF,2,{0xD5,0x7B,0x00,0x00,}},
+ {0x8AC0,2,{0xD5,0x7C,0x00,0x00,}},
+ {0x8AC1,2,{0xD5,0x7D,0x00,0x00,}},
+ {0x8AC2,2,{0xD5,0x7E,0x00,0x00,}},
+ {0x8AC3,2,{0xD5,0x80,0x00,0x00,}},
+ {0x8AC4,2,{0xD5,0x81,0x00,0x00,}},
+ {0x8AC5,2,{0xD5,0x82,0x00,0x00,}},
+ {0x8AC6,2,{0xD5,0x83,0x00,0x00,}},
+ {0x8AC7,2,{0xD5,0x84,0x00,0x00,}},
+ {0x8AC8,2,{0xD5,0x85,0x00,0x00,}},
+ {0x8AC9,2,{0xD5,0x86,0x00,0x00,}},
+ {0x8ACA,2,{0xD5,0x87,0x00,0x00,}},
+ {0x8ACB,2,{0xD5,0x88,0x00,0x00,}},
+ {0x8ACC,2,{0xD5,0x89,0x00,0x00,}},
+ {0x8ACD,2,{0xD5,0x8A,0x00,0x00,}},
+ {0x8ACE,2,{0xD5,0x8B,0x00,0x00,}},
+ {0x8ACF,2,{0xD5,0x8C,0x00,0x00,}},
+ {0x8AD0,2,{0xD5,0x8D,0x00,0x00,}},
+ {0x8AD1,2,{0xD5,0x8E,0x00,0x00,}},
+ {0x8AD2,2,{0xD5,0x8F,0x00,0x00,}},
+ {0x8AD3,2,{0xD5,0x90,0x00,0x00,}},
+ {0x8AD4,2,{0xD5,0x91,0x00,0x00,}},
+ {0x8AD5,2,{0xD5,0x92,0x00,0x00,}},
+ {0x8AD6,2,{0xD5,0x93,0x00,0x00,}},
+ {0x8AD7,2,{0xD5,0x94,0x00,0x00,}},
+ {0x8AD8,2,{0xD5,0x95,0x00,0x00,}},
+ {0x8AD9,2,{0xD5,0x96,0x00,0x00,}},
+ {0x8ADA,2,{0xD5,0x97,0x00,0x00,}},
+ {0x8ADB,2,{0xD5,0x98,0x00,0x00,}},
+ {0x8ADC,2,{0xD5,0x99,0x00,0x00,}},
+ {0x8ADD,2,{0xD5,0x9A,0x00,0x00,}},
+ {0x8ADE,2,{0xD5,0x9B,0x00,0x00,}},
+ {0x8ADF,2,{0xD5,0x9C,0x00,0x00,}},
+ {0x8AE0,2,{0xD5,0x9D,0x00,0x00,}},
+ {0x8AE1,2,{0xD5,0x9E,0x00,0x00,}},
+ {0x8AE2,2,{0xD5,0x9F,0x00,0x00,}},
+ {0x8AE3,2,{0xD5,0xA0,0x00,0x00,}},
+ {0x8AE4,2,{0xD6,0x40,0x00,0x00,}},
+ {0x8AE5,2,{0xD6,0x41,0x00,0x00,}},
+ {0x8AE6,2,{0xD6,0x42,0x00,0x00,}},
+ {0x8AE7,2,{0xD6,0x43,0x00,0x00,}},
+ {0x8AE8,2,{0xD6,0x44,0x00,0x00,}},
+ {0x8AE9,2,{0xD6,0x45,0x00,0x00,}},
+ {0x8AEA,2,{0xD6,0x46,0x00,0x00,}},
+ {0x8AEB,2,{0xD6,0x47,0x00,0x00,}},
+ {0x8AEC,2,{0xD6,0x48,0x00,0x00,}},
+ {0x8AED,2,{0xD6,0x49,0x00,0x00,}},
+ {0x8AEE,2,{0xD6,0x4A,0x00,0x00,}},
+ {0x8AEF,2,{0xD6,0x4B,0x00,0x00,}},
+ {0x8AF0,2,{0xD6,0x4C,0x00,0x00,}},
+ {0x8AF1,2,{0xD6,0x4D,0x00,0x00,}},
+ {0x8AF2,2,{0xD6,0x4E,0x00,0x00,}},
+ {0x8AF3,2,{0xD6,0x4F,0x00,0x00,}},
+ {0x8AF4,2,{0xD6,0x50,0x00,0x00,}},
+ {0x8AF5,2,{0xD6,0x51,0x00,0x00,}},
+ {0x8AF6,2,{0xD6,0x52,0x00,0x00,}},
+ {0x8AF7,2,{0xD6,0x53,0x00,0x00,}},
+ {0x8AF8,2,{0xD6,0x54,0x00,0x00,}},
+ {0x8AF9,2,{0xD6,0x55,0x00,0x00,}},
+ {0x8AFA,2,{0xD6,0x56,0x00,0x00,}},
+ {0x8AFB,2,{0xD6,0x57,0x00,0x00,}},
+ {0x8AFC,2,{0xD6,0x58,0x00,0x00,}},
+ {0x8AFD,2,{0xD6,0x59,0x00,0x00,}},
+ {0x8AFE,2,{0xD6,0x5A,0x00,0x00,}},
+ {0x8AFF,2,{0xD6,0x5B,0x00,0x00,}},
+ {0x8B00,2,{0xD6,0x5C,0x00,0x00,}},
+ {0x8B01,2,{0xD6,0x5D,0x00,0x00,}},
+ {0x8B02,2,{0xD6,0x5E,0x00,0x00,}},
+ {0x8B03,2,{0xD6,0x5F,0x00,0x00,}},
+ {0x8B04,2,{0xD6,0x60,0x00,0x00,}},
+ {0x8B05,2,{0xD6,0x61,0x00,0x00,}},
+ {0x8B06,2,{0xD6,0x62,0x00,0x00,}},
+ {0x8B07,2,{0xE5,0xC0,0x00,0x00,}},
+ {0x8B08,2,{0xD6,0x63,0x00,0x00,}},
+ {0x8B09,2,{0xD6,0x64,0x00,0x00,}},
+ {0x8B0A,2,{0xD6,0x65,0x00,0x00,}},
+ {0x8B0B,2,{0xD6,0x66,0x00,0x00,}},
+ {0x8B0C,2,{0xD6,0x67,0x00,0x00,}},
+ {0x8B0D,2,{0xD6,0x68,0x00,0x00,}},
+ {0x8B0E,2,{0xD6,0x69,0x00,0x00,}},
+ {0x8B0F,2,{0xD6,0x6A,0x00,0x00,}},
+ {0x8B10,2,{0xD6,0x6B,0x00,0x00,}},
+ {0x8B11,2,{0xD6,0x6C,0x00,0x00,}},
+ {0x8B12,2,{0xD6,0x6D,0x00,0x00,}},
+ {0x8B13,2,{0xD6,0x6E,0x00,0x00,}},
+ {0x8B14,2,{0xD6,0x6F,0x00,0x00,}},
+ {0x8B15,2,{0xD6,0x70,0x00,0x00,}},
+ {0x8B16,2,{0xD6,0x71,0x00,0x00,}},
+ {0x8B17,2,{0xD6,0x72,0x00,0x00,}},
+ {0x8B18,2,{0xD6,0x73,0x00,0x00,}},
+ {0x8B19,2,{0xD6,0x74,0x00,0x00,}},
+ {0x8B1A,2,{0xD6,0x75,0x00,0x00,}},
+ {0x8B1B,2,{0xD6,0x76,0x00,0x00,}},
+ {0x8B1C,2,{0xD6,0x77,0x00,0x00,}},
+ {0x8B1D,2,{0xD6,0x78,0x00,0x00,}},
+ {0x8B1E,2,{0xD6,0x79,0x00,0x00,}},
+ {0x8B1F,2,{0xD6,0x7A,0x00,0x00,}},
+ {0x8B20,2,{0xD6,0x7B,0x00,0x00,}},
+ {0x8B21,2,{0xD6,0x7C,0x00,0x00,}},
+ {0x8B22,2,{0xD6,0x7D,0x00,0x00,}},
+ {0x8B23,2,{0xD6,0x7E,0x00,0x00,}},
+ {0x8B24,2,{0xD6,0x80,0x00,0x00,}},
+ {0x8B25,2,{0xD6,0x81,0x00,0x00,}},
+ {0x8B26,2,{0xF6,0xA5,0x00,0x00,}},
+ {0x8B27,2,{0xD6,0x82,0x00,0x00,}},
+ {0x8B28,2,{0xD6,0x83,0x00,0x00,}},
+ {0x8B29,2,{0xD6,0x84,0x00,0x00,}},
+ {0x8B2A,2,{0xD6,0x85,0x00,0x00,}},
+ {0x8B2B,2,{0xD6,0x86,0x00,0x00,}},
+ {0x8B2C,2,{0xD6,0x87,0x00,0x00,}},
+ {0x8B2D,2,{0xD6,0x88,0x00,0x00,}},
+ {0x8B2E,2,{0xD6,0x89,0x00,0x00,}},
+ {0x8B2F,2,{0xD6,0x8A,0x00,0x00,}},
+ {0x8B30,2,{0xD6,0x8B,0x00,0x00,}},
+ {0x8B31,2,{0xD6,0x8C,0x00,0x00,}},
+ {0x8B32,2,{0xD6,0x8D,0x00,0x00,}},
+ {0x8B33,2,{0xD6,0x8E,0x00,0x00,}},
+ {0x8B34,2,{0xD6,0x8F,0x00,0x00,}},
+ {0x8B35,2,{0xD6,0x90,0x00,0x00,}},
+ {0x8B36,2,{0xD6,0x91,0x00,0x00,}},
+ {0x8B37,2,{0xD6,0x92,0x00,0x00,}},
+ {0x8B38,2,{0xD6,0x93,0x00,0x00,}},
+ {0x8B39,2,{0xD6,0x94,0x00,0x00,}},
+ {0x8B3A,2,{0xD6,0x95,0x00,0x00,}},
+ {0x8B3B,2,{0xD6,0x96,0x00,0x00,}},
+ {0x8B3C,2,{0xD6,0x97,0x00,0x00,}},
+ {0x8B3D,2,{0xD6,0x98,0x00,0x00,}},
+ {0x8B3E,2,{0xD6,0x99,0x00,0x00,}},
+ {0x8B3F,2,{0xD6,0x9A,0x00,0x00,}},
+ {0x8B40,2,{0xD6,0x9B,0x00,0x00,}},
+ {0x8B41,2,{0xD6,0x9C,0x00,0x00,}},
+ {0x8B42,2,{0xD6,0x9D,0x00,0x00,}},
+ {0x8B43,2,{0xD6,0x9E,0x00,0x00,}},
+ {0x8B44,2,{0xD6,0x9F,0x00,0x00,}},
+ {0x8B45,2,{0xD6,0xA0,0x00,0x00,}},
+ {0x8B46,2,{0xD7,0x40,0x00,0x00,}},
+ {0x8B47,2,{0xD7,0x41,0x00,0x00,}},
+ {0x8B48,2,{0xD7,0x42,0x00,0x00,}},
+ {0x8B49,2,{0xD7,0x43,0x00,0x00,}},
+ {0x8B4A,2,{0xD7,0x44,0x00,0x00,}},
+ {0x8B4B,2,{0xD7,0x45,0x00,0x00,}},
+ {0x8B4C,2,{0xD7,0x46,0x00,0x00,}},
+ {0x8B4D,2,{0xD7,0x47,0x00,0x00,}},
+ {0x8B4E,2,{0xD7,0x48,0x00,0x00,}},
+ {0x8B4F,2,{0xD7,0x49,0x00,0x00,}},
+ {0x8B50,2,{0xD7,0x4A,0x00,0x00,}},
+ {0x8B51,2,{0xD7,0x4B,0x00,0x00,}},
+ {0x8B52,2,{0xD7,0x4C,0x00,0x00,}},
+ {0x8B53,2,{0xD7,0x4D,0x00,0x00,}},
+ {0x8B54,2,{0xD7,0x4E,0x00,0x00,}},
+ {0x8B55,2,{0xD7,0x4F,0x00,0x00,}},
+ {0x8B56,2,{0xD7,0x50,0x00,0x00,}},
+ {0x8B57,2,{0xD7,0x51,0x00,0x00,}},
+ {0x8B58,2,{0xD7,0x52,0x00,0x00,}},
+ {0x8B59,2,{0xD7,0x53,0x00,0x00,}},
+ {0x8B5A,2,{0xD7,0x54,0x00,0x00,}},
+ {0x8B5B,2,{0xD7,0x55,0x00,0x00,}},
+ {0x8B5C,2,{0xD7,0x56,0x00,0x00,}},
+ {0x8B5D,2,{0xD7,0x57,0x00,0x00,}},
+ {0x8B5E,2,{0xD7,0x58,0x00,0x00,}},
+ {0x8B5F,2,{0xD7,0x59,0x00,0x00,}},
+ {0x8B60,2,{0xD7,0x5A,0x00,0x00,}},
+ {0x8B61,2,{0xD7,0x5B,0x00,0x00,}},
+ {0x8B62,2,{0xD7,0x5C,0x00,0x00,}},
+ {0x8B63,2,{0xD7,0x5D,0x00,0x00,}},
+ {0x8B64,2,{0xD7,0x5E,0x00,0x00,}},
+ {0x8B65,2,{0xD7,0x5F,0x00,0x00,}},
+ {0x8B66,2,{0xBE,0xAF,0x00,0x00,}},
+ {0x8B67,2,{0xD7,0x60,0x00,0x00,}},
+ {0x8B68,2,{0xD7,0x61,0x00,0x00,}},
+ {0x8B69,2,{0xD7,0x62,0x00,0x00,}},
+ {0x8B6A,2,{0xD7,0x63,0x00,0x00,}},
+ {0x8B6B,2,{0xD7,0x64,0x00,0x00,}},
+ {0x8B6C,2,{0xC6,0xA9,0x00,0x00,}},
+ {0x8B6D,2,{0xD7,0x65,0x00,0x00,}},
+ {0x8B6E,2,{0xD7,0x66,0x00,0x00,}},
+ {0x8B6F,2,{0xD7,0x67,0x00,0x00,}},
+ {0x8B70,2,{0xD7,0x68,0x00,0x00,}},
+ {0x8B71,2,{0xD7,0x69,0x00,0x00,}},
+ {0x8B72,2,{0xD7,0x6A,0x00,0x00,}},
+ {0x8B73,2,{0xD7,0x6B,0x00,0x00,}},
+ {0x8B74,2,{0xD7,0x6C,0x00,0x00,}},
+ {0x8B75,2,{0xD7,0x6D,0x00,0x00,}},
+ {0x8B76,2,{0xD7,0x6E,0x00,0x00,}},
+ {0x8B77,2,{0xD7,0x6F,0x00,0x00,}},
+ {0x8B78,2,{0xD7,0x70,0x00,0x00,}},
+ {0x8B79,2,{0xD7,0x71,0x00,0x00,}},
+ {0x8B7A,2,{0xD7,0x72,0x00,0x00,}},
+ {0x8B7B,2,{0xD7,0x73,0x00,0x00,}},
+ {0x8B7C,2,{0xD7,0x74,0x00,0x00,}},
+ {0x8B7D,2,{0xD7,0x75,0x00,0x00,}},
+ {0x8B7E,2,{0xD7,0x76,0x00,0x00,}},
+ {0x8B7F,2,{0xD7,0x77,0x00,0x00,}},
+ {0x8B80,2,{0xD7,0x78,0x00,0x00,}},
+ {0x8B81,2,{0xD7,0x79,0x00,0x00,}},
+ {0x8B82,2,{0xD7,0x7A,0x00,0x00,}},
+ {0x8B83,2,{0xD7,0x7B,0x00,0x00,}},
+ {0x8B84,2,{0xD7,0x7C,0x00,0x00,}},
+ {0x8B85,2,{0xD7,0x7D,0x00,0x00,}},
+ {0x8B86,2,{0xD7,0x7E,0x00,0x00,}},
+ {0x8B87,2,{0xD7,0x80,0x00,0x00,}},
+ {0x8B88,2,{0xD7,0x81,0x00,0x00,}},
+ {0x8B89,2,{0xD7,0x82,0x00,0x00,}},
+ {0x8B8A,2,{0xD7,0x83,0x00,0x00,}},
+ {0x8B8B,2,{0xD7,0x84,0x00,0x00,}},
+ {0x8B8C,2,{0xD7,0x85,0x00,0x00,}},
+ {0x8B8D,2,{0xD7,0x86,0x00,0x00,}},
+ {0x8B8E,2,{0xD7,0x87,0x00,0x00,}},
+ {0x8B8F,2,{0xD7,0x88,0x00,0x00,}},
+ {0x8B90,2,{0xD7,0x89,0x00,0x00,}},
+ {0x8B91,2,{0xD7,0x8A,0x00,0x00,}},
+ {0x8B92,2,{0xD7,0x8B,0x00,0x00,}},
+ {0x8B93,2,{0xD7,0x8C,0x00,0x00,}},
+ {0x8B94,2,{0xD7,0x8D,0x00,0x00,}},
+ {0x8B95,2,{0xD7,0x8E,0x00,0x00,}},
+ {0x8B96,2,{0xD7,0x8F,0x00,0x00,}},
+ {0x8B97,2,{0xD7,0x90,0x00,0x00,}},
+ {0x8B98,2,{0xD7,0x91,0x00,0x00,}},
+ {0x8B99,2,{0xD7,0x92,0x00,0x00,}},
+ {0x8B9A,2,{0xD7,0x93,0x00,0x00,}},
+ {0x8B9B,2,{0xD7,0x94,0x00,0x00,}},
+ {0x8B9C,2,{0xD7,0x95,0x00,0x00,}},
+ {0x8B9D,2,{0xD7,0x96,0x00,0x00,}},
+ {0x8B9E,2,{0xD7,0x97,0x00,0x00,}},
+ {0x8B9F,2,{0xD7,0x98,0x00,0x00,}},
+ {0x8BA0,2,{0xDA,0xA5,0x00,0x00,}},
+ {0x8BA1,2,{0xBC,0xC6,0x00,0x00,}},
+ {0x8BA2,2,{0xB6,0xA9,0x00,0x00,}},
+ {0x8BA3,2,{0xB8,0xBC,0x00,0x00,}},
+ {0x8BA4,2,{0xC8,0xCF,0x00,0x00,}},
+ {0x8BA5,2,{0xBC,0xA5,0x00,0x00,}},
+ {0x8BA6,2,{0xDA,0xA6,0x00,0x00,}},
+ {0x8BA7,2,{0xDA,0xA7,0x00,0x00,}},
+ {0x8BA8,2,{0xCC,0xD6,0x00,0x00,}},
+ {0x8BA9,2,{0xC8,0xC3,0x00,0x00,}},
+ {0x8BAA,2,{0xDA,0xA8,0x00,0x00,}},
+ {0x8BAB,2,{0xC6,0xFD,0x00,0x00,}},
+ {0x8BAC,2,{0xD7,0x99,0x00,0x00,}},
+ {0x8BAD,2,{0xD1,0xB5,0x00,0x00,}},
+ {0x8BAE,2,{0xD2,0xE9,0x00,0x00,}},
+ {0x8BAF,2,{0xD1,0xB6,0x00,0x00,}},
+ {0x8BB0,2,{0xBC,0xC7,0x00,0x00,}},
+ {0x8BB1,2,{0xD7,0x9A,0x00,0x00,}},
+ {0x8BB2,2,{0xBD,0xB2,0x00,0x00,}},
+ {0x8BB3,2,{0xBB,0xE4,0x00,0x00,}},
+ {0x8BB4,2,{0xDA,0xA9,0x00,0x00,}},
+ {0x8BB5,2,{0xDA,0xAA,0x00,0x00,}},
+ {0x8BB6,2,{0xD1,0xC8,0x00,0x00,}},
+ {0x8BB7,2,{0xDA,0xAB,0x00,0x00,}},
+ {0x8BB8,2,{0xD0,0xED,0x00,0x00,}},
+ {0x8BB9,2,{0xB6,0xEF,0x00,0x00,}},
+ {0x8BBA,2,{0xC2,0xDB,0x00,0x00,}},
+ {0x8BBB,2,{0xD7,0x9B,0x00,0x00,}},
+ {0x8BBC,2,{0xCB,0xCF,0x00,0x00,}},
+ {0x8BBD,2,{0xB7,0xED,0x00,0x00,}},
+ {0x8BBE,2,{0xC9,0xE8,0x00,0x00,}},
+ {0x8BBF,2,{0xB7,0xC3,0x00,0x00,}},
+ {0x8BC0,2,{0xBE,0xF7,0x00,0x00,}},
+ {0x8BC1,2,{0xD6,0xA4,0x00,0x00,}},
+ {0x8BC2,2,{0xDA,0xAC,0x00,0x00,}},
+ {0x8BC3,2,{0xDA,0xAD,0x00,0x00,}},
+ {0x8BC4,2,{0xC6,0xC0,0x00,0x00,}},
+ {0x8BC5,2,{0xD7,0xE7,0x00,0x00,}},
+ {0x8BC6,2,{0xCA,0xB6,0x00,0x00,}},
+ {0x8BC7,2,{0xD7,0x9C,0x00,0x00,}},
+ {0x8BC8,2,{0xD5,0xA9,0x00,0x00,}},
+ {0x8BC9,2,{0xCB,0xDF,0x00,0x00,}},
+ {0x8BCA,2,{0xD5,0xEF,0x00,0x00,}},
+ {0x8BCB,2,{0xDA,0xAE,0x00,0x00,}},
+ {0x8BCC,2,{0xD6,0xDF,0x00,0x00,}},
+ {0x8BCD,2,{0xB4,0xCA,0x00,0x00,}},
+ {0x8BCE,2,{0xDA,0xB0,0x00,0x00,}},
+ {0x8BCF,2,{0xDA,0xAF,0x00,0x00,}},
+ {0x8BD0,2,{0xD7,0x9D,0x00,0x00,}},
+ {0x8BD1,2,{0xD2,0xEB,0x00,0x00,}},
+ {0x8BD2,2,{0xDA,0xB1,0x00,0x00,}},
+ {0x8BD3,2,{0xDA,0xB2,0x00,0x00,}},
+ {0x8BD4,2,{0xDA,0xB3,0x00,0x00,}},
+ {0x8BD5,2,{0xCA,0xD4,0x00,0x00,}},
+ {0x8BD6,2,{0xDA,0xB4,0x00,0x00,}},
+ {0x8BD7,2,{0xCA,0xAB,0x00,0x00,}},
+ {0x8BD8,2,{0xDA,0xB5,0x00,0x00,}},
+ {0x8BD9,2,{0xDA,0xB6,0x00,0x00,}},
+ {0x8BDA,2,{0xB3,0xCF,0x00,0x00,}},
+ {0x8BDB,2,{0xD6,0xEF,0x00,0x00,}},
+ {0x8BDC,2,{0xDA,0xB7,0x00,0x00,}},
+ {0x8BDD,2,{0xBB,0xB0,0x00,0x00,}},
+ {0x8BDE,2,{0xB5,0xAE,0x00,0x00,}},
+ {0x8BDF,2,{0xDA,0xB8,0x00,0x00,}},
+ {0x8BE0,2,{0xDA,0xB9,0x00,0x00,}},
+ {0x8BE1,2,{0xB9,0xEE,0x00,0x00,}},
+ {0x8BE2,2,{0xD1,0xAF,0x00,0x00,}},
+ {0x8BE3,2,{0xD2,0xE8,0x00,0x00,}},
+ {0x8BE4,2,{0xDA,0xBA,0x00,0x00,}},
+ {0x8BE5,2,{0xB8,0xC3,0x00,0x00,}},
+ {0x8BE6,2,{0xCF,0xEA,0x00,0x00,}},
+ {0x8BE7,2,{0xB2,0xEF,0x00,0x00,}},
+ {0x8BE8,2,{0xDA,0xBB,0x00,0x00,}},
+ {0x8BE9,2,{0xDA,0xBC,0x00,0x00,}},
+ {0x8BEA,2,{0xD7,0x9E,0x00,0x00,}},
+ {0x8BEB,2,{0xBD,0xEB,0x00,0x00,}},
+ {0x8BEC,2,{0xCE,0xDC,0x00,0x00,}},
+ {0x8BED,2,{0xD3,0xEF,0x00,0x00,}},
+ {0x8BEE,2,{0xDA,0xBD,0x00,0x00,}},
+ {0x8BEF,2,{0xCE,0xF3,0x00,0x00,}},
+ {0x8BF0,2,{0xDA,0xBE,0x00,0x00,}},
+ {0x8BF1,2,{0xD3,0xD5,0x00,0x00,}},
+ {0x8BF2,2,{0xBB,0xE5,0x00,0x00,}},
+ {0x8BF3,2,{0xDA,0xBF,0x00,0x00,}},
+ {0x8BF4,2,{0xCB,0xB5,0x00,0x00,}},
+ {0x8BF5,2,{0xCB,0xD0,0x00,0x00,}},
+ {0x8BF6,2,{0xDA,0xC0,0x00,0x00,}},
+ {0x8BF7,2,{0xC7,0xEB,0x00,0x00,}},
+ {0x8BF8,2,{0xD6,0xEE,0x00,0x00,}},
+ {0x8BF9,2,{0xDA,0xC1,0x00,0x00,}},
+ {0x8BFA,2,{0xC5,0xB5,0x00,0x00,}},
+ {0x8BFB,2,{0xB6,0xC1,0x00,0x00,}},
+ {0x8BFC,2,{0xDA,0xC2,0x00,0x00,}},
+ {0x8BFD,2,{0xB7,0xCC,0x00,0x00,}},
+ {0x8BFE,2,{0xBF,0xCE,0x00,0x00,}},
+ {0x8BFF,2,{0xDA,0xC3,0x00,0x00,}},
+ {0x8C00,2,{0xDA,0xC4,0x00,0x00,}},
+ {0x8C01,2,{0xCB,0xAD,0x00,0x00,}},
+ {0x8C02,2,{0xDA,0xC5,0x00,0x00,}},
+ {0x8C03,2,{0xB5,0xF7,0x00,0x00,}},
+ {0x8C04,2,{0xDA,0xC6,0x00,0x00,}},
+ {0x8C05,2,{0xC1,0xC2,0x00,0x00,}},
+ {0x8C06,2,{0xD7,0xBB,0x00,0x00,}},
+ {0x8C07,2,{0xDA,0xC7,0x00,0x00,}},
+ {0x8C08,2,{0xCC,0xB8,0x00,0x00,}},
+ {0x8C09,2,{0xD7,0x9F,0x00,0x00,}},
+ {0x8C0A,2,{0xD2,0xEA,0x00,0x00,}},
+ {0x8C0B,2,{0xC4,0xB1,0x00,0x00,}},
+ {0x8C0C,2,{0xDA,0xC8,0x00,0x00,}},
+ {0x8C0D,2,{0xB5,0xFD,0x00,0x00,}},
+ {0x8C0E,2,{0xBB,0xD1,0x00,0x00,}},
+ {0x8C0F,2,{0xDA,0xC9,0x00,0x00,}},
+ {0x8C10,2,{0xD0,0xB3,0x00,0x00,}},
+ {0x8C11,2,{0xDA,0xCA,0x00,0x00,}},
+ {0x8C12,2,{0xDA,0xCB,0x00,0x00,}},
+ {0x8C13,2,{0xCE,0xBD,0x00,0x00,}},
+ {0x8C14,2,{0xDA,0xCC,0x00,0x00,}},
+ {0x8C15,2,{0xDA,0xCD,0x00,0x00,}},
+ {0x8C16,2,{0xDA,0xCE,0x00,0x00,}},
+ {0x8C17,2,{0xB2,0xF7,0x00,0x00,}},
+ {0x8C18,2,{0xDA,0xD1,0x00,0x00,}},
+ {0x8C19,2,{0xDA,0xCF,0x00,0x00,}},
+ {0x8C1A,2,{0xD1,0xE8,0x00,0x00,}},
+ {0x8C1B,2,{0xDA,0xD0,0x00,0x00,}},
+ {0x8C1C,2,{0xC3,0xD5,0x00,0x00,}},
+ {0x8C1D,2,{0xDA,0xD2,0x00,0x00,}},
+ {0x8C1E,2,{0xD7,0xA0,0x00,0x00,}},
+ {0x8C1F,2,{0xDA,0xD3,0x00,0x00,}},
+ {0x8C20,2,{0xDA,0xD4,0x00,0x00,}},
+ {0x8C21,2,{0xDA,0xD5,0x00,0x00,}},
+ {0x8C22,2,{0xD0,0xBB,0x00,0x00,}},
+ {0x8C23,2,{0xD2,0xA5,0x00,0x00,}},
+ {0x8C24,2,{0xB0,0xF9,0x00,0x00,}},
+ {0x8C25,2,{0xDA,0xD6,0x00,0x00,}},
+ {0x8C26,2,{0xC7,0xAB,0x00,0x00,}},
+ {0x8C27,2,{0xDA,0xD7,0x00,0x00,}},
+ {0x8C28,2,{0xBD,0xF7,0x00,0x00,}},
+ {0x8C29,2,{0xC3,0xA1,0x00,0x00,}},
+ {0x8C2A,2,{0xDA,0xD8,0x00,0x00,}},
+ {0x8C2B,2,{0xDA,0xD9,0x00,0x00,}},
+ {0x8C2C,2,{0xC3,0xFD,0x00,0x00,}},
+ {0x8C2D,2,{0xCC,0xB7,0x00,0x00,}},
+ {0x8C2E,2,{0xDA,0xDA,0x00,0x00,}},
+ {0x8C2F,2,{0xDA,0xDB,0x00,0x00,}},
+ {0x8C30,2,{0xC0,0xBE,0x00,0x00,}},
+ {0x8C31,2,{0xC6,0xD7,0x00,0x00,}},
+ {0x8C32,2,{0xDA,0xDC,0x00,0x00,}},
+ {0x8C33,2,{0xDA,0xDD,0x00,0x00,}},
+ {0x8C34,2,{0xC7,0xB4,0x00,0x00,}},
+ {0x8C35,2,{0xDA,0xDE,0x00,0x00,}},
+ {0x8C36,2,{0xDA,0xDF,0x00,0x00,}},
+ {0x8C37,2,{0xB9,0xC8,0x00,0x00,}},
+ {0x8C38,2,{0xD8,0x40,0x00,0x00,}},
+ {0x8C39,2,{0xD8,0x41,0x00,0x00,}},
+ {0x8C3A,2,{0xD8,0x42,0x00,0x00,}},
+ {0x8C3B,2,{0xD8,0x43,0x00,0x00,}},
+ {0x8C3C,2,{0xD8,0x44,0x00,0x00,}},
+ {0x8C3D,2,{0xD8,0x45,0x00,0x00,}},
+ {0x8C3E,2,{0xD8,0x46,0x00,0x00,}},
+ {0x8C3F,2,{0xD8,0x47,0x00,0x00,}},
+ {0x8C40,2,{0xD8,0x48,0x00,0x00,}},
+ {0x8C41,2,{0xBB,0xED,0x00,0x00,}},
+ {0x8C42,2,{0xD8,0x49,0x00,0x00,}},
+ {0x8C43,2,{0xD8,0x4A,0x00,0x00,}},
+ {0x8C44,2,{0xD8,0x4B,0x00,0x00,}},
+ {0x8C45,2,{0xD8,0x4C,0x00,0x00,}},
+ {0x8C46,2,{0xB6,0xB9,0x00,0x00,}},
+ {0x8C47,2,{0xF4,0xF8,0x00,0x00,}},
+ {0x8C48,2,{0xD8,0x4D,0x00,0x00,}},
+ {0x8C49,2,{0xF4,0xF9,0x00,0x00,}},
+ {0x8C4A,2,{0xD8,0x4E,0x00,0x00,}},
+ {0x8C4B,2,{0xD8,0x4F,0x00,0x00,}},
+ {0x8C4C,2,{0xCD,0xE3,0x00,0x00,}},
+ {0x8C4D,2,{0xD8,0x50,0x00,0x00,}},
+ {0x8C4E,2,{0xD8,0x51,0x00,0x00,}},
+ {0x8C4F,2,{0xD8,0x52,0x00,0x00,}},
+ {0x8C50,2,{0xD8,0x53,0x00,0x00,}},
+ {0x8C51,2,{0xD8,0x54,0x00,0x00,}},
+ {0x8C52,2,{0xD8,0x55,0x00,0x00,}},
+ {0x8C53,2,{0xD8,0x56,0x00,0x00,}},
+ {0x8C54,2,{0xD8,0x57,0x00,0x00,}},
+ {0x8C55,2,{0xF5,0xB9,0x00,0x00,}},
+ {0x8C56,2,{0xD8,0x58,0x00,0x00,}},
+ {0x8C57,2,{0xD8,0x59,0x00,0x00,}},
+ {0x8C58,2,{0xD8,0x5A,0x00,0x00,}},
+ {0x8C59,2,{0xD8,0x5B,0x00,0x00,}},
+ {0x8C5A,2,{0xEB,0xE0,0x00,0x00,}},
+ {0x8C5B,2,{0xD8,0x5C,0x00,0x00,}},
+ {0x8C5C,2,{0xD8,0x5D,0x00,0x00,}},
+ {0x8C5D,2,{0xD8,0x5E,0x00,0x00,}},
+ {0x8C5E,2,{0xD8,0x5F,0x00,0x00,}},
+ {0x8C5F,2,{0xD8,0x60,0x00,0x00,}},
+ {0x8C60,2,{0xD8,0x61,0x00,0x00,}},
+ {0x8C61,2,{0xCF,0xF3,0x00,0x00,}},
+ {0x8C62,2,{0xBB,0xBF,0x00,0x00,}},
+ {0x8C63,2,{0xD8,0x62,0x00,0x00,}},
+ {0x8C64,2,{0xD8,0x63,0x00,0x00,}},
+ {0x8C65,2,{0xD8,0x64,0x00,0x00,}},
+ {0x8C66,2,{0xD8,0x65,0x00,0x00,}},
+ {0x8C67,2,{0xD8,0x66,0x00,0x00,}},
+ {0x8C68,2,{0xD8,0x67,0x00,0x00,}},
+ {0x8C69,2,{0xD8,0x68,0x00,0x00,}},
+ {0x8C6A,2,{0xBA,0xC0,0x00,0x00,}},
+ {0x8C6B,2,{0xD4,0xA5,0x00,0x00,}},
+ {0x8C6C,2,{0xD8,0x69,0x00,0x00,}},
+ {0x8C6D,2,{0xD8,0x6A,0x00,0x00,}},
+ {0x8C6E,2,{0xD8,0x6B,0x00,0x00,}},
+ {0x8C6F,2,{0xD8,0x6C,0x00,0x00,}},
+ {0x8C70,2,{0xD8,0x6D,0x00,0x00,}},
+ {0x8C71,2,{0xD8,0x6E,0x00,0x00,}},
+ {0x8C72,2,{0xD8,0x6F,0x00,0x00,}},
+ {0x8C73,2,{0xE1,0xD9,0x00,0x00,}},
+ {0x8C74,2,{0xD8,0x70,0x00,0x00,}},
+ {0x8C75,2,{0xD8,0x71,0x00,0x00,}},
+ {0x8C76,2,{0xD8,0x72,0x00,0x00,}},
+ {0x8C77,2,{0xD8,0x73,0x00,0x00,}},
+ {0x8C78,2,{0xF5,0xF4,0x00,0x00,}},
+ {0x8C79,2,{0xB1,0xAA,0x00,0x00,}},
+ {0x8C7A,2,{0xB2,0xF2,0x00,0x00,}},
+ {0x8C7B,2,{0xD8,0x74,0x00,0x00,}},
+ {0x8C7C,2,{0xD8,0x75,0x00,0x00,}},
+ {0x8C7D,2,{0xD8,0x76,0x00,0x00,}},
+ {0x8C7E,2,{0xD8,0x77,0x00,0x00,}},
+ {0x8C7F,2,{0xD8,0x78,0x00,0x00,}},
+ {0x8C80,2,{0xD8,0x79,0x00,0x00,}},
+ {0x8C81,2,{0xD8,0x7A,0x00,0x00,}},
+ {0x8C82,2,{0xF5,0xF5,0x00,0x00,}},
+ {0x8C83,2,{0xD8,0x7B,0x00,0x00,}},
+ {0x8C84,2,{0xD8,0x7C,0x00,0x00,}},
+ {0x8C85,2,{0xF5,0xF7,0x00,0x00,}},
+ {0x8C86,2,{0xD8,0x7D,0x00,0x00,}},
+ {0x8C87,2,{0xD8,0x7E,0x00,0x00,}},
+ {0x8C88,2,{0xD8,0x80,0x00,0x00,}},
+ {0x8C89,2,{0xBA,0xD1,0x00,0x00,}},
+ {0x8C8A,2,{0xF5,0xF6,0x00,0x00,}},
+ {0x8C8B,2,{0xD8,0x81,0x00,0x00,}},
+ {0x8C8C,2,{0xC3,0xB2,0x00,0x00,}},
+ {0x8C8D,2,{0xD8,0x82,0x00,0x00,}},
+ {0x8C8E,2,{0xD8,0x83,0x00,0x00,}},
+ {0x8C8F,2,{0xD8,0x84,0x00,0x00,}},
+ {0x8C90,2,{0xD8,0x85,0x00,0x00,}},
+ {0x8C91,2,{0xD8,0x86,0x00,0x00,}},
+ {0x8C92,2,{0xD8,0x87,0x00,0x00,}},
+ {0x8C93,2,{0xD8,0x88,0x00,0x00,}},
+ {0x8C94,2,{0xF5,0xF9,0x00,0x00,}},
+ {0x8C95,2,{0xD8,0x89,0x00,0x00,}},
+ {0x8C96,2,{0xD8,0x8A,0x00,0x00,}},
+ {0x8C97,2,{0xD8,0x8B,0x00,0x00,}},
+ {0x8C98,2,{0xF5,0xF8,0x00,0x00,}},
+ {0x8C99,2,{0xD8,0x8C,0x00,0x00,}},
+ {0x8C9A,2,{0xD8,0x8D,0x00,0x00,}},
+ {0x8C9B,2,{0xD8,0x8E,0x00,0x00,}},
+ {0x8C9C,2,{0xD8,0x8F,0x00,0x00,}},
+ {0x8C9D,2,{0xD8,0x90,0x00,0x00,}},
+ {0x8C9E,2,{0xD8,0x91,0x00,0x00,}},
+ {0x8C9F,2,{0xD8,0x92,0x00,0x00,}},
+ {0x8CA0,2,{0xD8,0x93,0x00,0x00,}},
+ {0x8CA1,2,{0xD8,0x94,0x00,0x00,}},
+ {0x8CA2,2,{0xD8,0x95,0x00,0x00,}},
+ {0x8CA3,2,{0xD8,0x96,0x00,0x00,}},
+ {0x8CA4,2,{0xD8,0x97,0x00,0x00,}},
+ {0x8CA5,2,{0xD8,0x98,0x00,0x00,}},
+ {0x8CA6,2,{0xD8,0x99,0x00,0x00,}},
+ {0x8CA7,2,{0xD8,0x9A,0x00,0x00,}},
+ {0x8CA8,2,{0xD8,0x9B,0x00,0x00,}},
+ {0x8CA9,2,{0xD8,0x9C,0x00,0x00,}},
+ {0x8CAA,2,{0xD8,0x9D,0x00,0x00,}},
+ {0x8CAB,2,{0xD8,0x9E,0x00,0x00,}},
+ {0x8CAC,2,{0xD8,0x9F,0x00,0x00,}},
+ {0x8CAD,2,{0xD8,0xA0,0x00,0x00,}},
+ {0x8CAE,2,{0xD9,0x40,0x00,0x00,}},
+ {0x8CAF,2,{0xD9,0x41,0x00,0x00,}},
+ {0x8CB0,2,{0xD9,0x42,0x00,0x00,}},
+ {0x8CB1,2,{0xD9,0x43,0x00,0x00,}},
+ {0x8CB2,2,{0xD9,0x44,0x00,0x00,}},
+ {0x8CB3,2,{0xD9,0x45,0x00,0x00,}},
+ {0x8CB4,2,{0xD9,0x46,0x00,0x00,}},
+ {0x8CB5,2,{0xD9,0x47,0x00,0x00,}},
+ {0x8CB6,2,{0xD9,0x48,0x00,0x00,}},
+ {0x8CB7,2,{0xD9,0x49,0x00,0x00,}},
+ {0x8CB8,2,{0xD9,0x4A,0x00,0x00,}},
+ {0x8CB9,2,{0xD9,0x4B,0x00,0x00,}},
+ {0x8CBA,2,{0xD9,0x4C,0x00,0x00,}},
+ {0x8CBB,2,{0xD9,0x4D,0x00,0x00,}},
+ {0x8CBC,2,{0xD9,0x4E,0x00,0x00,}},
+ {0x8CBD,2,{0xD9,0x4F,0x00,0x00,}},
+ {0x8CBE,2,{0xD9,0x50,0x00,0x00,}},
+ {0x8CBF,2,{0xD9,0x51,0x00,0x00,}},
+ {0x8CC0,2,{0xD9,0x52,0x00,0x00,}},
+ {0x8CC1,2,{0xD9,0x53,0x00,0x00,}},
+ {0x8CC2,2,{0xD9,0x54,0x00,0x00,}},
+ {0x8CC3,2,{0xD9,0x55,0x00,0x00,}},
+ {0x8CC4,2,{0xD9,0x56,0x00,0x00,}},
+ {0x8CC5,2,{0xD9,0x57,0x00,0x00,}},
+ {0x8CC6,2,{0xD9,0x58,0x00,0x00,}},
+ {0x8CC7,2,{0xD9,0x59,0x00,0x00,}},
+ {0x8CC8,2,{0xD9,0x5A,0x00,0x00,}},
+ {0x8CC9,2,{0xD9,0x5B,0x00,0x00,}},
+ {0x8CCA,2,{0xD9,0x5C,0x00,0x00,}},
+ {0x8CCB,2,{0xD9,0x5D,0x00,0x00,}},
+ {0x8CCC,2,{0xD9,0x5E,0x00,0x00,}},
+ {0x8CCD,2,{0xD9,0x5F,0x00,0x00,}},
+ {0x8CCE,2,{0xD9,0x60,0x00,0x00,}},
+ {0x8CCF,2,{0xD9,0x61,0x00,0x00,}},
+ {0x8CD0,2,{0xD9,0x62,0x00,0x00,}},
+ {0x8CD1,2,{0xD9,0x63,0x00,0x00,}},
+ {0x8CD2,2,{0xD9,0x64,0x00,0x00,}},
+ {0x8CD3,2,{0xD9,0x65,0x00,0x00,}},
+ {0x8CD4,2,{0xD9,0x66,0x00,0x00,}},
+ {0x8CD5,2,{0xD9,0x67,0x00,0x00,}},
+ {0x8CD6,2,{0xD9,0x68,0x00,0x00,}},
+ {0x8CD7,2,{0xD9,0x69,0x00,0x00,}},
+ {0x8CD8,2,{0xD9,0x6A,0x00,0x00,}},
+ {0x8CD9,2,{0xD9,0x6B,0x00,0x00,}},
+ {0x8CDA,2,{0xD9,0x6C,0x00,0x00,}},
+ {0x8CDB,2,{0xD9,0x6D,0x00,0x00,}},
+ {0x8CDC,2,{0xD9,0x6E,0x00,0x00,}},
+ {0x8CDD,2,{0xD9,0x6F,0x00,0x00,}},
+ {0x8CDE,2,{0xD9,0x70,0x00,0x00,}},
+ {0x8CDF,2,{0xD9,0x71,0x00,0x00,}},
+ {0x8CE0,2,{0xD9,0x72,0x00,0x00,}},
+ {0x8CE1,2,{0xD9,0x73,0x00,0x00,}},
+ {0x8CE2,2,{0xD9,0x74,0x00,0x00,}},
+ {0x8CE3,2,{0xD9,0x75,0x00,0x00,}},
+ {0x8CE4,2,{0xD9,0x76,0x00,0x00,}},
+ {0x8CE5,2,{0xD9,0x77,0x00,0x00,}},
+ {0x8CE6,2,{0xD9,0x78,0x00,0x00,}},
+ {0x8CE7,2,{0xD9,0x79,0x00,0x00,}},
+ {0x8CE8,2,{0xD9,0x7A,0x00,0x00,}},
+ {0x8CE9,2,{0xD9,0x7B,0x00,0x00,}},
+ {0x8CEA,2,{0xD9,0x7C,0x00,0x00,}},
+ {0x8CEB,2,{0xD9,0x7D,0x00,0x00,}},
+ {0x8CEC,2,{0xD9,0x7E,0x00,0x00,}},
+ {0x8CED,2,{0xD9,0x80,0x00,0x00,}},
+ {0x8CEE,2,{0xD9,0x81,0x00,0x00,}},
+ {0x8CEF,2,{0xD9,0x82,0x00,0x00,}},
+ {0x8CF0,2,{0xD9,0x83,0x00,0x00,}},
+ {0x8CF1,2,{0xD9,0x84,0x00,0x00,}},
+ {0x8CF2,2,{0xD9,0x85,0x00,0x00,}},
+ {0x8CF3,2,{0xD9,0x86,0x00,0x00,}},
+ {0x8CF4,2,{0xD9,0x87,0x00,0x00,}},
+ {0x8CF5,2,{0xD9,0x88,0x00,0x00,}},
+ {0x8CF6,2,{0xD9,0x89,0x00,0x00,}},
+ {0x8CF7,2,{0xD9,0x8A,0x00,0x00,}},
+ {0x8CF8,2,{0xD9,0x8B,0x00,0x00,}},
+ {0x8CF9,2,{0xD9,0x8C,0x00,0x00,}},
+ {0x8CFA,2,{0xD9,0x8D,0x00,0x00,}},
+ {0x8CFB,2,{0xD9,0x8E,0x00,0x00,}},
+ {0x8CFC,2,{0xD9,0x8F,0x00,0x00,}},
+ {0x8CFD,2,{0xD9,0x90,0x00,0x00,}},
+ {0x8CFE,2,{0xD9,0x91,0x00,0x00,}},
+ {0x8CFF,2,{0xD9,0x92,0x00,0x00,}},
+ {0x8D00,2,{0xD9,0x93,0x00,0x00,}},
+ {0x8D01,2,{0xD9,0x94,0x00,0x00,}},
+ {0x8D02,2,{0xD9,0x95,0x00,0x00,}},
+ {0x8D03,2,{0xD9,0x96,0x00,0x00,}},
+ {0x8D04,2,{0xD9,0x97,0x00,0x00,}},
+ {0x8D05,2,{0xD9,0x98,0x00,0x00,}},
+ {0x8D06,2,{0xD9,0x99,0x00,0x00,}},
+ {0x8D07,2,{0xD9,0x9A,0x00,0x00,}},
+ {0x8D08,2,{0xD9,0x9B,0x00,0x00,}},
+ {0x8D09,2,{0xD9,0x9C,0x00,0x00,}},
+ {0x8D0A,2,{0xD9,0x9D,0x00,0x00,}},
+ {0x8D0B,2,{0xD9,0x9E,0x00,0x00,}},
+ {0x8D0C,2,{0xD9,0x9F,0x00,0x00,}},
+ {0x8D0D,2,{0xD9,0xA0,0x00,0x00,}},
+ {0x8D0E,2,{0xDA,0x40,0x00,0x00,}},
+ {0x8D0F,2,{0xDA,0x41,0x00,0x00,}},
+ {0x8D10,2,{0xDA,0x42,0x00,0x00,}},
+ {0x8D11,2,{0xDA,0x43,0x00,0x00,}},
+ {0x8D12,2,{0xDA,0x44,0x00,0x00,}},
+ {0x8D13,2,{0xDA,0x45,0x00,0x00,}},
+ {0x8D14,2,{0xDA,0x46,0x00,0x00,}},
+ {0x8D15,2,{0xDA,0x47,0x00,0x00,}},
+ {0x8D16,2,{0xDA,0x48,0x00,0x00,}},
+ {0x8D17,2,{0xDA,0x49,0x00,0x00,}},
+ {0x8D18,2,{0xDA,0x4A,0x00,0x00,}},
+ {0x8D19,2,{0xDA,0x4B,0x00,0x00,}},
+ {0x8D1A,2,{0xDA,0x4C,0x00,0x00,}},
+ {0x8D1B,2,{0xDA,0x4D,0x00,0x00,}},
+ {0x8D1C,2,{0xDA,0x4E,0x00,0x00,}},
+ {0x8D1D,2,{0xB1,0xB4,0x00,0x00,}},
+ {0x8D1E,2,{0xD5,0xEA,0x00,0x00,}},
+ {0x8D1F,2,{0xB8,0xBA,0x00,0x00,}},
+ {0x8D20,2,{0xDA,0x4F,0x00,0x00,}},
+ {0x8D21,2,{0xB9,0xB1,0x00,0x00,}},
+ {0x8D22,2,{0xB2,0xC6,0x00,0x00,}},
+ {0x8D23,2,{0xD4,0xF0,0x00,0x00,}},
+ {0x8D24,2,{0xCF,0xCD,0x00,0x00,}},
+ {0x8D25,2,{0xB0,0xDC,0x00,0x00,}},
+ {0x8D26,2,{0xD5,0xCB,0x00,0x00,}},
+ {0x8D27,2,{0xBB,0xF5,0x00,0x00,}},
+ {0x8D28,2,{0xD6,0xCA,0x00,0x00,}},
+ {0x8D29,2,{0xB7,0xB7,0x00,0x00,}},
+ {0x8D2A,2,{0xCC,0xB0,0x00,0x00,}},
+ {0x8D2B,2,{0xC6,0xB6,0x00,0x00,}},
+ {0x8D2C,2,{0xB1,0xE1,0x00,0x00,}},
+ {0x8D2D,2,{0xB9,0xBA,0x00,0x00,}},
+ {0x8D2E,2,{0xD6,0xFC,0x00,0x00,}},
+ {0x8D2F,2,{0xB9,0xE1,0x00,0x00,}},
+ {0x8D30,2,{0xB7,0xA1,0x00,0x00,}},
+ {0x8D31,2,{0xBC,0xFA,0x00,0x00,}},
+ {0x8D32,2,{0xEA,0xDA,0x00,0x00,}},
+ {0x8D33,2,{0xEA,0xDB,0x00,0x00,}},
+ {0x8D34,2,{0xCC,0xF9,0x00,0x00,}},
+ {0x8D35,2,{0xB9,0xF3,0x00,0x00,}},
+ {0x8D36,2,{0xEA,0xDC,0x00,0x00,}},
+ {0x8D37,2,{0xB4,0xFB,0x00,0x00,}},
+ {0x8D38,2,{0xC3,0xB3,0x00,0x00,}},
+ {0x8D39,2,{0xB7,0xD1,0x00,0x00,}},
+ {0x8D3A,2,{0xBA,0xD8,0x00,0x00,}},
+ {0x8D3B,2,{0xEA,0xDD,0x00,0x00,}},
+ {0x8D3C,2,{0xD4,0xF4,0x00,0x00,}},
+ {0x8D3D,2,{0xEA,0xDE,0x00,0x00,}},
+ {0x8D3E,2,{0xBC,0xD6,0x00,0x00,}},
+ {0x8D3F,2,{0xBB,0xDF,0x00,0x00,}},
+ {0x8D40,2,{0xEA,0xDF,0x00,0x00,}},
+ {0x8D41,2,{0xC1,0xDE,0x00,0x00,}},
+ {0x8D42,2,{0xC2,0xB8,0x00,0x00,}},
+ {0x8D43,2,{0xD4,0xDF,0x00,0x00,}},
+ {0x8D44,2,{0xD7,0xCA,0x00,0x00,}},
+ {0x8D45,2,{0xEA,0xE0,0x00,0x00,}},
+ {0x8D46,2,{0xEA,0xE1,0x00,0x00,}},
+ {0x8D47,2,{0xEA,0xE4,0x00,0x00,}},
+ {0x8D48,2,{0xEA,0xE2,0x00,0x00,}},
+ {0x8D49,2,{0xEA,0xE3,0x00,0x00,}},
+ {0x8D4A,2,{0xC9,0xDE,0x00,0x00,}},
+ {0x8D4B,2,{0xB8,0xB3,0x00,0x00,}},
+ {0x8D4C,2,{0xB6,0xC4,0x00,0x00,}},
+ {0x8D4D,2,{0xEA,0xE5,0x00,0x00,}},
+ {0x8D4E,2,{0xCA,0xEA,0x00,0x00,}},
+ {0x8D4F,2,{0xC9,0xCD,0x00,0x00,}},
+ {0x8D50,2,{0xB4,0xCD,0x00,0x00,}},
+ {0x8D51,2,{0xDA,0x50,0x00,0x00,}},
+ {0x8D52,2,{0xDA,0x51,0x00,0x00,}},
+ {0x8D53,2,{0xE2,0xD9,0x00,0x00,}},
+ {0x8D54,2,{0xC5,0xE2,0x00,0x00,}},
+ {0x8D55,2,{0xEA,0xE6,0x00,0x00,}},
+ {0x8D56,2,{0xC0,0xB5,0x00,0x00,}},
+ {0x8D57,2,{0xDA,0x52,0x00,0x00,}},
+ {0x8D58,2,{0xD7,0xB8,0x00,0x00,}},
+ {0x8D59,2,{0xEA,0xE7,0x00,0x00,}},
+ {0x8D5A,2,{0xD7,0xAC,0x00,0x00,}},
+ {0x8D5B,2,{0xC8,0xFC,0x00,0x00,}},
+ {0x8D5C,2,{0xD8,0xD3,0x00,0x00,}},
+ {0x8D5D,2,{0xD8,0xCD,0x00,0x00,}},
+ {0x8D5E,2,{0xD4,0xDE,0x00,0x00,}},
+ {0x8D5F,2,{0xDA,0x53,0x00,0x00,}},
+ {0x8D60,2,{0xD4,0xF9,0x00,0x00,}},
+ {0x8D61,2,{0xC9,0xC4,0x00,0x00,}},
+ {0x8D62,2,{0xD3,0xAE,0x00,0x00,}},
+ {0x8D63,2,{0xB8,0xD3,0x00,0x00,}},
+ {0x8D64,2,{0xB3,0xE0,0x00,0x00,}},
+ {0x8D65,2,{0xDA,0x54,0x00,0x00,}},
+ {0x8D66,2,{0xC9,0xE2,0x00,0x00,}},
+ {0x8D67,2,{0xF4,0xF6,0x00,0x00,}},
+ {0x8D68,2,{0xDA,0x55,0x00,0x00,}},
+ {0x8D69,2,{0xDA,0x56,0x00,0x00,}},
+ {0x8D6A,2,{0xDA,0x57,0x00,0x00,}},
+ {0x8D6B,2,{0xBA,0xD5,0x00,0x00,}},
+ {0x8D6C,2,{0xDA,0x58,0x00,0x00,}},
+ {0x8D6D,2,{0xF4,0xF7,0x00,0x00,}},
+ {0x8D6E,2,{0xDA,0x59,0x00,0x00,}},
+ {0x8D6F,2,{0xDA,0x5A,0x00,0x00,}},
+ {0x8D70,2,{0xD7,0xDF,0x00,0x00,}},
+ {0x8D71,2,{0xDA,0x5B,0x00,0x00,}},
+ {0x8D72,2,{0xDA,0x5C,0x00,0x00,}},
+ {0x8D73,2,{0xF4,0xF1,0x00,0x00,}},
+ {0x8D74,2,{0xB8,0xB0,0x00,0x00,}},
+ {0x8D75,2,{0xD5,0xD4,0x00,0x00,}},
+ {0x8D76,2,{0xB8,0xCF,0x00,0x00,}},
+ {0x8D77,2,{0xC6,0xF0,0x00,0x00,}},
+ {0x8D78,2,{0xDA,0x5D,0x00,0x00,}},
+ {0x8D79,2,{0xDA,0x5E,0x00,0x00,}},
+ {0x8D7A,2,{0xDA,0x5F,0x00,0x00,}},
+ {0x8D7B,2,{0xDA,0x60,0x00,0x00,}},
+ {0x8D7C,2,{0xDA,0x61,0x00,0x00,}},
+ {0x8D7D,2,{0xDA,0x62,0x00,0x00,}},
+ {0x8D7E,2,{0xDA,0x63,0x00,0x00,}},
+ {0x8D7F,2,{0xDA,0x64,0x00,0x00,}},
+ {0x8D80,2,{0xDA,0x65,0x00,0x00,}},
+ {0x8D81,2,{0xB3,0xC3,0x00,0x00,}},
+ {0x8D82,2,{0xDA,0x66,0x00,0x00,}},
+ {0x8D83,2,{0xDA,0x67,0x00,0x00,}},
+ {0x8D84,2,{0xF4,0xF2,0x00,0x00,}},
+ {0x8D85,2,{0xB3,0xAC,0x00,0x00,}},
+ {0x8D86,2,{0xDA,0x68,0x00,0x00,}},
+ {0x8D87,2,{0xDA,0x69,0x00,0x00,}},
+ {0x8D88,2,{0xDA,0x6A,0x00,0x00,}},
+ {0x8D89,2,{0xDA,0x6B,0x00,0x00,}},
+ {0x8D8A,2,{0xD4,0xBD,0x00,0x00,}},
+ {0x8D8B,2,{0xC7,0xF7,0x00,0x00,}},
+ {0x8D8C,2,{0xDA,0x6C,0x00,0x00,}},
+ {0x8D8D,2,{0xDA,0x6D,0x00,0x00,}},
+ {0x8D8E,2,{0xDA,0x6E,0x00,0x00,}},
+ {0x8D8F,2,{0xDA,0x6F,0x00,0x00,}},
+ {0x8D90,2,{0xDA,0x70,0x00,0x00,}},
+ {0x8D91,2,{0xF4,0xF4,0x00,0x00,}},
+ {0x8D92,2,{0xDA,0x71,0x00,0x00,}},
+ {0x8D93,2,{0xDA,0x72,0x00,0x00,}},
+ {0x8D94,2,{0xF4,0xF3,0x00,0x00,}},
+ {0x8D95,2,{0xDA,0x73,0x00,0x00,}},
+ {0x8D96,2,{0xDA,0x74,0x00,0x00,}},
+ {0x8D97,2,{0xDA,0x75,0x00,0x00,}},
+ {0x8D98,2,{0xDA,0x76,0x00,0x00,}},
+ {0x8D99,2,{0xDA,0x77,0x00,0x00,}},
+ {0x8D9A,2,{0xDA,0x78,0x00,0x00,}},
+ {0x8D9B,2,{0xDA,0x79,0x00,0x00,}},
+ {0x8D9C,2,{0xDA,0x7A,0x00,0x00,}},
+ {0x8D9D,2,{0xDA,0x7B,0x00,0x00,}},
+ {0x8D9E,2,{0xDA,0x7C,0x00,0x00,}},
+ {0x8D9F,2,{0xCC,0xCB,0x00,0x00,}},
+ {0x8DA0,2,{0xDA,0x7D,0x00,0x00,}},
+ {0x8DA1,2,{0xDA,0x7E,0x00,0x00,}},
+ {0x8DA2,2,{0xDA,0x80,0x00,0x00,}},
+ {0x8DA3,2,{0xC8,0xA4,0x00,0x00,}},
+ {0x8DA4,2,{0xDA,0x81,0x00,0x00,}},
+ {0x8DA5,2,{0xDA,0x82,0x00,0x00,}},
+ {0x8DA6,2,{0xDA,0x83,0x00,0x00,}},
+ {0x8DA7,2,{0xDA,0x84,0x00,0x00,}},
+ {0x8DA8,2,{0xDA,0x85,0x00,0x00,}},
+ {0x8DA9,2,{0xDA,0x86,0x00,0x00,}},
+ {0x8DAA,2,{0xDA,0x87,0x00,0x00,}},
+ {0x8DAB,2,{0xDA,0x88,0x00,0x00,}},
+ {0x8DAC,2,{0xDA,0x89,0x00,0x00,}},
+ {0x8DAD,2,{0xDA,0x8A,0x00,0x00,}},
+ {0x8DAE,2,{0xDA,0x8B,0x00,0x00,}},
+ {0x8DAF,2,{0xDA,0x8C,0x00,0x00,}},
+ {0x8DB0,2,{0xDA,0x8D,0x00,0x00,}},
+ {0x8DB1,2,{0xF4,0xF5,0x00,0x00,}},
+ {0x8DB2,2,{0xDA,0x8E,0x00,0x00,}},
+ {0x8DB3,2,{0xD7,0xE3,0x00,0x00,}},
+ {0x8DB4,2,{0xC5,0xBF,0x00,0x00,}},
+ {0x8DB5,2,{0xF5,0xC0,0x00,0x00,}},
+ {0x8DB6,2,{0xDA,0x8F,0x00,0x00,}},
+ {0x8DB7,2,{0xDA,0x90,0x00,0x00,}},
+ {0x8DB8,2,{0xF5,0xBB,0x00,0x00,}},
+ {0x8DB9,2,{0xDA,0x91,0x00,0x00,}},
+ {0x8DBA,2,{0xF5,0xC3,0x00,0x00,}},
+ {0x8DBB,2,{0xDA,0x92,0x00,0x00,}},
+ {0x8DBC,2,{0xF5,0xC2,0x00,0x00,}},
+ {0x8DBD,2,{0xDA,0x93,0x00,0x00,}},
+ {0x8DBE,2,{0xD6,0xBA,0x00,0x00,}},
+ {0x8DBF,2,{0xF5,0xC1,0x00,0x00,}},
+ {0x8DC0,2,{0xDA,0x94,0x00,0x00,}},
+ {0x8DC1,2,{0xDA,0x95,0x00,0x00,}},
+ {0x8DC2,2,{0xDA,0x96,0x00,0x00,}},
+ {0x8DC3,2,{0xD4,0xBE,0x00,0x00,}},
+ {0x8DC4,2,{0xF5,0xC4,0x00,0x00,}},
+ {0x8DC5,2,{0xDA,0x97,0x00,0x00,}},
+ {0x8DC6,2,{0xF5,0xCC,0x00,0x00,}},
+ {0x8DC7,2,{0xDA,0x98,0x00,0x00,}},
+ {0x8DC8,2,{0xDA,0x99,0x00,0x00,}},
+ {0x8DC9,2,{0xDA,0x9A,0x00,0x00,}},
+ {0x8DCA,2,{0xDA,0x9B,0x00,0x00,}},
+ {0x8DCB,2,{0xB0,0xCF,0x00,0x00,}},
+ {0x8DCC,2,{0xB5,0xF8,0x00,0x00,}},
+ {0x8DCD,2,{0xDA,0x9C,0x00,0x00,}},
+ {0x8DCE,2,{0xF5,0xC9,0x00,0x00,}},
+ {0x8DCF,2,{0xF5,0xCA,0x00,0x00,}},
+ {0x8DD0,2,{0xDA,0x9D,0x00,0x00,}},
+ {0x8DD1,2,{0xC5,0xDC,0x00,0x00,}},
+ {0x8DD2,2,{0xDA,0x9E,0x00,0x00,}},
+ {0x8DD3,2,{0xDA,0x9F,0x00,0x00,}},
+ {0x8DD4,2,{0xDA,0xA0,0x00,0x00,}},
+ {0x8DD5,2,{0xDB,0x40,0x00,0x00,}},
+ {0x8DD6,2,{0xF5,0xC5,0x00,0x00,}},
+ {0x8DD7,2,{0xF5,0xC6,0x00,0x00,}},
+ {0x8DD8,2,{0xDB,0x41,0x00,0x00,}},
+ {0x8DD9,2,{0xDB,0x42,0x00,0x00,}},
+ {0x8DDA,2,{0xF5,0xC7,0x00,0x00,}},
+ {0x8DDB,2,{0xF5,0xCB,0x00,0x00,}},
+ {0x8DDC,2,{0xDB,0x43,0x00,0x00,}},
+ {0x8DDD,2,{0xBE,0xE0,0x00,0x00,}},
+ {0x8DDE,2,{0xF5,0xC8,0x00,0x00,}},
+ {0x8DDF,2,{0xB8,0xFA,0x00,0x00,}},
+ {0x8DE0,2,{0xDB,0x44,0x00,0x00,}},
+ {0x8DE1,2,{0xDB,0x45,0x00,0x00,}},
+ {0x8DE2,2,{0xDB,0x46,0x00,0x00,}},
+ {0x8DE3,2,{0xF5,0xD0,0x00,0x00,}},
+ {0x8DE4,2,{0xF5,0xD3,0x00,0x00,}},
+ {0x8DE5,2,{0xDB,0x47,0x00,0x00,}},
+ {0x8DE6,2,{0xDB,0x48,0x00,0x00,}},
+ {0x8DE7,2,{0xDB,0x49,0x00,0x00,}},
+ {0x8DE8,2,{0xBF,0xE7,0x00,0x00,}},
+ {0x8DE9,2,{0xDB,0x4A,0x00,0x00,}},
+ {0x8DEA,2,{0xB9,0xF2,0x00,0x00,}},
+ {0x8DEB,2,{0xF5,0xBC,0x00,0x00,}},
+ {0x8DEC,2,{0xF5,0xCD,0x00,0x00,}},
+ {0x8DED,2,{0xDB,0x4B,0x00,0x00,}},
+ {0x8DEE,2,{0xDB,0x4C,0x00,0x00,}},
+ {0x8DEF,2,{0xC2,0xB7,0x00,0x00,}},
+ {0x8DF0,2,{0xDB,0x4D,0x00,0x00,}},
+ {0x8DF1,2,{0xDB,0x4E,0x00,0x00,}},
+ {0x8DF2,2,{0xDB,0x4F,0x00,0x00,}},
+ {0x8DF3,2,{0xCC,0xF8,0x00,0x00,}},
+ {0x8DF4,2,{0xDB,0x50,0x00,0x00,}},
+ {0x8DF5,2,{0xBC,0xF9,0x00,0x00,}},
+ {0x8DF6,2,{0xDB,0x51,0x00,0x00,}},
+ {0x8DF7,2,{0xF5,0xCE,0x00,0x00,}},
+ {0x8DF8,2,{0xF5,0xCF,0x00,0x00,}},
+ {0x8DF9,2,{0xF5,0xD1,0x00,0x00,}},
+ {0x8DFA,2,{0xB6,0xE5,0x00,0x00,}},
+ {0x8DFB,2,{0xF5,0xD2,0x00,0x00,}},
+ {0x8DFC,2,{0xDB,0x52,0x00,0x00,}},
+ {0x8DFD,2,{0xF5,0xD5,0x00,0x00,}},
+ {0x8DFE,2,{0xDB,0x53,0x00,0x00,}},
+ {0x8DFF,2,{0xDB,0x54,0x00,0x00,}},
+ {0x8E00,2,{0xDB,0x55,0x00,0x00,}},
+ {0x8E01,2,{0xDB,0x56,0x00,0x00,}},
+ {0x8E02,2,{0xDB,0x57,0x00,0x00,}},
+ {0x8E03,2,{0xDB,0x58,0x00,0x00,}},
+ {0x8E04,2,{0xDB,0x59,0x00,0x00,}},
+ {0x8E05,2,{0xF5,0xBD,0x00,0x00,}},
+ {0x8E06,2,{0xDB,0x5A,0x00,0x00,}},
+ {0x8E07,2,{0xDB,0x5B,0x00,0x00,}},
+ {0x8E08,2,{0xDB,0x5C,0x00,0x00,}},
+ {0x8E09,2,{0xF5,0xD4,0x00,0x00,}},
+ {0x8E0A,2,{0xD3,0xBB,0x00,0x00,}},
+ {0x8E0B,2,{0xDB,0x5D,0x00,0x00,}},
+ {0x8E0C,2,{0xB3,0xEC,0x00,0x00,}},
+ {0x8E0D,2,{0xDB,0x5E,0x00,0x00,}},
+ {0x8E0E,2,{0xDB,0x5F,0x00,0x00,}},
+ {0x8E0F,2,{0xCC,0xA4,0x00,0x00,}},
+ {0x8E10,2,{0xDB,0x60,0x00,0x00,}},
+ {0x8E11,2,{0xDB,0x61,0x00,0x00,}},
+ {0x8E12,2,{0xDB,0x62,0x00,0x00,}},
+ {0x8E13,2,{0xDB,0x63,0x00,0x00,}},
+ {0x8E14,2,{0xF5,0xD6,0x00,0x00,}},
+ {0x8E15,2,{0xDB,0x64,0x00,0x00,}},
+ {0x8E16,2,{0xDB,0x65,0x00,0x00,}},
+ {0x8E17,2,{0xDB,0x66,0x00,0x00,}},
+ {0x8E18,2,{0xDB,0x67,0x00,0x00,}},
+ {0x8E19,2,{0xDB,0x68,0x00,0x00,}},
+ {0x8E1A,2,{0xDB,0x69,0x00,0x00,}},
+ {0x8E1B,2,{0xDB,0x6A,0x00,0x00,}},
+ {0x8E1C,2,{0xDB,0x6B,0x00,0x00,}},
+ {0x8E1D,2,{0xF5,0xD7,0x00,0x00,}},
+ {0x8E1E,2,{0xBE,0xE1,0x00,0x00,}},
+ {0x8E1F,2,{0xF5,0xD8,0x00,0x00,}},
+ {0x8E20,2,{0xDB,0x6C,0x00,0x00,}},
+ {0x8E21,2,{0xDB,0x6D,0x00,0x00,}},
+ {0x8E22,2,{0xCC,0xDF,0x00,0x00,}},
+ {0x8E23,2,{0xF5,0xDB,0x00,0x00,}},
+ {0x8E24,2,{0xDB,0x6E,0x00,0x00,}},
+ {0x8E25,2,{0xDB,0x6F,0x00,0x00,}},
+ {0x8E26,2,{0xDB,0x70,0x00,0x00,}},
+ {0x8E27,2,{0xDB,0x71,0x00,0x00,}},
+ {0x8E28,2,{0xDB,0x72,0x00,0x00,}},
+ {0x8E29,2,{0xB2,0xC8,0x00,0x00,}},
+ {0x8E2A,2,{0xD7,0xD9,0x00,0x00,}},
+ {0x8E2B,2,{0xDB,0x73,0x00,0x00,}},
+ {0x8E2C,2,{0xF5,0xD9,0x00,0x00,}},
+ {0x8E2D,2,{0xDB,0x74,0x00,0x00,}},
+ {0x8E2E,2,{0xF5,0xDA,0x00,0x00,}},
+ {0x8E2F,2,{0xF5,0xDC,0x00,0x00,}},
+ {0x8E30,2,{0xDB,0x75,0x00,0x00,}},
+ {0x8E31,2,{0xF5,0xE2,0x00,0x00,}},
+ {0x8E32,2,{0xDB,0x76,0x00,0x00,}},
+ {0x8E33,2,{0xDB,0x77,0x00,0x00,}},
+ {0x8E34,2,{0xDB,0x78,0x00,0x00,}},
+ {0x8E35,2,{0xF5,0xE0,0x00,0x00,}},
+ {0x8E36,2,{0xDB,0x79,0x00,0x00,}},
+ {0x8E37,2,{0xDB,0x7A,0x00,0x00,}},
+ {0x8E38,2,{0xDB,0x7B,0x00,0x00,}},
+ {0x8E39,2,{0xF5,0xDF,0x00,0x00,}},
+ {0x8E3A,2,{0xF5,0xDD,0x00,0x00,}},
+ {0x8E3B,2,{0xDB,0x7C,0x00,0x00,}},
+ {0x8E3C,2,{0xDB,0x7D,0x00,0x00,}},
+ {0x8E3D,2,{0xF5,0xE1,0x00,0x00,}},
+ {0x8E3E,2,{0xDB,0x7E,0x00,0x00,}},
+ {0x8E3F,2,{0xDB,0x80,0x00,0x00,}},
+ {0x8E40,2,{0xF5,0xDE,0x00,0x00,}},
+ {0x8E41,2,{0xF5,0xE4,0x00,0x00,}},
+ {0x8E42,2,{0xF5,0xE5,0x00,0x00,}},
+ {0x8E43,2,{0xDB,0x81,0x00,0x00,}},
+ {0x8E44,2,{0xCC,0xE3,0x00,0x00,}},
+ {0x8E45,2,{0xDB,0x82,0x00,0x00,}},
+ {0x8E46,2,{0xDB,0x83,0x00,0x00,}},
+ {0x8E47,2,{0xE5,0xBF,0x00,0x00,}},
+ {0x8E48,2,{0xB5,0xB8,0x00,0x00,}},
+ {0x8E49,2,{0xF5,0xE3,0x00,0x00,}},
+ {0x8E4A,2,{0xF5,0xE8,0x00,0x00,}},
+ {0x8E4B,2,{0xCC,0xA3,0x00,0x00,}},
+ {0x8E4C,2,{0xDB,0x84,0x00,0x00,}},
+ {0x8E4D,2,{0xDB,0x85,0x00,0x00,}},
+ {0x8E4E,2,{0xDB,0x86,0x00,0x00,}},
+ {0x8E4F,2,{0xDB,0x87,0x00,0x00,}},
+ {0x8E50,2,{0xDB,0x88,0x00,0x00,}},
+ {0x8E51,2,{0xF5,0xE6,0x00,0x00,}},
+ {0x8E52,2,{0xF5,0xE7,0x00,0x00,}},
+ {0x8E53,2,{0xDB,0x89,0x00,0x00,}},
+ {0x8E54,2,{0xDB,0x8A,0x00,0x00,}},
+ {0x8E55,2,{0xDB,0x8B,0x00,0x00,}},
+ {0x8E56,2,{0xDB,0x8C,0x00,0x00,}},
+ {0x8E57,2,{0xDB,0x8D,0x00,0x00,}},
+ {0x8E58,2,{0xDB,0x8E,0x00,0x00,}},
+ {0x8E59,2,{0xF5,0xBE,0x00,0x00,}},
+ {0x8E5A,2,{0xDB,0x8F,0x00,0x00,}},
+ {0x8E5B,2,{0xDB,0x90,0x00,0x00,}},
+ {0x8E5C,2,{0xDB,0x91,0x00,0x00,}},
+ {0x8E5D,2,{0xDB,0x92,0x00,0x00,}},
+ {0x8E5E,2,{0xDB,0x93,0x00,0x00,}},
+ {0x8E5F,2,{0xDB,0x94,0x00,0x00,}},
+ {0x8E60,2,{0xDB,0x95,0x00,0x00,}},
+ {0x8E61,2,{0xDB,0x96,0x00,0x00,}},
+ {0x8E62,2,{0xDB,0x97,0x00,0x00,}},
+ {0x8E63,2,{0xDB,0x98,0x00,0x00,}},
+ {0x8E64,2,{0xDB,0x99,0x00,0x00,}},
+ {0x8E65,2,{0xDB,0x9A,0x00,0x00,}},
+ {0x8E66,2,{0xB1,0xC4,0x00,0x00,}},
+ {0x8E67,2,{0xDB,0x9B,0x00,0x00,}},
+ {0x8E68,2,{0xDB,0x9C,0x00,0x00,}},
+ {0x8E69,2,{0xF5,0xBF,0x00,0x00,}},
+ {0x8E6A,2,{0xDB,0x9D,0x00,0x00,}},
+ {0x8E6B,2,{0xDB,0x9E,0x00,0x00,}},
+ {0x8E6C,2,{0xB5,0xC5,0x00,0x00,}},
+ {0x8E6D,2,{0xB2,0xE4,0x00,0x00,}},
+ {0x8E6E,2,{0xDB,0x9F,0x00,0x00,}},
+ {0x8E6F,2,{0xF5,0xEC,0x00,0x00,}},
+ {0x8E70,2,{0xF5,0xE9,0x00,0x00,}},
+ {0x8E71,2,{0xDB,0xA0,0x00,0x00,}},
+ {0x8E72,2,{0xB6,0xD7,0x00,0x00,}},
+ {0x8E73,2,{0xDC,0x40,0x00,0x00,}},
+ {0x8E74,2,{0xF5,0xED,0x00,0x00,}},
+ {0x8E75,2,{0xDC,0x41,0x00,0x00,}},
+ {0x8E76,2,{0xF5,0xEA,0x00,0x00,}},
+ {0x8E77,2,{0xDC,0x42,0x00,0x00,}},
+ {0x8E78,2,{0xDC,0x43,0x00,0x00,}},
+ {0x8E79,2,{0xDC,0x44,0x00,0x00,}},
+ {0x8E7A,2,{0xDC,0x45,0x00,0x00,}},
+ {0x8E7B,2,{0xDC,0x46,0x00,0x00,}},
+ {0x8E7C,2,{0xF5,0xEB,0x00,0x00,}},
+ {0x8E7D,2,{0xDC,0x47,0x00,0x00,}},
+ {0x8E7E,2,{0xDC,0x48,0x00,0x00,}},
+ {0x8E7F,2,{0xB4,0xDA,0x00,0x00,}},
+ {0x8E80,2,{0xDC,0x49,0x00,0x00,}},
+ {0x8E81,2,{0xD4,0xEA,0x00,0x00,}},
+ {0x8E82,2,{0xDC,0x4A,0x00,0x00,}},
+ {0x8E83,2,{0xDC,0x4B,0x00,0x00,}},
+ {0x8E84,2,{0xDC,0x4C,0x00,0x00,}},
+ {0x8E85,2,{0xF5,0xEE,0x00,0x00,}},
+ {0x8E86,2,{0xDC,0x4D,0x00,0x00,}},
+ {0x8E87,2,{0xB3,0xF9,0x00,0x00,}},
+ {0x8E88,2,{0xDC,0x4E,0x00,0x00,}},
+ {0x8E89,2,{0xDC,0x4F,0x00,0x00,}},
+ {0x8E8A,2,{0xDC,0x50,0x00,0x00,}},
+ {0x8E8B,2,{0xDC,0x51,0x00,0x00,}},
+ {0x8E8C,2,{0xDC,0x52,0x00,0x00,}},
+ {0x8E8D,2,{0xDC,0x53,0x00,0x00,}},
+ {0x8E8E,2,{0xDC,0x54,0x00,0x00,}},
+ {0x8E8F,2,{0xF5,0xEF,0x00,0x00,}},
+ {0x8E90,2,{0xF5,0xF1,0x00,0x00,}},
+ {0x8E91,2,{0xDC,0x55,0x00,0x00,}},
+ {0x8E92,2,{0xDC,0x56,0x00,0x00,}},
+ {0x8E93,2,{0xDC,0x57,0x00,0x00,}},
+ {0x8E94,2,{0xF5,0xF0,0x00,0x00,}},
+ {0x8E95,2,{0xDC,0x58,0x00,0x00,}},
+ {0x8E96,2,{0xDC,0x59,0x00,0x00,}},
+ {0x8E97,2,{0xDC,0x5A,0x00,0x00,}},
+ {0x8E98,2,{0xDC,0x5B,0x00,0x00,}},
+ {0x8E99,2,{0xDC,0x5C,0x00,0x00,}},
+ {0x8E9A,2,{0xDC,0x5D,0x00,0x00,}},
+ {0x8E9B,2,{0xDC,0x5E,0x00,0x00,}},
+ {0x8E9C,2,{0xF5,0xF2,0x00,0x00,}},
+ {0x8E9D,2,{0xDC,0x5F,0x00,0x00,}},
+ {0x8E9E,2,{0xF5,0xF3,0x00,0x00,}},
+ {0x8E9F,2,{0xDC,0x60,0x00,0x00,}},
+ {0x8EA0,2,{0xDC,0x61,0x00,0x00,}},
+ {0x8EA1,2,{0xDC,0x62,0x00,0x00,}},
+ {0x8EA2,2,{0xDC,0x63,0x00,0x00,}},
+ {0x8EA3,2,{0xDC,0x64,0x00,0x00,}},
+ {0x8EA4,2,{0xDC,0x65,0x00,0x00,}},
+ {0x8EA5,2,{0xDC,0x66,0x00,0x00,}},
+ {0x8EA6,2,{0xDC,0x67,0x00,0x00,}},
+ {0x8EA7,2,{0xDC,0x68,0x00,0x00,}},
+ {0x8EA8,2,{0xDC,0x69,0x00,0x00,}},
+ {0x8EA9,2,{0xDC,0x6A,0x00,0x00,}},
+ {0x8EAA,2,{0xDC,0x6B,0x00,0x00,}},
+ {0x8EAB,2,{0xC9,0xED,0x00,0x00,}},
+ {0x8EAC,2,{0xB9,0xAA,0x00,0x00,}},
+ {0x8EAD,2,{0xDC,0x6C,0x00,0x00,}},
+ {0x8EAE,2,{0xDC,0x6D,0x00,0x00,}},
+ {0x8EAF,2,{0xC7,0xFB,0x00,0x00,}},
+ {0x8EB0,2,{0xDC,0x6E,0x00,0x00,}},
+ {0x8EB1,2,{0xDC,0x6F,0x00,0x00,}},
+ {0x8EB2,2,{0xB6,0xE3,0x00,0x00,}},
+ {0x8EB3,2,{0xDC,0x70,0x00,0x00,}},
+ {0x8EB4,2,{0xDC,0x71,0x00,0x00,}},
+ {0x8EB5,2,{0xDC,0x72,0x00,0x00,}},
+ {0x8EB6,2,{0xDC,0x73,0x00,0x00,}},
+ {0x8EB7,2,{0xDC,0x74,0x00,0x00,}},
+ {0x8EB8,2,{0xDC,0x75,0x00,0x00,}},
+ {0x8EB9,2,{0xDC,0x76,0x00,0x00,}},
+ {0x8EBA,2,{0xCC,0xC9,0x00,0x00,}},
+ {0x8EBB,2,{0xDC,0x77,0x00,0x00,}},
+ {0x8EBC,2,{0xDC,0x78,0x00,0x00,}},
+ {0x8EBD,2,{0xDC,0x79,0x00,0x00,}},
+ {0x8EBE,2,{0xDC,0x7A,0x00,0x00,}},
+ {0x8EBF,2,{0xDC,0x7B,0x00,0x00,}},
+ {0x8EC0,2,{0xDC,0x7C,0x00,0x00,}},
+ {0x8EC1,2,{0xDC,0x7D,0x00,0x00,}},
+ {0x8EC2,2,{0xDC,0x7E,0x00,0x00,}},
+ {0x8EC3,2,{0xDC,0x80,0x00,0x00,}},
+ {0x8EC4,2,{0xDC,0x81,0x00,0x00,}},
+ {0x8EC5,2,{0xDC,0x82,0x00,0x00,}},
+ {0x8EC6,2,{0xDC,0x83,0x00,0x00,}},
+ {0x8EC7,2,{0xDC,0x84,0x00,0x00,}},
+ {0x8EC8,2,{0xDC,0x85,0x00,0x00,}},
+ {0x8EC9,2,{0xDC,0x86,0x00,0x00,}},
+ {0x8ECA,2,{0xDC,0x87,0x00,0x00,}},
+ {0x8ECB,2,{0xDC,0x88,0x00,0x00,}},
+ {0x8ECC,2,{0xDC,0x89,0x00,0x00,}},
+ {0x8ECD,2,{0xDC,0x8A,0x00,0x00,}},
+ {0x8ECE,2,{0xEA,0xA6,0x00,0x00,}},
+ {0x8ECF,2,{0xDC,0x8B,0x00,0x00,}},
+ {0x8ED0,2,{0xDC,0x8C,0x00,0x00,}},
+ {0x8ED1,2,{0xDC,0x8D,0x00,0x00,}},
+ {0x8ED2,2,{0xDC,0x8E,0x00,0x00,}},
+ {0x8ED3,2,{0xDC,0x8F,0x00,0x00,}},
+ {0x8ED4,2,{0xDC,0x90,0x00,0x00,}},
+ {0x8ED5,2,{0xDC,0x91,0x00,0x00,}},
+ {0x8ED6,2,{0xDC,0x92,0x00,0x00,}},
+ {0x8ED7,2,{0xDC,0x93,0x00,0x00,}},
+ {0x8ED8,2,{0xDC,0x94,0x00,0x00,}},
+ {0x8ED9,2,{0xDC,0x95,0x00,0x00,}},
+ {0x8EDA,2,{0xDC,0x96,0x00,0x00,}},
+ {0x8EDB,2,{0xDC,0x97,0x00,0x00,}},
+ {0x8EDC,2,{0xDC,0x98,0x00,0x00,}},
+ {0x8EDD,2,{0xDC,0x99,0x00,0x00,}},
+ {0x8EDE,2,{0xDC,0x9A,0x00,0x00,}},
+ {0x8EDF,2,{0xDC,0x9B,0x00,0x00,}},
+ {0x8EE0,2,{0xDC,0x9C,0x00,0x00,}},
+ {0x8EE1,2,{0xDC,0x9D,0x00,0x00,}},
+ {0x8EE2,2,{0xDC,0x9E,0x00,0x00,}},
+ {0x8EE3,2,{0xDC,0x9F,0x00,0x00,}},
+ {0x8EE4,2,{0xDC,0xA0,0x00,0x00,}},
+ {0x8EE5,2,{0xDD,0x40,0x00,0x00,}},
+ {0x8EE6,2,{0xDD,0x41,0x00,0x00,}},
+ {0x8EE7,2,{0xDD,0x42,0x00,0x00,}},
+ {0x8EE8,2,{0xDD,0x43,0x00,0x00,}},
+ {0x8EE9,2,{0xDD,0x44,0x00,0x00,}},
+ {0x8EEA,2,{0xDD,0x45,0x00,0x00,}},
+ {0x8EEB,2,{0xDD,0x46,0x00,0x00,}},
+ {0x8EEC,2,{0xDD,0x47,0x00,0x00,}},
+ {0x8EED,2,{0xDD,0x48,0x00,0x00,}},
+ {0x8EEE,2,{0xDD,0x49,0x00,0x00,}},
+ {0x8EEF,2,{0xDD,0x4A,0x00,0x00,}},
+ {0x8EF0,2,{0xDD,0x4B,0x00,0x00,}},
+ {0x8EF1,2,{0xDD,0x4C,0x00,0x00,}},
+ {0x8EF2,2,{0xDD,0x4D,0x00,0x00,}},
+ {0x8EF3,2,{0xDD,0x4E,0x00,0x00,}},
+ {0x8EF4,2,{0xDD,0x4F,0x00,0x00,}},
+ {0x8EF5,2,{0xDD,0x50,0x00,0x00,}},
+ {0x8EF6,2,{0xDD,0x51,0x00,0x00,}},
+ {0x8EF7,2,{0xDD,0x52,0x00,0x00,}},
+ {0x8EF8,2,{0xDD,0x53,0x00,0x00,}},
+ {0x8EF9,2,{0xDD,0x54,0x00,0x00,}},
+ {0x8EFA,2,{0xDD,0x55,0x00,0x00,}},
+ {0x8EFB,2,{0xDD,0x56,0x00,0x00,}},
+ {0x8EFC,2,{0xDD,0x57,0x00,0x00,}},
+ {0x8EFD,2,{0xDD,0x58,0x00,0x00,}},
+ {0x8EFE,2,{0xDD,0x59,0x00,0x00,}},
+ {0x8EFF,2,{0xDD,0x5A,0x00,0x00,}},
+ {0x8F00,2,{0xDD,0x5B,0x00,0x00,}},
+ {0x8F01,2,{0xDD,0x5C,0x00,0x00,}},
+ {0x8F02,2,{0xDD,0x5D,0x00,0x00,}},
+ {0x8F03,2,{0xDD,0x5E,0x00,0x00,}},
+ {0x8F04,2,{0xDD,0x5F,0x00,0x00,}},
+ {0x8F05,2,{0xDD,0x60,0x00,0x00,}},
+ {0x8F06,2,{0xDD,0x61,0x00,0x00,}},
+ {0x8F07,2,{0xDD,0x62,0x00,0x00,}},
+ {0x8F08,2,{0xDD,0x63,0x00,0x00,}},
+ {0x8F09,2,{0xDD,0x64,0x00,0x00,}},
+ {0x8F0A,2,{0xDD,0x65,0x00,0x00,}},
+ {0x8F0B,2,{0xDD,0x66,0x00,0x00,}},
+ {0x8F0C,2,{0xDD,0x67,0x00,0x00,}},
+ {0x8F0D,2,{0xDD,0x68,0x00,0x00,}},
+ {0x8F0E,2,{0xDD,0x69,0x00,0x00,}},
+ {0x8F0F,2,{0xDD,0x6A,0x00,0x00,}},
+ {0x8F10,2,{0xDD,0x6B,0x00,0x00,}},
+ {0x8F11,2,{0xDD,0x6C,0x00,0x00,}},
+ {0x8F12,2,{0xDD,0x6D,0x00,0x00,}},
+ {0x8F13,2,{0xDD,0x6E,0x00,0x00,}},
+ {0x8F14,2,{0xDD,0x6F,0x00,0x00,}},
+ {0x8F15,2,{0xDD,0x70,0x00,0x00,}},
+ {0x8F16,2,{0xDD,0x71,0x00,0x00,}},
+ {0x8F17,2,{0xDD,0x72,0x00,0x00,}},
+ {0x8F18,2,{0xDD,0x73,0x00,0x00,}},
+ {0x8F19,2,{0xDD,0x74,0x00,0x00,}},
+ {0x8F1A,2,{0xDD,0x75,0x00,0x00,}},
+ {0x8F1B,2,{0xDD,0x76,0x00,0x00,}},
+ {0x8F1C,2,{0xDD,0x77,0x00,0x00,}},
+ {0x8F1D,2,{0xDD,0x78,0x00,0x00,}},
+ {0x8F1E,2,{0xDD,0x79,0x00,0x00,}},
+ {0x8F1F,2,{0xDD,0x7A,0x00,0x00,}},
+ {0x8F20,2,{0xDD,0x7B,0x00,0x00,}},
+ {0x8F21,2,{0xDD,0x7C,0x00,0x00,}},
+ {0x8F22,2,{0xDD,0x7D,0x00,0x00,}},
+ {0x8F23,2,{0xDD,0x7E,0x00,0x00,}},
+ {0x8F24,2,{0xDD,0x80,0x00,0x00,}},
+ {0x8F25,2,{0xDD,0x81,0x00,0x00,}},
+ {0x8F26,2,{0xDD,0x82,0x00,0x00,}},
+ {0x8F27,2,{0xDD,0x83,0x00,0x00,}},
+ {0x8F28,2,{0xDD,0x84,0x00,0x00,}},
+ {0x8F29,2,{0xDD,0x85,0x00,0x00,}},
+ {0x8F2A,2,{0xDD,0x86,0x00,0x00,}},
+ {0x8F2B,2,{0xDD,0x87,0x00,0x00,}},
+ {0x8F2C,2,{0xDD,0x88,0x00,0x00,}},
+ {0x8F2D,2,{0xDD,0x89,0x00,0x00,}},
+ {0x8F2E,2,{0xDD,0x8A,0x00,0x00,}},
+ {0x8F2F,2,{0xDD,0x8B,0x00,0x00,}},
+ {0x8F30,2,{0xDD,0x8C,0x00,0x00,}},
+ {0x8F31,2,{0xDD,0x8D,0x00,0x00,}},
+ {0x8F32,2,{0xDD,0x8E,0x00,0x00,}},
+ {0x8F33,2,{0xDD,0x8F,0x00,0x00,}},
+ {0x8F34,2,{0xDD,0x90,0x00,0x00,}},
+ {0x8F35,2,{0xDD,0x91,0x00,0x00,}},
+ {0x8F36,2,{0xDD,0x92,0x00,0x00,}},
+ {0x8F37,2,{0xDD,0x93,0x00,0x00,}},
+ {0x8F38,2,{0xDD,0x94,0x00,0x00,}},
+ {0x8F39,2,{0xDD,0x95,0x00,0x00,}},
+ {0x8F3A,2,{0xDD,0x96,0x00,0x00,}},
+ {0x8F3B,2,{0xDD,0x97,0x00,0x00,}},
+ {0x8F3C,2,{0xDD,0x98,0x00,0x00,}},
+ {0x8F3D,2,{0xDD,0x99,0x00,0x00,}},
+ {0x8F3E,2,{0xDD,0x9A,0x00,0x00,}},
+ {0x8F3F,2,{0xDD,0x9B,0x00,0x00,}},
+ {0x8F40,2,{0xDD,0x9C,0x00,0x00,}},
+ {0x8F41,2,{0xDD,0x9D,0x00,0x00,}},
+ {0x8F42,2,{0xDD,0x9E,0x00,0x00,}},
+ {0x8F43,2,{0xDD,0x9F,0x00,0x00,}},
+ {0x8F44,2,{0xDD,0xA0,0x00,0x00,}},
+ {0x8F45,2,{0xDE,0x40,0x00,0x00,}},
+ {0x8F46,2,{0xDE,0x41,0x00,0x00,}},
+ {0x8F47,2,{0xDE,0x42,0x00,0x00,}},
+ {0x8F48,2,{0xDE,0x43,0x00,0x00,}},
+ {0x8F49,2,{0xDE,0x44,0x00,0x00,}},
+ {0x8F4A,2,{0xDE,0x45,0x00,0x00,}},
+ {0x8F4B,2,{0xDE,0x46,0x00,0x00,}},
+ {0x8F4C,2,{0xDE,0x47,0x00,0x00,}},
+ {0x8F4D,2,{0xDE,0x48,0x00,0x00,}},
+ {0x8F4E,2,{0xDE,0x49,0x00,0x00,}},
+ {0x8F4F,2,{0xDE,0x4A,0x00,0x00,}},
+ {0x8F50,2,{0xDE,0x4B,0x00,0x00,}},
+ {0x8F51,2,{0xDE,0x4C,0x00,0x00,}},
+ {0x8F52,2,{0xDE,0x4D,0x00,0x00,}},
+ {0x8F53,2,{0xDE,0x4E,0x00,0x00,}},
+ {0x8F54,2,{0xDE,0x4F,0x00,0x00,}},
+ {0x8F55,2,{0xDE,0x50,0x00,0x00,}},
+ {0x8F56,2,{0xDE,0x51,0x00,0x00,}},
+ {0x8F57,2,{0xDE,0x52,0x00,0x00,}},
+ {0x8F58,2,{0xDE,0x53,0x00,0x00,}},
+ {0x8F59,2,{0xDE,0x54,0x00,0x00,}},
+ {0x8F5A,2,{0xDE,0x55,0x00,0x00,}},
+ {0x8F5B,2,{0xDE,0x56,0x00,0x00,}},
+ {0x8F5C,2,{0xDE,0x57,0x00,0x00,}},
+ {0x8F5D,2,{0xDE,0x58,0x00,0x00,}},
+ {0x8F5E,2,{0xDE,0x59,0x00,0x00,}},
+ {0x8F5F,2,{0xDE,0x5A,0x00,0x00,}},
+ {0x8F60,2,{0xDE,0x5B,0x00,0x00,}},
+ {0x8F61,2,{0xDE,0x5C,0x00,0x00,}},
+ {0x8F62,2,{0xDE,0x5D,0x00,0x00,}},
+ {0x8F63,2,{0xDE,0x5E,0x00,0x00,}},
+ {0x8F64,2,{0xDE,0x5F,0x00,0x00,}},
+ {0x8F65,2,{0xDE,0x60,0x00,0x00,}},
+ {0x8F66,2,{0xB3,0xB5,0x00,0x00,}},
+ {0x8F67,2,{0xD4,0xFE,0x00,0x00,}},
+ {0x8F68,2,{0xB9,0xEC,0x00,0x00,}},
+ {0x8F69,2,{0xD0,0xF9,0x00,0x00,}},
+ {0x8F6A,2,{0xDE,0x61,0x00,0x00,}},
+ {0x8F6B,2,{0xE9,0xED,0x00,0x00,}},
+ {0x8F6C,2,{0xD7,0xAA,0x00,0x00,}},
+ {0x8F6D,2,{0xE9,0xEE,0x00,0x00,}},
+ {0x8F6E,2,{0xC2,0xD6,0x00,0x00,}},
+ {0x8F6F,2,{0xC8,0xED,0x00,0x00,}},
+ {0x8F70,2,{0xBA,0xE4,0x00,0x00,}},
+ {0x8F71,2,{0xE9,0xEF,0x00,0x00,}},
+ {0x8F72,2,{0xE9,0xF0,0x00,0x00,}},
+ {0x8F73,2,{0xE9,0xF1,0x00,0x00,}},
+ {0x8F74,2,{0xD6,0xE1,0x00,0x00,}},
+ {0x8F75,2,{0xE9,0xF2,0x00,0x00,}},
+ {0x8F76,2,{0xE9,0xF3,0x00,0x00,}},
+ {0x8F77,2,{0xE9,0xF5,0x00,0x00,}},
+ {0x8F78,2,{0xE9,0xF4,0x00,0x00,}},
+ {0x8F79,2,{0xE9,0xF6,0x00,0x00,}},
+ {0x8F7A,2,{0xE9,0xF7,0x00,0x00,}},
+ {0x8F7B,2,{0xC7,0xE1,0x00,0x00,}},
+ {0x8F7C,2,{0xE9,0xF8,0x00,0x00,}},
+ {0x8F7D,2,{0xD4,0xD8,0x00,0x00,}},
+ {0x8F7E,2,{0xE9,0xF9,0x00,0x00,}},
+ {0x8F7F,2,{0xBD,0xCE,0x00,0x00,}},
+ {0x8F80,2,{0xDE,0x62,0x00,0x00,}},
+ {0x8F81,2,{0xE9,0xFA,0x00,0x00,}},
+ {0x8F82,2,{0xE9,0xFB,0x00,0x00,}},
+ {0x8F83,2,{0xBD,0xCF,0x00,0x00,}},
+ {0x8F84,2,{0xE9,0xFC,0x00,0x00,}},
+ {0x8F85,2,{0xB8,0xA8,0x00,0x00,}},
+ {0x8F86,2,{0xC1,0xBE,0x00,0x00,}},
+ {0x8F87,2,{0xE9,0xFD,0x00,0x00,}},
+ {0x8F88,2,{0xB1,0xB2,0x00,0x00,}},
+ {0x8F89,2,{0xBB,0xD4,0x00,0x00,}},
+ {0x8F8A,2,{0xB9,0xF5,0x00,0x00,}},
+ {0x8F8B,2,{0xE9,0xFE,0x00,0x00,}},
+ {0x8F8C,2,{0xDE,0x63,0x00,0x00,}},
+ {0x8F8D,2,{0xEA,0xA1,0x00,0x00,}},
+ {0x8F8E,2,{0xEA,0xA2,0x00,0x00,}},
+ {0x8F8F,2,{0xEA,0xA3,0x00,0x00,}},
+ {0x8F90,2,{0xB7,0xF8,0x00,0x00,}},
+ {0x8F91,2,{0xBC,0xAD,0x00,0x00,}},
+ {0x8F92,2,{0xDE,0x64,0x00,0x00,}},
+ {0x8F93,2,{0xCA,0xE4,0x00,0x00,}},
+ {0x8F94,2,{0xE0,0xCE,0x00,0x00,}},
+ {0x8F95,2,{0xD4,0xAF,0x00,0x00,}},
+ {0x8F96,2,{0xCF,0xBD,0x00,0x00,}},
+ {0x8F97,2,{0xD5,0xB7,0x00,0x00,}},
+ {0x8F98,2,{0xEA,0xA4,0x00,0x00,}},
+ {0x8F99,2,{0xD5,0xDE,0x00,0x00,}},
+ {0x8F9A,2,{0xEA,0xA5,0x00,0x00,}},
+ {0x8F9B,2,{0xD0,0xC1,0x00,0x00,}},
+ {0x8F9C,2,{0xB9,0xBC,0x00,0x00,}},
+ {0x8F9D,2,{0xDE,0x65,0x00,0x00,}},
+ {0x8F9E,2,{0xB4,0xC7,0x00,0x00,}},
+ {0x8F9F,2,{0xB1,0xD9,0x00,0x00,}},
+ {0x8FA0,2,{0xDE,0x66,0x00,0x00,}},
+ {0x8FA1,2,{0xDE,0x67,0x00,0x00,}},
+ {0x8FA2,2,{0xDE,0x68,0x00,0x00,}},
+ {0x8FA3,2,{0xC0,0xB1,0x00,0x00,}},
+ {0x8FA4,2,{0xDE,0x69,0x00,0x00,}},
+ {0x8FA5,2,{0xDE,0x6A,0x00,0x00,}},
+ {0x8FA6,2,{0xDE,0x6B,0x00,0x00,}},
+ {0x8FA7,2,{0xDE,0x6C,0x00,0x00,}},
+ {0x8FA8,2,{0xB1,0xE6,0x00,0x00,}},
+ {0x8FA9,2,{0xB1,0xE7,0x00,0x00,}},
+ {0x8FAA,2,{0xDE,0x6D,0x00,0x00,}},
+ {0x8FAB,2,{0xB1,0xE8,0x00,0x00,}},
+ {0x8FAC,2,{0xDE,0x6E,0x00,0x00,}},
+ {0x8FAD,2,{0xDE,0x6F,0x00,0x00,}},
+ {0x8FAE,2,{0xDE,0x70,0x00,0x00,}},
+ {0x8FAF,2,{0xDE,0x71,0x00,0x00,}},
+ {0x8FB0,2,{0xB3,0xBD,0x00,0x00,}},
+ {0x8FB1,2,{0xC8,0xE8,0x00,0x00,}},
+ {0x8FB2,2,{0xDE,0x72,0x00,0x00,}},
+ {0x8FB3,2,{0xDE,0x73,0x00,0x00,}},
+ {0x8FB4,2,{0xDE,0x74,0x00,0x00,}},
+ {0x8FB5,2,{0xDE,0x75,0x00,0x00,}},
+ {0x8FB6,2,{0xE5,0xC1,0x00,0x00,}},
+ {0x8FB7,2,{0xDE,0x76,0x00,0x00,}},
+ {0x8FB8,2,{0xDE,0x77,0x00,0x00,}},
+ {0x8FB9,2,{0xB1,0xDF,0x00,0x00,}},
+ {0x8FBA,2,{0xDE,0x78,0x00,0x00,}},
+ {0x8FBB,2,{0xDE,0x79,0x00,0x00,}},
+ {0x8FBC,2,{0xDE,0x7A,0x00,0x00,}},
+ {0x8FBD,2,{0xC1,0xC9,0x00,0x00,}},
+ {0x8FBE,2,{0xB4,0xEF,0x00,0x00,}},
+ {0x8FBF,2,{0xDE,0x7B,0x00,0x00,}},
+ {0x8FC0,2,{0xDE,0x7C,0x00,0x00,}},
+ {0x8FC1,2,{0xC7,0xA8,0x00,0x00,}},
+ {0x8FC2,2,{0xD3,0xD8,0x00,0x00,}},
+ {0x8FC3,2,{0xDE,0x7D,0x00,0x00,}},
+ {0x8FC4,2,{0xC6,0xF9,0x00,0x00,}},
+ {0x8FC5,2,{0xD1,0xB8,0x00,0x00,}},
+ {0x8FC6,2,{0xDE,0x7E,0x00,0x00,}},
+ {0x8FC7,2,{0xB9,0xFD,0x00,0x00,}},
+ {0x8FC8,2,{0xC2,0xF5,0x00,0x00,}},
+ {0x8FC9,2,{0xDE,0x80,0x00,0x00,}},
+ {0x8FCA,2,{0xDE,0x81,0x00,0x00,}},
+ {0x8FCB,2,{0xDE,0x82,0x00,0x00,}},
+ {0x8FCC,2,{0xDE,0x83,0x00,0x00,}},
+ {0x8FCD,2,{0xDE,0x84,0x00,0x00,}},
+ {0x8FCE,2,{0xD3,0xAD,0x00,0x00,}},
+ {0x8FCF,2,{0xDE,0x85,0x00,0x00,}},
+ {0x8FD0,2,{0xD4,0xCB,0x00,0x00,}},
+ {0x8FD1,2,{0xBD,0xFC,0x00,0x00,}},
+ {0x8FD2,2,{0xDE,0x86,0x00,0x00,}},
+ {0x8FD3,2,{0xE5,0xC2,0x00,0x00,}},
+ {0x8FD4,2,{0xB7,0xB5,0x00,0x00,}},
+ {0x8FD5,2,{0xE5,0xC3,0x00,0x00,}},
+ {0x8FD6,2,{0xDE,0x87,0x00,0x00,}},
+ {0x8FD7,2,{0xDE,0x88,0x00,0x00,}},
+ {0x8FD8,2,{0xBB,0xB9,0x00,0x00,}},
+ {0x8FD9,2,{0xD5,0xE2,0x00,0x00,}},
+ {0x8FDA,2,{0xDE,0x89,0x00,0x00,}},
+ {0x8FDB,2,{0xBD,0xF8,0x00,0x00,}},
+ {0x8FDC,2,{0xD4,0xB6,0x00,0x00,}},
+ {0x8FDD,2,{0xCE,0xA5,0x00,0x00,}},
+ {0x8FDE,2,{0xC1,0xAC,0x00,0x00,}},
+ {0x8FDF,2,{0xB3,0xD9,0x00,0x00,}},
+ {0x8FE0,2,{0xDE,0x8A,0x00,0x00,}},
+ {0x8FE1,2,{0xDE,0x8B,0x00,0x00,}},
+ {0x8FE2,2,{0xCC,0xF6,0x00,0x00,}},
+ {0x8FE3,2,{0xDE,0x8C,0x00,0x00,}},
+ {0x8FE4,2,{0xE5,0xC6,0x00,0x00,}},
+ {0x8FE5,2,{0xE5,0xC4,0x00,0x00,}},
+ {0x8FE6,2,{0xE5,0xC8,0x00,0x00,}},
+ {0x8FE7,2,{0xDE,0x8D,0x00,0x00,}},
+ {0x8FE8,2,{0xE5,0xCA,0x00,0x00,}},
+ {0x8FE9,2,{0xE5,0xC7,0x00,0x00,}},
+ {0x8FEA,2,{0xB5,0xCF,0x00,0x00,}},
+ {0x8FEB,2,{0xC6,0xC8,0x00,0x00,}},
+ {0x8FEC,2,{0xDE,0x8E,0x00,0x00,}},
+ {0x8FED,2,{0xB5,0xFC,0x00,0x00,}},
+ {0x8FEE,2,{0xE5,0xC5,0x00,0x00,}},
+ {0x8FEF,2,{0xDE,0x8F,0x00,0x00,}},
+ {0x8FF0,2,{0xCA,0xF6,0x00,0x00,}},
+ {0x8FF1,2,{0xDE,0x90,0x00,0x00,}},
+ {0x8FF2,2,{0xDE,0x91,0x00,0x00,}},
+ {0x8FF3,2,{0xE5,0xC9,0x00,0x00,}},
+ {0x8FF4,2,{0xDE,0x92,0x00,0x00,}},
+ {0x8FF5,2,{0xDE,0x93,0x00,0x00,}},
+ {0x8FF6,2,{0xDE,0x94,0x00,0x00,}},
+ {0x8FF7,2,{0xC3,0xD4,0x00,0x00,}},
+ {0x8FF8,2,{0xB1,0xC5,0x00,0x00,}},
+ {0x8FF9,2,{0xBC,0xA3,0x00,0x00,}},
+ {0x8FFA,2,{0xDE,0x95,0x00,0x00,}},
+ {0x8FFB,2,{0xDE,0x96,0x00,0x00,}},
+ {0x8FFC,2,{0xDE,0x97,0x00,0x00,}},
+ {0x8FFD,2,{0xD7,0xB7,0x00,0x00,}},
+ {0x8FFE,2,{0xDE,0x98,0x00,0x00,}},
+ {0x8FFF,2,{0xDE,0x99,0x00,0x00,}},
+ {0x9000,2,{0xCD,0xCB,0x00,0x00,}},
+ {0x9001,2,{0xCB,0xCD,0x00,0x00,}},
+ {0x9002,2,{0xCA,0xCA,0x00,0x00,}},
+ {0x9003,2,{0xCC,0xD3,0x00,0x00,}},
+ {0x9004,2,{0xE5,0xCC,0x00,0x00,}},
+ {0x9005,2,{0xE5,0xCB,0x00,0x00,}},
+ {0x9006,2,{0xC4,0xE6,0x00,0x00,}},
+ {0x9007,2,{0xDE,0x9A,0x00,0x00,}},
+ {0x9008,2,{0xDE,0x9B,0x00,0x00,}},
+ {0x9009,2,{0xD1,0xA1,0x00,0x00,}},
+ {0x900A,2,{0xD1,0xB7,0x00,0x00,}},
+ {0x900B,2,{0xE5,0xCD,0x00,0x00,}},
+ {0x900C,2,{0xDE,0x9C,0x00,0x00,}},
+ {0x900D,2,{0xE5,0xD0,0x00,0x00,}},
+ {0x900E,2,{0xDE,0x9D,0x00,0x00,}},
+ {0x900F,2,{0xCD,0xB8,0x00,0x00,}},
+ {0x9010,2,{0xD6,0xF0,0x00,0x00,}},
+ {0x9011,2,{0xE5,0xCF,0x00,0x00,}},
+ {0x9012,2,{0xB5,0xDD,0x00,0x00,}},
+ {0x9013,2,{0xDE,0x9E,0x00,0x00,}},
+ {0x9014,2,{0xCD,0xBE,0x00,0x00,}},
+ {0x9015,2,{0xDE,0x9F,0x00,0x00,}},
+ {0x9016,2,{0xE5,0xD1,0x00,0x00,}},
+ {0x9017,2,{0xB6,0xBA,0x00,0x00,}},
+ {0x9018,2,{0xDE,0xA0,0x00,0x00,}},
+ {0x9019,2,{0xDF,0x40,0x00,0x00,}},
+ {0x901A,2,{0xCD,0xA8,0x00,0x00,}},
+ {0x901B,2,{0xB9,0xE4,0x00,0x00,}},
+ {0x901C,2,{0xDF,0x41,0x00,0x00,}},
+ {0x901D,2,{0xCA,0xC5,0x00,0x00,}},
+ {0x901E,2,{0xB3,0xD1,0x00,0x00,}},
+ {0x901F,2,{0xCB,0xD9,0x00,0x00,}},
+ {0x9020,2,{0xD4,0xEC,0x00,0x00,}},
+ {0x9021,2,{0xE5,0xD2,0x00,0x00,}},
+ {0x9022,2,{0xB7,0xEA,0x00,0x00,}},
+ {0x9023,2,{0xDF,0x42,0x00,0x00,}},
+ {0x9024,2,{0xDF,0x43,0x00,0x00,}},
+ {0x9025,2,{0xDF,0x44,0x00,0x00,}},
+ {0x9026,2,{0xE5,0xCE,0x00,0x00,}},
+ {0x9027,2,{0xDF,0x45,0x00,0x00,}},
+ {0x9028,2,{0xDF,0x46,0x00,0x00,}},
+ {0x9029,2,{0xDF,0x47,0x00,0x00,}},
+ {0x902A,2,{0xDF,0x48,0x00,0x00,}},
+ {0x902B,2,{0xDF,0x49,0x00,0x00,}},
+ {0x902C,2,{0xDF,0x4A,0x00,0x00,}},
+ {0x902D,2,{0xE5,0xD5,0x00,0x00,}},
+ {0x902E,2,{0xB4,0xFE,0x00,0x00,}},
+ {0x902F,2,{0xE5,0xD6,0x00,0x00,}},
+ {0x9030,2,{0xDF,0x4B,0x00,0x00,}},
+ {0x9031,2,{0xDF,0x4C,0x00,0x00,}},
+ {0x9032,2,{0xDF,0x4D,0x00,0x00,}},
+ {0x9033,2,{0xDF,0x4E,0x00,0x00,}},
+ {0x9034,2,{0xDF,0x4F,0x00,0x00,}},
+ {0x9035,2,{0xE5,0xD3,0x00,0x00,}},
+ {0x9036,2,{0xE5,0xD4,0x00,0x00,}},
+ {0x9037,2,{0xDF,0x50,0x00,0x00,}},
+ {0x9038,2,{0xD2,0xDD,0x00,0x00,}},
+ {0x9039,2,{0xDF,0x51,0x00,0x00,}},
+ {0x903A,2,{0xDF,0x52,0x00,0x00,}},
+ {0x903B,2,{0xC2,0xDF,0x00,0x00,}},
+ {0x903C,2,{0xB1,0xC6,0x00,0x00,}},
+ {0x903D,2,{0xDF,0x53,0x00,0x00,}},
+ {0x903E,2,{0xD3,0xE2,0x00,0x00,}},
+ {0x903F,2,{0xDF,0x54,0x00,0x00,}},
+ {0x9040,2,{0xDF,0x55,0x00,0x00,}},
+ {0x9041,2,{0xB6,0xDD,0x00,0x00,}},
+ {0x9042,2,{0xCB,0xEC,0x00,0x00,}},
+ {0x9043,2,{0xDF,0x56,0x00,0x00,}},
+ {0x9044,2,{0xE5,0xD7,0x00,0x00,}},
+ {0x9045,2,{0xDF,0x57,0x00,0x00,}},
+ {0x9046,2,{0xDF,0x58,0x00,0x00,}},
+ {0x9047,2,{0xD3,0xF6,0x00,0x00,}},
+ {0x9048,2,{0xDF,0x59,0x00,0x00,}},
+ {0x9049,2,{0xDF,0x5A,0x00,0x00,}},
+ {0x904A,2,{0xDF,0x5B,0x00,0x00,}},
+ {0x904B,2,{0xDF,0x5C,0x00,0x00,}},
+ {0x904C,2,{0xDF,0x5D,0x00,0x00,}},
+ {0x904D,2,{0xB1,0xE9,0x00,0x00,}},
+ {0x904E,2,{0xDF,0x5E,0x00,0x00,}},
+ {0x904F,2,{0xB6,0xF4,0x00,0x00,}},
+ {0x9050,2,{0xE5,0xDA,0x00,0x00,}},
+ {0x9051,2,{0xE5,0xD8,0x00,0x00,}},
+ {0x9052,2,{0xE5,0xD9,0x00,0x00,}},
+ {0x9053,2,{0xB5,0xC0,0x00,0x00,}},
+ {0x9054,2,{0xDF,0x5F,0x00,0x00,}},
+ {0x9055,2,{0xDF,0x60,0x00,0x00,}},
+ {0x9056,2,{0xDF,0x61,0x00,0x00,}},
+ {0x9057,2,{0xD2,0xC5,0x00,0x00,}},
+ {0x9058,2,{0xE5,0xDC,0x00,0x00,}},
+ {0x9059,2,{0xDF,0x62,0x00,0x00,}},
+ {0x905A,2,{0xDF,0x63,0x00,0x00,}},
+ {0x905B,2,{0xE5,0xDE,0x00,0x00,}},
+ {0x905C,2,{0xDF,0x64,0x00,0x00,}},
+ {0x905D,2,{0xDF,0x65,0x00,0x00,}},
+ {0x905E,2,{0xDF,0x66,0x00,0x00,}},
+ {0x905F,2,{0xDF,0x67,0x00,0x00,}},
+ {0x9060,2,{0xDF,0x68,0x00,0x00,}},
+ {0x9061,2,{0xDF,0x69,0x00,0x00,}},
+ {0x9062,2,{0xE5,0xDD,0x00,0x00,}},
+ {0x9063,2,{0xC7,0xB2,0x00,0x00,}},
+ {0x9064,2,{0xDF,0x6A,0x00,0x00,}},
+ {0x9065,2,{0xD2,0xA3,0x00,0x00,}},
+ {0x9066,2,{0xDF,0x6B,0x00,0x00,}},
+ {0x9067,2,{0xDF,0x6C,0x00,0x00,}},
+ {0x9068,2,{0xE5,0xDB,0x00,0x00,}},
+ {0x9069,2,{0xDF,0x6D,0x00,0x00,}},
+ {0x906A,2,{0xDF,0x6E,0x00,0x00,}},
+ {0x906B,2,{0xDF,0x6F,0x00,0x00,}},
+ {0x906C,2,{0xDF,0x70,0x00,0x00,}},
+ {0x906D,2,{0xD4,0xE2,0x00,0x00,}},
+ {0x906E,2,{0xD5,0xDA,0x00,0x00,}},
+ {0x906F,2,{0xDF,0x71,0x00,0x00,}},
+ {0x9070,2,{0xDF,0x72,0x00,0x00,}},
+ {0x9071,2,{0xDF,0x73,0x00,0x00,}},
+ {0x9072,2,{0xDF,0x74,0x00,0x00,}},
+ {0x9073,2,{0xDF,0x75,0x00,0x00,}},
+ {0x9074,2,{0xE5,0xE0,0x00,0x00,}},
+ {0x9075,2,{0xD7,0xF1,0x00,0x00,}},
+ {0x9076,2,{0xDF,0x76,0x00,0x00,}},
+ {0x9077,2,{0xDF,0x77,0x00,0x00,}},
+ {0x9078,2,{0xDF,0x78,0x00,0x00,}},
+ {0x9079,2,{0xDF,0x79,0x00,0x00,}},
+ {0x907A,2,{0xDF,0x7A,0x00,0x00,}},
+ {0x907B,2,{0xDF,0x7B,0x00,0x00,}},
+ {0x907C,2,{0xDF,0x7C,0x00,0x00,}},
+ {0x907D,2,{0xE5,0xE1,0x00,0x00,}},
+ {0x907E,2,{0xDF,0x7D,0x00,0x00,}},
+ {0x907F,2,{0xB1,0xDC,0x00,0x00,}},
+ {0x9080,2,{0xD1,0xFB,0x00,0x00,}},
+ {0x9081,2,{0xDF,0x7E,0x00,0x00,}},
+ {0x9082,2,{0xE5,0xE2,0x00,0x00,}},
+ {0x9083,2,{0xE5,0xE4,0x00,0x00,}},
+ {0x9084,2,{0xDF,0x80,0x00,0x00,}},
+ {0x9085,2,{0xDF,0x81,0x00,0x00,}},
+ {0x9086,2,{0xDF,0x82,0x00,0x00,}},
+ {0x9087,2,{0xDF,0x83,0x00,0x00,}},
+ {0x9088,2,{0xE5,0xE3,0x00,0x00,}},
+ {0x9089,2,{0xDF,0x84,0x00,0x00,}},
+ {0x908A,2,{0xDF,0x85,0x00,0x00,}},
+ {0x908B,2,{0xE5,0xE5,0x00,0x00,}},
+ {0x908C,2,{0xDF,0x86,0x00,0x00,}},
+ {0x908D,2,{0xDF,0x87,0x00,0x00,}},
+ {0x908E,2,{0xDF,0x88,0x00,0x00,}},
+ {0x908F,2,{0xDF,0x89,0x00,0x00,}},
+ {0x9090,2,{0xDF,0x8A,0x00,0x00,}},
+ {0x9091,2,{0xD2,0xD8,0x00,0x00,}},
+ {0x9092,2,{0xDF,0x8B,0x00,0x00,}},
+ {0x9093,2,{0xB5,0xCB,0x00,0x00,}},
+ {0x9094,2,{0xDF,0x8C,0x00,0x00,}},
+ {0x9095,2,{0xE7,0xDF,0x00,0x00,}},
+ {0x9096,2,{0xDF,0x8D,0x00,0x00,}},
+ {0x9097,2,{0xDA,0xF5,0x00,0x00,}},
+ {0x9098,2,{0xDF,0x8E,0x00,0x00,}},
+ {0x9099,2,{0xDA,0xF8,0x00,0x00,}},
+ {0x909A,2,{0xDF,0x8F,0x00,0x00,}},
+ {0x909B,2,{0xDA,0xF6,0x00,0x00,}},
+ {0x909C,2,{0xDF,0x90,0x00,0x00,}},
+ {0x909D,2,{0xDA,0xF7,0x00,0x00,}},
+ {0x909E,2,{0xDF,0x91,0x00,0x00,}},
+ {0x909F,2,{0xDF,0x92,0x00,0x00,}},
+ {0x90A0,2,{0xDF,0x93,0x00,0x00,}},
+ {0x90A1,2,{0xDA,0xFA,0x00,0x00,}},
+ {0x90A2,2,{0xD0,0xCF,0x00,0x00,}},
+ {0x90A3,2,{0xC4,0xC7,0x00,0x00,}},
+ {0x90A4,2,{0xDF,0x94,0x00,0x00,}},
+ {0x90A5,2,{0xDF,0x95,0x00,0x00,}},
+ {0x90A6,2,{0xB0,0xEE,0x00,0x00,}},
+ {0x90A7,2,{0xDF,0x96,0x00,0x00,}},
+ {0x90A8,2,{0xDF,0x97,0x00,0x00,}},
+ {0x90A9,2,{0xDF,0x98,0x00,0x00,}},
+ {0x90AA,2,{0xD0,0xB0,0x00,0x00,}},
+ {0x90AB,2,{0xDF,0x99,0x00,0x00,}},
+ {0x90AC,2,{0xDA,0xF9,0x00,0x00,}},
+ {0x90AD,2,{0xDF,0x9A,0x00,0x00,}},
+ {0x90AE,2,{0xD3,0xCA,0x00,0x00,}},
+ {0x90AF,2,{0xBA,0xAA,0x00,0x00,}},
+ {0x90B0,2,{0xDB,0xA2,0x00,0x00,}},
+ {0x90B1,2,{0xC7,0xF1,0x00,0x00,}},
+ {0x90B2,2,{0xDF,0x9B,0x00,0x00,}},
+ {0x90B3,2,{0xDA,0xFC,0x00,0x00,}},
+ {0x90B4,2,{0xDA,0xFB,0x00,0x00,}},
+ {0x90B5,2,{0xC9,0xDB,0x00,0x00,}},
+ {0x90B6,2,{0xDA,0xFD,0x00,0x00,}},
+ {0x90B7,2,{0xDF,0x9C,0x00,0x00,}},
+ {0x90B8,2,{0xDB,0xA1,0x00,0x00,}},
+ {0x90B9,2,{0xD7,0xDE,0x00,0x00,}},
+ {0x90BA,2,{0xDA,0xFE,0x00,0x00,}},
+ {0x90BB,2,{0xC1,0xDA,0x00,0x00,}},
+ {0x90BC,2,{0xDF,0x9D,0x00,0x00,}},
+ {0x90BD,2,{0xDF,0x9E,0x00,0x00,}},
+ {0x90BE,2,{0xDB,0xA5,0x00,0x00,}},
+ {0x90BF,2,{0xDF,0x9F,0x00,0x00,}},
+ {0x90C0,2,{0xDF,0xA0,0x00,0x00,}},
+ {0x90C1,2,{0xD3,0xF4,0x00,0x00,}},
+ {0x90C2,2,{0xE0,0x40,0x00,0x00,}},
+ {0x90C3,2,{0xE0,0x41,0x00,0x00,}},
+ {0x90C4,2,{0xDB,0xA7,0x00,0x00,}},
+ {0x90C5,2,{0xDB,0xA4,0x00,0x00,}},
+ {0x90C6,2,{0xE0,0x42,0x00,0x00,}},
+ {0x90C7,2,{0xDB,0xA8,0x00,0x00,}},
+ {0x90C8,2,{0xE0,0x43,0x00,0x00,}},
+ {0x90C9,2,{0xE0,0x44,0x00,0x00,}},
+ {0x90CA,2,{0xBD,0xBC,0x00,0x00,}},
+ {0x90CB,2,{0xE0,0x45,0x00,0x00,}},
+ {0x90CC,2,{0xE0,0x46,0x00,0x00,}},
+ {0x90CD,2,{0xE0,0x47,0x00,0x00,}},
+ {0x90CE,2,{0xC0,0xC9,0x00,0x00,}},
+ {0x90CF,2,{0xDB,0xA3,0x00,0x00,}},
+ {0x90D0,2,{0xDB,0xA6,0x00,0x00,}},
+ {0x90D1,2,{0xD6,0xA3,0x00,0x00,}},
+ {0x90D2,2,{0xE0,0x48,0x00,0x00,}},
+ {0x90D3,2,{0xDB,0xA9,0x00,0x00,}},
+ {0x90D4,2,{0xE0,0x49,0x00,0x00,}},
+ {0x90D5,2,{0xE0,0x4A,0x00,0x00,}},
+ {0x90D6,2,{0xE0,0x4B,0x00,0x00,}},
+ {0x90D7,2,{0xDB,0xAD,0x00,0x00,}},
+ {0x90D8,2,{0xE0,0x4C,0x00,0x00,}},
+ {0x90D9,2,{0xE0,0x4D,0x00,0x00,}},
+ {0x90DA,2,{0xE0,0x4E,0x00,0x00,}},
+ {0x90DB,2,{0xDB,0xAE,0x00,0x00,}},
+ {0x90DC,2,{0xDB,0xAC,0x00,0x00,}},
+ {0x90DD,2,{0xBA,0xC2,0x00,0x00,}},
+ {0x90DE,2,{0xE0,0x4F,0x00,0x00,}},
+ {0x90DF,2,{0xE0,0x50,0x00,0x00,}},
+ {0x90E0,2,{0xE0,0x51,0x00,0x00,}},
+ {0x90E1,2,{0xBF,0xA4,0x00,0x00,}},
+ {0x90E2,2,{0xDB,0xAB,0x00,0x00,}},
+ {0x90E3,2,{0xE0,0x52,0x00,0x00,}},
+ {0x90E4,2,{0xE0,0x53,0x00,0x00,}},
+ {0x90E5,2,{0xE0,0x54,0x00,0x00,}},
+ {0x90E6,2,{0xDB,0xAA,0x00,0x00,}},
+ {0x90E7,2,{0xD4,0xC7,0x00,0x00,}},
+ {0x90E8,2,{0xB2,0xBF,0x00,0x00,}},
+ {0x90E9,2,{0xE0,0x55,0x00,0x00,}},
+ {0x90EA,2,{0xE0,0x56,0x00,0x00,}},
+ {0x90EB,2,{0xDB,0xAF,0x00,0x00,}},
+ {0x90EC,2,{0xE0,0x57,0x00,0x00,}},
+ {0x90ED,2,{0xB9,0xF9,0x00,0x00,}},
+ {0x90EE,2,{0xE0,0x58,0x00,0x00,}},
+ {0x90EF,2,{0xDB,0xB0,0x00,0x00,}},
+ {0x90F0,2,{0xE0,0x59,0x00,0x00,}},
+ {0x90F1,2,{0xE0,0x5A,0x00,0x00,}},
+ {0x90F2,2,{0xE0,0x5B,0x00,0x00,}},
+ {0x90F3,2,{0xE0,0x5C,0x00,0x00,}},
+ {0x90F4,2,{0xB3,0xBB,0x00,0x00,}},
+ {0x90F5,2,{0xE0,0x5D,0x00,0x00,}},
+ {0x90F6,2,{0xE0,0x5E,0x00,0x00,}},
+ {0x90F7,2,{0xE0,0x5F,0x00,0x00,}},
+ {0x90F8,2,{0xB5,0xA6,0x00,0x00,}},
+ {0x90F9,2,{0xE0,0x60,0x00,0x00,}},
+ {0x90FA,2,{0xE0,0x61,0x00,0x00,}},
+ {0x90FB,2,{0xE0,0x62,0x00,0x00,}},
+ {0x90FC,2,{0xE0,0x63,0x00,0x00,}},
+ {0x90FD,2,{0xB6,0xBC,0x00,0x00,}},
+ {0x90FE,2,{0xDB,0xB1,0x00,0x00,}},
+ {0x90FF,2,{0xE0,0x64,0x00,0x00,}},
+ {0x9100,2,{0xE0,0x65,0x00,0x00,}},
+ {0x9101,2,{0xE0,0x66,0x00,0x00,}},
+ {0x9102,2,{0xB6,0xF5,0x00,0x00,}},
+ {0x9103,2,{0xE0,0x67,0x00,0x00,}},
+ {0x9104,2,{0xDB,0xB2,0x00,0x00,}},
+ {0x9105,2,{0xE0,0x68,0x00,0x00,}},
+ {0x9106,2,{0xE0,0x69,0x00,0x00,}},
+ {0x9107,2,{0xE0,0x6A,0x00,0x00,}},
+ {0x9108,2,{0xE0,0x6B,0x00,0x00,}},
+ {0x9109,2,{0xE0,0x6C,0x00,0x00,}},
+ {0x910A,2,{0xE0,0x6D,0x00,0x00,}},
+ {0x910B,2,{0xE0,0x6E,0x00,0x00,}},
+ {0x910C,2,{0xE0,0x6F,0x00,0x00,}},
+ {0x910D,2,{0xE0,0x70,0x00,0x00,}},
+ {0x910E,2,{0xE0,0x71,0x00,0x00,}},
+ {0x910F,2,{0xE0,0x72,0x00,0x00,}},
+ {0x9110,2,{0xE0,0x73,0x00,0x00,}},
+ {0x9111,2,{0xE0,0x74,0x00,0x00,}},
+ {0x9112,2,{0xE0,0x75,0x00,0x00,}},
+ {0x9113,2,{0xE0,0x76,0x00,0x00,}},
+ {0x9114,2,{0xE0,0x77,0x00,0x00,}},
+ {0x9115,2,{0xE0,0x78,0x00,0x00,}},
+ {0x9116,2,{0xE0,0x79,0x00,0x00,}},
+ {0x9117,2,{0xE0,0x7A,0x00,0x00,}},
+ {0x9118,2,{0xE0,0x7B,0x00,0x00,}},
+ {0x9119,2,{0xB1,0xC9,0x00,0x00,}},
+ {0x911A,2,{0xE0,0x7C,0x00,0x00,}},
+ {0x911B,2,{0xE0,0x7D,0x00,0x00,}},
+ {0x911C,2,{0xE0,0x7E,0x00,0x00,}},
+ {0x911D,2,{0xE0,0x80,0x00,0x00,}},
+ {0x911E,2,{0xDB,0xB4,0x00,0x00,}},
+ {0x911F,2,{0xE0,0x81,0x00,0x00,}},
+ {0x9120,2,{0xE0,0x82,0x00,0x00,}},
+ {0x9121,2,{0xE0,0x83,0x00,0x00,}},
+ {0x9122,2,{0xDB,0xB3,0x00,0x00,}},
+ {0x9123,2,{0xDB,0xB5,0x00,0x00,}},
+ {0x9124,2,{0xE0,0x84,0x00,0x00,}},
+ {0x9125,2,{0xE0,0x85,0x00,0x00,}},
+ {0x9126,2,{0xE0,0x86,0x00,0x00,}},
+ {0x9127,2,{0xE0,0x87,0x00,0x00,}},
+ {0x9128,2,{0xE0,0x88,0x00,0x00,}},
+ {0x9129,2,{0xE0,0x89,0x00,0x00,}},
+ {0x912A,2,{0xE0,0x8A,0x00,0x00,}},
+ {0x912B,2,{0xE0,0x8B,0x00,0x00,}},
+ {0x912C,2,{0xE0,0x8C,0x00,0x00,}},
+ {0x912D,2,{0xE0,0x8D,0x00,0x00,}},
+ {0x912E,2,{0xE0,0x8E,0x00,0x00,}},
+ {0x912F,2,{0xDB,0xB7,0x00,0x00,}},
+ {0x9130,2,{0xE0,0x8F,0x00,0x00,}},
+ {0x9131,2,{0xDB,0xB6,0x00,0x00,}},
+ {0x9132,2,{0xE0,0x90,0x00,0x00,}},
+ {0x9133,2,{0xE0,0x91,0x00,0x00,}},
+ {0x9134,2,{0xE0,0x92,0x00,0x00,}},
+ {0x9135,2,{0xE0,0x93,0x00,0x00,}},
+ {0x9136,2,{0xE0,0x94,0x00,0x00,}},
+ {0x9137,2,{0xE0,0x95,0x00,0x00,}},
+ {0x9138,2,{0xE0,0x96,0x00,0x00,}},
+ {0x9139,2,{0xDB,0xB8,0x00,0x00,}},
+ {0x913A,2,{0xE0,0x97,0x00,0x00,}},
+ {0x913B,2,{0xE0,0x98,0x00,0x00,}},
+ {0x913C,2,{0xE0,0x99,0x00,0x00,}},
+ {0x913D,2,{0xE0,0x9A,0x00,0x00,}},
+ {0x913E,2,{0xE0,0x9B,0x00,0x00,}},
+ {0x913F,2,{0xE0,0x9C,0x00,0x00,}},
+ {0x9140,2,{0xE0,0x9D,0x00,0x00,}},
+ {0x9141,2,{0xE0,0x9E,0x00,0x00,}},
+ {0x9142,2,{0xE0,0x9F,0x00,0x00,}},
+ {0x9143,2,{0xDB,0xB9,0x00,0x00,}},
+ {0x9144,2,{0xE0,0xA0,0x00,0x00,}},
+ {0x9145,2,{0xE1,0x40,0x00,0x00,}},
+ {0x9146,2,{0xDB,0xBA,0x00,0x00,}},
+ {0x9147,2,{0xE1,0x41,0x00,0x00,}},
+ {0x9148,2,{0xE1,0x42,0x00,0x00,}},
+ {0x9149,2,{0xD3,0xCF,0x00,0x00,}},
+ {0x914A,2,{0xF4,0xFA,0x00,0x00,}},
+ {0x914B,2,{0xC7,0xF5,0x00,0x00,}},
+ {0x914C,2,{0xD7,0xC3,0x00,0x00,}},
+ {0x914D,2,{0xC5,0xE4,0x00,0x00,}},
+ {0x914E,2,{0xF4,0xFC,0x00,0x00,}},
+ {0x914F,2,{0xF4,0xFD,0x00,0x00,}},
+ {0x9150,2,{0xF4,0xFB,0x00,0x00,}},
+ {0x9151,2,{0xE1,0x43,0x00,0x00,}},
+ {0x9152,2,{0xBE,0xC6,0x00,0x00,}},
+ {0x9153,2,{0xE1,0x44,0x00,0x00,}},
+ {0x9154,2,{0xE1,0x45,0x00,0x00,}},
+ {0x9155,2,{0xE1,0x46,0x00,0x00,}},
+ {0x9156,2,{0xE1,0x47,0x00,0x00,}},
+ {0x9157,2,{0xD0,0xEF,0x00,0x00,}},
+ {0x9158,2,{0xE1,0x48,0x00,0x00,}},
+ {0x9159,2,{0xE1,0x49,0x00,0x00,}},
+ {0x915A,2,{0xB7,0xD3,0x00,0x00,}},
+ {0x915B,2,{0xE1,0x4A,0x00,0x00,}},
+ {0x915C,2,{0xE1,0x4B,0x00,0x00,}},
+ {0x915D,2,{0xD4,0xCD,0x00,0x00,}},
+ {0x915E,2,{0xCC,0xAA,0x00,0x00,}},
+ {0x915F,2,{0xE1,0x4C,0x00,0x00,}},
+ {0x9160,2,{0xE1,0x4D,0x00,0x00,}},
+ {0x9161,2,{0xF5,0xA2,0x00,0x00,}},
+ {0x9162,2,{0xF5,0xA1,0x00,0x00,}},
+ {0x9163,2,{0xBA,0xA8,0x00,0x00,}},
+ {0x9164,2,{0xF4,0xFE,0x00,0x00,}},
+ {0x9165,2,{0xCB,0xD6,0x00,0x00,}},
+ {0x9166,2,{0xE1,0x4E,0x00,0x00,}},
+ {0x9167,2,{0xE1,0x4F,0x00,0x00,}},
+ {0x9168,2,{0xE1,0x50,0x00,0x00,}},
+ {0x9169,2,{0xF5,0xA4,0x00,0x00,}},
+ {0x916A,2,{0xC0,0xD2,0x00,0x00,}},
+ {0x916B,2,{0xE1,0x51,0x00,0x00,}},
+ {0x916C,2,{0xB3,0xEA,0x00,0x00,}},
+ {0x916D,2,{0xE1,0x52,0x00,0x00,}},
+ {0x916E,2,{0xCD,0xAA,0x00,0x00,}},
+ {0x916F,2,{0xF5,0xA5,0x00,0x00,}},
+ {0x9170,2,{0xF5,0xA3,0x00,0x00,}},
+ {0x9171,2,{0xBD,0xB4,0x00,0x00,}},
+ {0x9172,2,{0xF5,0xA8,0x00,0x00,}},
+ {0x9173,2,{0xE1,0x53,0x00,0x00,}},
+ {0x9174,2,{0xF5,0xA9,0x00,0x00,}},
+ {0x9175,2,{0xBD,0xCD,0x00,0x00,}},
+ {0x9176,2,{0xC3,0xB8,0x00,0x00,}},
+ {0x9177,2,{0xBF,0xE1,0x00,0x00,}},
+ {0x9178,2,{0xCB,0xE1,0x00,0x00,}},
+ {0x9179,2,{0xF5,0xAA,0x00,0x00,}},
+ {0x917A,2,{0xE1,0x54,0x00,0x00,}},
+ {0x917B,2,{0xE1,0x55,0x00,0x00,}},
+ {0x917C,2,{0xE1,0x56,0x00,0x00,}},
+ {0x917D,2,{0xF5,0xA6,0x00,0x00,}},
+ {0x917E,2,{0xF5,0xA7,0x00,0x00,}},
+ {0x917F,2,{0xC4,0xF0,0x00,0x00,}},
+ {0x9180,2,{0xE1,0x57,0x00,0x00,}},
+ {0x9181,2,{0xE1,0x58,0x00,0x00,}},
+ {0x9182,2,{0xE1,0x59,0x00,0x00,}},
+ {0x9183,2,{0xE1,0x5A,0x00,0x00,}},
+ {0x9184,2,{0xE1,0x5B,0x00,0x00,}},
+ {0x9185,2,{0xF5,0xAC,0x00,0x00,}},
+ {0x9186,2,{0xE1,0x5C,0x00,0x00,}},
+ {0x9187,2,{0xB4,0xBC,0x00,0x00,}},
+ {0x9188,2,{0xE1,0x5D,0x00,0x00,}},
+ {0x9189,2,{0xD7,0xED,0x00,0x00,}},
+ {0x918A,2,{0xE1,0x5E,0x00,0x00,}},
+ {0x918B,2,{0xB4,0xD7,0x00,0x00,}},
+ {0x918C,2,{0xF5,0xAB,0x00,0x00,}},
+ {0x918D,2,{0xF5,0xAE,0x00,0x00,}},
+ {0x918E,2,{0xE1,0x5F,0x00,0x00,}},
+ {0x918F,2,{0xE1,0x60,0x00,0x00,}},
+ {0x9190,2,{0xF5,0xAD,0x00,0x00,}},
+ {0x9191,2,{0xF5,0xAF,0x00,0x00,}},
+ {0x9192,2,{0xD0,0xD1,0x00,0x00,}},
+ {0x9193,2,{0xE1,0x61,0x00,0x00,}},
+ {0x9194,2,{0xE1,0x62,0x00,0x00,}},
+ {0x9195,2,{0xE1,0x63,0x00,0x00,}},
+ {0x9196,2,{0xE1,0x64,0x00,0x00,}},
+ {0x9197,2,{0xE1,0x65,0x00,0x00,}},
+ {0x9198,2,{0xE1,0x66,0x00,0x00,}},
+ {0x9199,2,{0xE1,0x67,0x00,0x00,}},
+ {0x919A,2,{0xC3,0xD1,0x00,0x00,}},
+ {0x919B,2,{0xC8,0xA9,0x00,0x00,}},
+ {0x919C,2,{0xE1,0x68,0x00,0x00,}},
+ {0x919D,2,{0xE1,0x69,0x00,0x00,}},
+ {0x919E,2,{0xE1,0x6A,0x00,0x00,}},
+ {0x919F,2,{0xE1,0x6B,0x00,0x00,}},
+ {0x91A0,2,{0xE1,0x6C,0x00,0x00,}},
+ {0x91A1,2,{0xE1,0x6D,0x00,0x00,}},
+ {0x91A2,2,{0xF5,0xB0,0x00,0x00,}},
+ {0x91A3,2,{0xF5,0xB1,0x00,0x00,}},
+ {0x91A4,2,{0xE1,0x6E,0x00,0x00,}},
+ {0x91A5,2,{0xE1,0x6F,0x00,0x00,}},
+ {0x91A6,2,{0xE1,0x70,0x00,0x00,}},
+ {0x91A7,2,{0xE1,0x71,0x00,0x00,}},
+ {0x91A8,2,{0xE1,0x72,0x00,0x00,}},
+ {0x91A9,2,{0xE1,0x73,0x00,0x00,}},
+ {0x91AA,2,{0xF5,0xB2,0x00,0x00,}},
+ {0x91AB,2,{0xE1,0x74,0x00,0x00,}},
+ {0x91AC,2,{0xE1,0x75,0x00,0x00,}},
+ {0x91AD,2,{0xF5,0xB3,0x00,0x00,}},
+ {0x91AE,2,{0xF5,0xB4,0x00,0x00,}},
+ {0x91AF,2,{0xF5,0xB5,0x00,0x00,}},
+ {0x91B0,2,{0xE1,0x76,0x00,0x00,}},
+ {0x91B1,2,{0xE1,0x77,0x00,0x00,}},
+ {0x91B2,2,{0xE1,0x78,0x00,0x00,}},
+ {0x91B3,2,{0xE1,0x79,0x00,0x00,}},
+ {0x91B4,2,{0xF5,0xB7,0x00,0x00,}},
+ {0x91B5,2,{0xF5,0xB6,0x00,0x00,}},
+ {0x91B6,2,{0xE1,0x7A,0x00,0x00,}},
+ {0x91B7,2,{0xE1,0x7B,0x00,0x00,}},
+ {0x91B8,2,{0xE1,0x7C,0x00,0x00,}},
+ {0x91B9,2,{0xE1,0x7D,0x00,0x00,}},
+ {0x91BA,2,{0xF5,0xB8,0x00,0x00,}},
+ {0x91BB,2,{0xE1,0x7E,0x00,0x00,}},
+ {0x91BC,2,{0xE1,0x80,0x00,0x00,}},
+ {0x91BD,2,{0xE1,0x81,0x00,0x00,}},
+ {0x91BE,2,{0xE1,0x82,0x00,0x00,}},
+ {0x91BF,2,{0xE1,0x83,0x00,0x00,}},
+ {0x91C0,2,{0xE1,0x84,0x00,0x00,}},
+ {0x91C1,2,{0xE1,0x85,0x00,0x00,}},
+ {0x91C2,2,{0xE1,0x86,0x00,0x00,}},
+ {0x91C3,2,{0xE1,0x87,0x00,0x00,}},
+ {0x91C4,2,{0xE1,0x88,0x00,0x00,}},
+ {0x91C5,2,{0xE1,0x89,0x00,0x00,}},
+ {0x91C6,2,{0xE1,0x8A,0x00,0x00,}},
+ {0x91C7,2,{0xB2,0xC9,0x00,0x00,}},
+ {0x91C8,2,{0xE1,0x8B,0x00,0x00,}},
+ {0x91C9,2,{0xD3,0xD4,0x00,0x00,}},
+ {0x91CA,2,{0xCA,0xCD,0x00,0x00,}},
+ {0x91CB,2,{0xE1,0x8C,0x00,0x00,}},
+ {0x91CC,2,{0xC0,0xEF,0x00,0x00,}},
+ {0x91CD,2,{0xD6,0xD8,0x00,0x00,}},
+ {0x91CE,2,{0xD2,0xB0,0x00,0x00,}},
+ {0x91CF,2,{0xC1,0xBF,0x00,0x00,}},
+ {0x91D0,2,{0xE1,0x8D,0x00,0x00,}},
+ {0x91D1,2,{0xBD,0xF0,0x00,0x00,}},
+ {0x91D2,2,{0xE1,0x8E,0x00,0x00,}},
+ {0x91D3,2,{0xE1,0x8F,0x00,0x00,}},
+ {0x91D4,2,{0xE1,0x90,0x00,0x00,}},
+ {0x91D5,2,{0xE1,0x91,0x00,0x00,}},
+ {0x91D6,2,{0xE1,0x92,0x00,0x00,}},
+ {0x91D7,2,{0xE1,0x93,0x00,0x00,}},
+ {0x91D8,2,{0xE1,0x94,0x00,0x00,}},
+ {0x91D9,2,{0xE1,0x95,0x00,0x00,}},
+ {0x91DA,2,{0xE1,0x96,0x00,0x00,}},
+ {0x91DB,2,{0xE1,0x97,0x00,0x00,}},
+ {0x91DC,2,{0xB8,0xAA,0x00,0x00,}},
+ {0x91DD,2,{0xE1,0x98,0x00,0x00,}},
+ {0x91DE,2,{0xE1,0x99,0x00,0x00,}},
+ {0x91DF,2,{0xE1,0x9A,0x00,0x00,}},
+ {0x91E0,2,{0xE1,0x9B,0x00,0x00,}},
+ {0x91E1,2,{0xE1,0x9C,0x00,0x00,}},
+ {0x91E2,2,{0xE1,0x9D,0x00,0x00,}},
+ {0x91E3,2,{0xE1,0x9E,0x00,0x00,}},
+ {0x91E4,2,{0xE1,0x9F,0x00,0x00,}},
+ {0x91E5,2,{0xE1,0xA0,0x00,0x00,}},
+ {0x91E6,2,{0xE2,0x40,0x00,0x00,}},
+ {0x91E7,2,{0xE2,0x41,0x00,0x00,}},
+ {0x91E8,2,{0xE2,0x42,0x00,0x00,}},
+ {0x91E9,2,{0xE2,0x43,0x00,0x00,}},
+ {0x91EA,2,{0xE2,0x44,0x00,0x00,}},
+ {0x91EB,2,{0xE2,0x45,0x00,0x00,}},
+ {0x91EC,2,{0xE2,0x46,0x00,0x00,}},
+ {0x91ED,2,{0xE2,0x47,0x00,0x00,}},
+ {0x91EE,2,{0xE2,0x48,0x00,0x00,}},
+ {0x91EF,2,{0xE2,0x49,0x00,0x00,}},
+ {0x91F0,2,{0xE2,0x4A,0x00,0x00,}},
+ {0x91F1,2,{0xE2,0x4B,0x00,0x00,}},
+ {0x91F2,2,{0xE2,0x4C,0x00,0x00,}},
+ {0x91F3,2,{0xE2,0x4D,0x00,0x00,}},
+ {0x91F4,2,{0xE2,0x4E,0x00,0x00,}},
+ {0x91F5,2,{0xE2,0x4F,0x00,0x00,}},
+ {0x91F6,2,{0xE2,0x50,0x00,0x00,}},
+ {0x91F7,2,{0xE2,0x51,0x00,0x00,}},
+ {0x91F8,2,{0xE2,0x52,0x00,0x00,}},
+ {0x91F9,2,{0xE2,0x53,0x00,0x00,}},
+ {0x91FA,2,{0xE2,0x54,0x00,0x00,}},
+ {0x91FB,2,{0xE2,0x55,0x00,0x00,}},
+ {0x91FC,2,{0xE2,0x56,0x00,0x00,}},
+ {0x91FD,2,{0xE2,0x57,0x00,0x00,}},
+ {0x91FE,2,{0xE2,0x58,0x00,0x00,}},
+ {0x91FF,2,{0xE2,0x59,0x00,0x00,}},
+ {0x9200,2,{0xE2,0x5A,0x00,0x00,}},
+ {0x9201,2,{0xE2,0x5B,0x00,0x00,}},
+ {0x9202,2,{0xE2,0x5C,0x00,0x00,}},
+ {0x9203,2,{0xE2,0x5D,0x00,0x00,}},
+ {0x9204,2,{0xE2,0x5E,0x00,0x00,}},
+ {0x9205,2,{0xE2,0x5F,0x00,0x00,}},
+ {0x9206,2,{0xE2,0x60,0x00,0x00,}},
+ {0x9207,2,{0xE2,0x61,0x00,0x00,}},
+ {0x9208,2,{0xE2,0x62,0x00,0x00,}},
+ {0x9209,2,{0xE2,0x63,0x00,0x00,}},
+ {0x920A,2,{0xE2,0x64,0x00,0x00,}},
+ {0x920B,2,{0xE2,0x65,0x00,0x00,}},
+ {0x920C,2,{0xE2,0x66,0x00,0x00,}},
+ {0x920D,2,{0xE2,0x67,0x00,0x00,}},
+ {0x920E,2,{0xE2,0x68,0x00,0x00,}},
+ {0x920F,2,{0xE2,0x69,0x00,0x00,}},
+ {0x9210,2,{0xE2,0x6A,0x00,0x00,}},
+ {0x9211,2,{0xE2,0x6B,0x00,0x00,}},
+ {0x9212,2,{0xE2,0x6C,0x00,0x00,}},
+ {0x9213,2,{0xE2,0x6D,0x00,0x00,}},
+ {0x9214,2,{0xE2,0x6E,0x00,0x00,}},
+ {0x9215,2,{0xE2,0x6F,0x00,0x00,}},
+ {0x9216,2,{0xE2,0x70,0x00,0x00,}},
+ {0x9217,2,{0xE2,0x71,0x00,0x00,}},
+ {0x9218,2,{0xE2,0x72,0x00,0x00,}},
+ {0x9219,2,{0xE2,0x73,0x00,0x00,}},
+ {0x921A,2,{0xE2,0x74,0x00,0x00,}},
+ {0x921B,2,{0xE2,0x75,0x00,0x00,}},
+ {0x921C,2,{0xE2,0x76,0x00,0x00,}},
+ {0x921D,2,{0xE2,0x77,0x00,0x00,}},
+ {0x921E,2,{0xE2,0x78,0x00,0x00,}},
+ {0x921F,2,{0xE2,0x79,0x00,0x00,}},
+ {0x9220,2,{0xE2,0x7A,0x00,0x00,}},
+ {0x9221,2,{0xE2,0x7B,0x00,0x00,}},
+ {0x9222,2,{0xE2,0x7C,0x00,0x00,}},
+ {0x9223,2,{0xE2,0x7D,0x00,0x00,}},
+ {0x9224,2,{0xE2,0x7E,0x00,0x00,}},
+ {0x9225,2,{0xE2,0x80,0x00,0x00,}},
+ {0x9226,2,{0xE2,0x81,0x00,0x00,}},
+ {0x9227,2,{0xE2,0x82,0x00,0x00,}},
+ {0x9228,2,{0xE2,0x83,0x00,0x00,}},
+ {0x9229,2,{0xE2,0x84,0x00,0x00,}},
+ {0x922A,2,{0xE2,0x85,0x00,0x00,}},
+ {0x922B,2,{0xE2,0x86,0x00,0x00,}},
+ {0x922C,2,{0xE2,0x87,0x00,0x00,}},
+ {0x922D,2,{0xE2,0x88,0x00,0x00,}},
+ {0x922E,2,{0xE2,0x89,0x00,0x00,}},
+ {0x922F,2,{0xE2,0x8A,0x00,0x00,}},
+ {0x9230,2,{0xE2,0x8B,0x00,0x00,}},
+ {0x9231,2,{0xE2,0x8C,0x00,0x00,}},
+ {0x9232,2,{0xE2,0x8D,0x00,0x00,}},
+ {0x9233,2,{0xE2,0x8E,0x00,0x00,}},
+ {0x9234,2,{0xE2,0x8F,0x00,0x00,}},
+ {0x9235,2,{0xE2,0x90,0x00,0x00,}},
+ {0x9236,2,{0xE2,0x91,0x00,0x00,}},
+ {0x9237,2,{0xE2,0x92,0x00,0x00,}},
+ {0x9238,2,{0xE2,0x93,0x00,0x00,}},
+ {0x9239,2,{0xE2,0x94,0x00,0x00,}},
+ {0x923A,2,{0xE2,0x95,0x00,0x00,}},
+ {0x923B,2,{0xE2,0x96,0x00,0x00,}},
+ {0x923C,2,{0xE2,0x97,0x00,0x00,}},
+ {0x923D,2,{0xE2,0x98,0x00,0x00,}},
+ {0x923E,2,{0xE2,0x99,0x00,0x00,}},
+ {0x923F,2,{0xE2,0x9A,0x00,0x00,}},
+ {0x9240,2,{0xE2,0x9B,0x00,0x00,}},
+ {0x9241,2,{0xE2,0x9C,0x00,0x00,}},
+ {0x9242,2,{0xE2,0x9D,0x00,0x00,}},
+ {0x9243,2,{0xE2,0x9E,0x00,0x00,}},
+ {0x9244,2,{0xE2,0x9F,0x00,0x00,}},
+ {0x9245,2,{0xE2,0xA0,0x00,0x00,}},
+ {0x9246,2,{0xE3,0x40,0x00,0x00,}},
+ {0x9247,2,{0xE3,0x41,0x00,0x00,}},
+ {0x9248,2,{0xE3,0x42,0x00,0x00,}},
+ {0x9249,2,{0xE3,0x43,0x00,0x00,}},
+ {0x924A,2,{0xE3,0x44,0x00,0x00,}},
+ {0x924B,2,{0xE3,0x45,0x00,0x00,}},
+ {0x924C,2,{0xE3,0x46,0x00,0x00,}},
+ {0x924D,2,{0xE3,0x47,0x00,0x00,}},
+ {0x924E,2,{0xE3,0x48,0x00,0x00,}},
+ {0x924F,2,{0xE3,0x49,0x00,0x00,}},
+ {0x9250,2,{0xE3,0x4A,0x00,0x00,}},
+ {0x9251,2,{0xE3,0x4B,0x00,0x00,}},
+ {0x9252,2,{0xE3,0x4C,0x00,0x00,}},
+ {0x9253,2,{0xE3,0x4D,0x00,0x00,}},
+ {0x9254,2,{0xE3,0x4E,0x00,0x00,}},
+ {0x9255,2,{0xE3,0x4F,0x00,0x00,}},
+ {0x9256,2,{0xE3,0x50,0x00,0x00,}},
+ {0x9257,2,{0xE3,0x51,0x00,0x00,}},
+ {0x9258,2,{0xE3,0x52,0x00,0x00,}},
+ {0x9259,2,{0xE3,0x53,0x00,0x00,}},
+ {0x925A,2,{0xE3,0x54,0x00,0x00,}},
+ {0x925B,2,{0xE3,0x55,0x00,0x00,}},
+ {0x925C,2,{0xE3,0x56,0x00,0x00,}},
+ {0x925D,2,{0xE3,0x57,0x00,0x00,}},
+ {0x925E,2,{0xE3,0x58,0x00,0x00,}},
+ {0x925F,2,{0xE3,0x59,0x00,0x00,}},
+ {0x9260,2,{0xE3,0x5A,0x00,0x00,}},
+ {0x9261,2,{0xE3,0x5B,0x00,0x00,}},
+ {0x9262,2,{0xE3,0x5C,0x00,0x00,}},
+ {0x9263,2,{0xE3,0x5D,0x00,0x00,}},
+ {0x9264,2,{0xE3,0x5E,0x00,0x00,}},
+ {0x9265,2,{0xE3,0x5F,0x00,0x00,}},
+ {0x9266,2,{0xE3,0x60,0x00,0x00,}},
+ {0x9267,2,{0xE3,0x61,0x00,0x00,}},
+ {0x9268,2,{0xE3,0x62,0x00,0x00,}},
+ {0x9269,2,{0xE3,0x63,0x00,0x00,}},
+ {0x926A,2,{0xE3,0x64,0x00,0x00,}},
+ {0x926B,2,{0xE3,0x65,0x00,0x00,}},
+ {0x926C,2,{0xE3,0x66,0x00,0x00,}},
+ {0x926D,2,{0xE3,0x67,0x00,0x00,}},
+ {0x926E,2,{0xE3,0x68,0x00,0x00,}},
+ {0x926F,2,{0xE3,0x69,0x00,0x00,}},
+ {0x9270,2,{0xE3,0x6A,0x00,0x00,}},
+ {0x9271,2,{0xE3,0x6B,0x00,0x00,}},
+ {0x9272,2,{0xE3,0x6C,0x00,0x00,}},
+ {0x9273,2,{0xE3,0x6D,0x00,0x00,}},
+ {0x9274,2,{0xBC,0xF8,0x00,0x00,}},
+ {0x9275,2,{0xE3,0x6E,0x00,0x00,}},
+ {0x9276,2,{0xE3,0x6F,0x00,0x00,}},
+ {0x9277,2,{0xE3,0x70,0x00,0x00,}},
+ {0x9278,2,{0xE3,0x71,0x00,0x00,}},
+ {0x9279,2,{0xE3,0x72,0x00,0x00,}},
+ {0x927A,2,{0xE3,0x73,0x00,0x00,}},
+ {0x927B,2,{0xE3,0x74,0x00,0x00,}},
+ {0x927C,2,{0xE3,0x75,0x00,0x00,}},
+ {0x927D,2,{0xE3,0x76,0x00,0x00,}},
+ {0x927E,2,{0xE3,0x77,0x00,0x00,}},
+ {0x927F,2,{0xE3,0x78,0x00,0x00,}},
+ {0x9280,2,{0xE3,0x79,0x00,0x00,}},
+ {0x9281,2,{0xE3,0x7A,0x00,0x00,}},
+ {0x9282,2,{0xE3,0x7B,0x00,0x00,}},
+ {0x9283,2,{0xE3,0x7C,0x00,0x00,}},
+ {0x9284,2,{0xE3,0x7D,0x00,0x00,}},
+ {0x9285,2,{0xE3,0x7E,0x00,0x00,}},
+ {0x9286,2,{0xE3,0x80,0x00,0x00,}},
+ {0x9287,2,{0xE3,0x81,0x00,0x00,}},
+ {0x9288,2,{0xE3,0x82,0x00,0x00,}},
+ {0x9289,2,{0xE3,0x83,0x00,0x00,}},
+ {0x928A,2,{0xE3,0x84,0x00,0x00,}},
+ {0x928B,2,{0xE3,0x85,0x00,0x00,}},
+ {0x928C,2,{0xE3,0x86,0x00,0x00,}},
+ {0x928D,2,{0xE3,0x87,0x00,0x00,}},
+ {0x928E,2,{0xF6,0xC6,0x00,0x00,}},
+ {0x928F,2,{0xE3,0x88,0x00,0x00,}},
+ {0x9290,2,{0xE3,0x89,0x00,0x00,}},
+ {0x9291,2,{0xE3,0x8A,0x00,0x00,}},
+ {0x9292,2,{0xE3,0x8B,0x00,0x00,}},
+ {0x9293,2,{0xE3,0x8C,0x00,0x00,}},
+ {0x9294,2,{0xE3,0x8D,0x00,0x00,}},
+ {0x9295,2,{0xE3,0x8E,0x00,0x00,}},
+ {0x9296,2,{0xE3,0x8F,0x00,0x00,}},
+ {0x9297,2,{0xE3,0x90,0x00,0x00,}},
+ {0x9298,2,{0xE3,0x91,0x00,0x00,}},
+ {0x9299,2,{0xE3,0x92,0x00,0x00,}},
+ {0x929A,2,{0xE3,0x93,0x00,0x00,}},
+ {0x929B,2,{0xE3,0x94,0x00,0x00,}},
+ {0x929C,2,{0xE3,0x95,0x00,0x00,}},
+ {0x929D,2,{0xE3,0x96,0x00,0x00,}},
+ {0x929E,2,{0xE3,0x97,0x00,0x00,}},
+ {0x929F,2,{0xE3,0x98,0x00,0x00,}},
+ {0x92A0,2,{0xE3,0x99,0x00,0x00,}},
+ {0x92A1,2,{0xE3,0x9A,0x00,0x00,}},
+ {0x92A2,2,{0xE3,0x9B,0x00,0x00,}},
+ {0x92A3,2,{0xE3,0x9C,0x00,0x00,}},
+ {0x92A4,2,{0xE3,0x9D,0x00,0x00,}},
+ {0x92A5,2,{0xE3,0x9E,0x00,0x00,}},
+ {0x92A6,2,{0xE3,0x9F,0x00,0x00,}},
+ {0x92A7,2,{0xE3,0xA0,0x00,0x00,}},
+ {0x92A8,2,{0xE4,0x40,0x00,0x00,}},
+ {0x92A9,2,{0xE4,0x41,0x00,0x00,}},
+ {0x92AA,2,{0xE4,0x42,0x00,0x00,}},
+ {0x92AB,2,{0xE4,0x43,0x00,0x00,}},
+ {0x92AC,2,{0xE4,0x44,0x00,0x00,}},
+ {0x92AD,2,{0xE4,0x45,0x00,0x00,}},
+ {0x92AE,2,{0xF6,0xC7,0x00,0x00,}},
+ {0x92AF,2,{0xE4,0x46,0x00,0x00,}},
+ {0x92B0,2,{0xE4,0x47,0x00,0x00,}},
+ {0x92B1,2,{0xE4,0x48,0x00,0x00,}},
+ {0x92B2,2,{0xE4,0x49,0x00,0x00,}},
+ {0x92B3,2,{0xE4,0x4A,0x00,0x00,}},
+ {0x92B4,2,{0xE4,0x4B,0x00,0x00,}},
+ {0x92B5,2,{0xE4,0x4C,0x00,0x00,}},
+ {0x92B6,2,{0xE4,0x4D,0x00,0x00,}},
+ {0x92B7,2,{0xE4,0x4E,0x00,0x00,}},
+ {0x92B8,2,{0xE4,0x4F,0x00,0x00,}},
+ {0x92B9,2,{0xE4,0x50,0x00,0x00,}},
+ {0x92BA,2,{0xE4,0x51,0x00,0x00,}},
+ {0x92BB,2,{0xE4,0x52,0x00,0x00,}},
+ {0x92BC,2,{0xE4,0x53,0x00,0x00,}},
+ {0x92BD,2,{0xE4,0x54,0x00,0x00,}},
+ {0x92BE,2,{0xE4,0x55,0x00,0x00,}},
+ {0x92BF,2,{0xE4,0x56,0x00,0x00,}},
+ {0x92C0,2,{0xE4,0x57,0x00,0x00,}},
+ {0x92C1,2,{0xE4,0x58,0x00,0x00,}},
+ {0x92C2,2,{0xE4,0x59,0x00,0x00,}},
+ {0x92C3,2,{0xE4,0x5A,0x00,0x00,}},
+ {0x92C4,2,{0xE4,0x5B,0x00,0x00,}},
+ {0x92C5,2,{0xE4,0x5C,0x00,0x00,}},
+ {0x92C6,2,{0xE4,0x5D,0x00,0x00,}},
+ {0x92C7,2,{0xE4,0x5E,0x00,0x00,}},
+ {0x92C8,2,{0xF6,0xC8,0x00,0x00,}},
+ {0x92C9,2,{0xE4,0x5F,0x00,0x00,}},
+ {0x92CA,2,{0xE4,0x60,0x00,0x00,}},
+ {0x92CB,2,{0xE4,0x61,0x00,0x00,}},
+ {0x92CC,2,{0xE4,0x62,0x00,0x00,}},
+ {0x92CD,2,{0xE4,0x63,0x00,0x00,}},
+ {0x92CE,2,{0xE4,0x64,0x00,0x00,}},
+ {0x92CF,2,{0xE4,0x65,0x00,0x00,}},
+ {0x92D0,2,{0xE4,0x66,0x00,0x00,}},
+ {0x92D1,2,{0xE4,0x67,0x00,0x00,}},
+ {0x92D2,2,{0xE4,0x68,0x00,0x00,}},
+ {0x92D3,2,{0xE4,0x69,0x00,0x00,}},
+ {0x92D4,2,{0xE4,0x6A,0x00,0x00,}},
+ {0x92D5,2,{0xE4,0x6B,0x00,0x00,}},
+ {0x92D6,2,{0xE4,0x6C,0x00,0x00,}},
+ {0x92D7,2,{0xE4,0x6D,0x00,0x00,}},
+ {0x92D8,2,{0xE4,0x6E,0x00,0x00,}},
+ {0x92D9,2,{0xE4,0x6F,0x00,0x00,}},
+ {0x92DA,2,{0xE4,0x70,0x00,0x00,}},
+ {0x92DB,2,{0xE4,0x71,0x00,0x00,}},
+ {0x92DC,2,{0xE4,0x72,0x00,0x00,}},
+ {0x92DD,2,{0xE4,0x73,0x00,0x00,}},
+ {0x92DE,2,{0xE4,0x74,0x00,0x00,}},
+ {0x92DF,2,{0xE4,0x75,0x00,0x00,}},
+ {0x92E0,2,{0xE4,0x76,0x00,0x00,}},
+ {0x92E1,2,{0xE4,0x77,0x00,0x00,}},
+ {0x92E2,2,{0xE4,0x78,0x00,0x00,}},
+ {0x92E3,2,{0xE4,0x79,0x00,0x00,}},
+ {0x92E4,2,{0xE4,0x7A,0x00,0x00,}},
+ {0x92E5,2,{0xE4,0x7B,0x00,0x00,}},
+ {0x92E6,2,{0xE4,0x7C,0x00,0x00,}},
+ {0x92E7,2,{0xE4,0x7D,0x00,0x00,}},
+ {0x92E8,2,{0xE4,0x7E,0x00,0x00,}},
+ {0x92E9,2,{0xE4,0x80,0x00,0x00,}},
+ {0x92EA,2,{0xE4,0x81,0x00,0x00,}},
+ {0x92EB,2,{0xE4,0x82,0x00,0x00,}},
+ {0x92EC,2,{0xE4,0x83,0x00,0x00,}},
+ {0x92ED,2,{0xE4,0x84,0x00,0x00,}},
+ {0x92EE,2,{0xE4,0x85,0x00,0x00,}},
+ {0x92EF,2,{0xE4,0x86,0x00,0x00,}},
+ {0x92F0,2,{0xE4,0x87,0x00,0x00,}},
+ {0x92F1,2,{0xE4,0x88,0x00,0x00,}},
+ {0x92F2,2,{0xE4,0x89,0x00,0x00,}},
+ {0x92F3,2,{0xE4,0x8A,0x00,0x00,}},
+ {0x92F4,2,{0xE4,0x8B,0x00,0x00,}},
+ {0x92F5,2,{0xE4,0x8C,0x00,0x00,}},
+ {0x92F6,2,{0xE4,0x8D,0x00,0x00,}},
+ {0x92F7,2,{0xE4,0x8E,0x00,0x00,}},
+ {0x92F8,2,{0xE4,0x8F,0x00,0x00,}},
+ {0x92F9,2,{0xE4,0x90,0x00,0x00,}},
+ {0x92FA,2,{0xE4,0x91,0x00,0x00,}},
+ {0x92FB,2,{0xE4,0x92,0x00,0x00,}},
+ {0x92FC,2,{0xE4,0x93,0x00,0x00,}},
+ {0x92FD,2,{0xE4,0x94,0x00,0x00,}},
+ {0x92FE,2,{0xE4,0x95,0x00,0x00,}},
+ {0x92FF,2,{0xE4,0x96,0x00,0x00,}},
+ {0x9300,2,{0xE4,0x97,0x00,0x00,}},
+ {0x9301,2,{0xE4,0x98,0x00,0x00,}},
+ {0x9302,2,{0xE4,0x99,0x00,0x00,}},
+ {0x9303,2,{0xE4,0x9A,0x00,0x00,}},
+ {0x9304,2,{0xE4,0x9B,0x00,0x00,}},
+ {0x9305,2,{0xE4,0x9C,0x00,0x00,}},
+ {0x9306,2,{0xE4,0x9D,0x00,0x00,}},
+ {0x9307,2,{0xE4,0x9E,0x00,0x00,}},
+ {0x9308,2,{0xE4,0x9F,0x00,0x00,}},
+ {0x9309,2,{0xE4,0xA0,0x00,0x00,}},
+ {0x930A,2,{0xE5,0x40,0x00,0x00,}},
+ {0x930B,2,{0xE5,0x41,0x00,0x00,}},
+ {0x930C,2,{0xE5,0x42,0x00,0x00,}},
+ {0x930D,2,{0xE5,0x43,0x00,0x00,}},
+ {0x930E,2,{0xE5,0x44,0x00,0x00,}},
+ {0x930F,2,{0xE5,0x45,0x00,0x00,}},
+ {0x9310,2,{0xE5,0x46,0x00,0x00,}},
+ {0x9311,2,{0xE5,0x47,0x00,0x00,}},
+ {0x9312,2,{0xE5,0x48,0x00,0x00,}},
+ {0x9313,2,{0xE5,0x49,0x00,0x00,}},
+ {0x9314,2,{0xE5,0x4A,0x00,0x00,}},
+ {0x9315,2,{0xE5,0x4B,0x00,0x00,}},
+ {0x9316,2,{0xE5,0x4C,0x00,0x00,}},
+ {0x9317,2,{0xE5,0x4D,0x00,0x00,}},
+ {0x9318,2,{0xE5,0x4E,0x00,0x00,}},
+ {0x9319,2,{0xE5,0x4F,0x00,0x00,}},
+ {0x931A,2,{0xE5,0x50,0x00,0x00,}},
+ {0x931B,2,{0xE5,0x51,0x00,0x00,}},
+ {0x931C,2,{0xE5,0x52,0x00,0x00,}},
+ {0x931D,2,{0xE5,0x53,0x00,0x00,}},
+ {0x931E,2,{0xE5,0x54,0x00,0x00,}},
+ {0x931F,2,{0xE5,0x55,0x00,0x00,}},
+ {0x9320,2,{0xE5,0x56,0x00,0x00,}},
+ {0x9321,2,{0xE5,0x57,0x00,0x00,}},
+ {0x9322,2,{0xE5,0x58,0x00,0x00,}},
+ {0x9323,2,{0xE5,0x59,0x00,0x00,}},
+ {0x9324,2,{0xE5,0x5A,0x00,0x00,}},
+ {0x9325,2,{0xE5,0x5B,0x00,0x00,}},
+ {0x9326,2,{0xE5,0x5C,0x00,0x00,}},
+ {0x9327,2,{0xE5,0x5D,0x00,0x00,}},
+ {0x9328,2,{0xE5,0x5E,0x00,0x00,}},
+ {0x9329,2,{0xE5,0x5F,0x00,0x00,}},
+ {0x932A,2,{0xE5,0x60,0x00,0x00,}},
+ {0x932B,2,{0xE5,0x61,0x00,0x00,}},
+ {0x932C,2,{0xE5,0x62,0x00,0x00,}},
+ {0x932D,2,{0xE5,0x63,0x00,0x00,}},
+ {0x932E,2,{0xE5,0x64,0x00,0x00,}},
+ {0x932F,2,{0xE5,0x65,0x00,0x00,}},
+ {0x9330,2,{0xE5,0x66,0x00,0x00,}},
+ {0x9331,2,{0xE5,0x67,0x00,0x00,}},
+ {0x9332,2,{0xE5,0x68,0x00,0x00,}},
+ {0x9333,2,{0xE5,0x69,0x00,0x00,}},
+ {0x9334,2,{0xE5,0x6A,0x00,0x00,}},
+ {0x9335,2,{0xE5,0x6B,0x00,0x00,}},
+ {0x9336,2,{0xE5,0x6C,0x00,0x00,}},
+ {0x9337,2,{0xE5,0x6D,0x00,0x00,}},
+ {0x9338,2,{0xE5,0x6E,0x00,0x00,}},
+ {0x9339,2,{0xE5,0x6F,0x00,0x00,}},
+ {0x933A,2,{0xE5,0x70,0x00,0x00,}},
+ {0x933B,2,{0xE5,0x71,0x00,0x00,}},
+ {0x933C,2,{0xE5,0x72,0x00,0x00,}},
+ {0x933D,2,{0xE5,0x73,0x00,0x00,}},
+ {0x933E,2,{0xF6,0xC9,0x00,0x00,}},
+ {0x933F,2,{0xE5,0x74,0x00,0x00,}},
+ {0x9340,2,{0xE5,0x75,0x00,0x00,}},
+ {0x9341,2,{0xE5,0x76,0x00,0x00,}},
+ {0x9342,2,{0xE5,0x77,0x00,0x00,}},
+ {0x9343,2,{0xE5,0x78,0x00,0x00,}},
+ {0x9344,2,{0xE5,0x79,0x00,0x00,}},
+ {0x9345,2,{0xE5,0x7A,0x00,0x00,}},
+ {0x9346,2,{0xE5,0x7B,0x00,0x00,}},
+ {0x9347,2,{0xE5,0x7C,0x00,0x00,}},
+ {0x9348,2,{0xE5,0x7D,0x00,0x00,}},
+ {0x9349,2,{0xE5,0x7E,0x00,0x00,}},
+ {0x934A,2,{0xE5,0x80,0x00,0x00,}},
+ {0x934B,2,{0xE5,0x81,0x00,0x00,}},
+ {0x934C,2,{0xE5,0x82,0x00,0x00,}},
+ {0x934D,2,{0xE5,0x83,0x00,0x00,}},
+ {0x934E,2,{0xE5,0x84,0x00,0x00,}},
+ {0x934F,2,{0xE5,0x85,0x00,0x00,}},
+ {0x9350,2,{0xE5,0x86,0x00,0x00,}},
+ {0x9351,2,{0xE5,0x87,0x00,0x00,}},
+ {0x9352,2,{0xE5,0x88,0x00,0x00,}},
+ {0x9353,2,{0xE5,0x89,0x00,0x00,}},
+ {0x9354,2,{0xE5,0x8A,0x00,0x00,}},
+ {0x9355,2,{0xE5,0x8B,0x00,0x00,}},
+ {0x9356,2,{0xE5,0x8C,0x00,0x00,}},
+ {0x9357,2,{0xE5,0x8D,0x00,0x00,}},
+ {0x9358,2,{0xE5,0x8E,0x00,0x00,}},
+ {0x9359,2,{0xE5,0x8F,0x00,0x00,}},
+ {0x935A,2,{0xE5,0x90,0x00,0x00,}},
+ {0x935B,2,{0xE5,0x91,0x00,0x00,}},
+ {0x935C,2,{0xE5,0x92,0x00,0x00,}},
+ {0x935D,2,{0xE5,0x93,0x00,0x00,}},
+ {0x935E,2,{0xE5,0x94,0x00,0x00,}},
+ {0x935F,2,{0xE5,0x95,0x00,0x00,}},
+ {0x9360,2,{0xE5,0x96,0x00,0x00,}},
+ {0x9361,2,{0xE5,0x97,0x00,0x00,}},
+ {0x9362,2,{0xE5,0x98,0x00,0x00,}},
+ {0x9363,2,{0xE5,0x99,0x00,0x00,}},
+ {0x9364,2,{0xE5,0x9A,0x00,0x00,}},
+ {0x9365,2,{0xE5,0x9B,0x00,0x00,}},
+ {0x9366,2,{0xE5,0x9C,0x00,0x00,}},
+ {0x9367,2,{0xE5,0x9D,0x00,0x00,}},
+ {0x9368,2,{0xE5,0x9E,0x00,0x00,}},
+ {0x9369,2,{0xE5,0x9F,0x00,0x00,}},
+ {0x936A,2,{0xF6,0xCA,0x00,0x00,}},
+ {0x936B,2,{0xE5,0xA0,0x00,0x00,}},
+ {0x936C,2,{0xE6,0x40,0x00,0x00,}},
+ {0x936D,2,{0xE6,0x41,0x00,0x00,}},
+ {0x936E,2,{0xE6,0x42,0x00,0x00,}},
+ {0x936F,2,{0xE6,0x43,0x00,0x00,}},
+ {0x9370,2,{0xE6,0x44,0x00,0x00,}},
+ {0x9371,2,{0xE6,0x45,0x00,0x00,}},
+ {0x9372,2,{0xE6,0x46,0x00,0x00,}},
+ {0x9373,2,{0xE6,0x47,0x00,0x00,}},
+ {0x9374,2,{0xE6,0x48,0x00,0x00,}},
+ {0x9375,2,{0xE6,0x49,0x00,0x00,}},
+ {0x9376,2,{0xE6,0x4A,0x00,0x00,}},
+ {0x9377,2,{0xE6,0x4B,0x00,0x00,}},
+ {0x9378,2,{0xE6,0x4C,0x00,0x00,}},
+ {0x9379,2,{0xE6,0x4D,0x00,0x00,}},
+ {0x937A,2,{0xE6,0x4E,0x00,0x00,}},
+ {0x937B,2,{0xE6,0x4F,0x00,0x00,}},
+ {0x937C,2,{0xE6,0x50,0x00,0x00,}},
+ {0x937D,2,{0xE6,0x51,0x00,0x00,}},
+ {0x937E,2,{0xE6,0x52,0x00,0x00,}},
+ {0x937F,2,{0xE6,0x53,0x00,0x00,}},
+ {0x9380,2,{0xE6,0x54,0x00,0x00,}},
+ {0x9381,2,{0xE6,0x55,0x00,0x00,}},
+ {0x9382,2,{0xE6,0x56,0x00,0x00,}},
+ {0x9383,2,{0xE6,0x57,0x00,0x00,}},
+ {0x9384,2,{0xE6,0x58,0x00,0x00,}},
+ {0x9385,2,{0xE6,0x59,0x00,0x00,}},
+ {0x9386,2,{0xE6,0x5A,0x00,0x00,}},
+ {0x9387,2,{0xE6,0x5B,0x00,0x00,}},
+ {0x9388,2,{0xE6,0x5C,0x00,0x00,}},
+ {0x9389,2,{0xE6,0x5D,0x00,0x00,}},
+ {0x938A,2,{0xE6,0x5E,0x00,0x00,}},
+ {0x938B,2,{0xE6,0x5F,0x00,0x00,}},
+ {0x938C,2,{0xE6,0x60,0x00,0x00,}},
+ {0x938D,2,{0xE6,0x61,0x00,0x00,}},
+ {0x938E,2,{0xE6,0x62,0x00,0x00,}},
+ {0x938F,2,{0xF6,0xCC,0x00,0x00,}},
+ {0x9390,2,{0xE6,0x63,0x00,0x00,}},
+ {0x9391,2,{0xE6,0x64,0x00,0x00,}},
+ {0x9392,2,{0xE6,0x65,0x00,0x00,}},
+ {0x9393,2,{0xE6,0x66,0x00,0x00,}},
+ {0x9394,2,{0xE6,0x67,0x00,0x00,}},
+ {0x9395,2,{0xE6,0x68,0x00,0x00,}},
+ {0x9396,2,{0xE6,0x69,0x00,0x00,}},
+ {0x9397,2,{0xE6,0x6A,0x00,0x00,}},
+ {0x9398,2,{0xE6,0x6B,0x00,0x00,}},
+ {0x9399,2,{0xE6,0x6C,0x00,0x00,}},
+ {0x939A,2,{0xE6,0x6D,0x00,0x00,}},
+ {0x939B,2,{0xE6,0x6E,0x00,0x00,}},
+ {0x939C,2,{0xE6,0x6F,0x00,0x00,}},
+ {0x939D,2,{0xE6,0x70,0x00,0x00,}},
+ {0x939E,2,{0xE6,0x71,0x00,0x00,}},
+ {0x939F,2,{0xE6,0x72,0x00,0x00,}},
+ {0x93A0,2,{0xE6,0x73,0x00,0x00,}},
+ {0x93A1,2,{0xE6,0x74,0x00,0x00,}},
+ {0x93A2,2,{0xE6,0x75,0x00,0x00,}},
+ {0x93A3,2,{0xE6,0x76,0x00,0x00,}},
+ {0x93A4,2,{0xE6,0x77,0x00,0x00,}},
+ {0x93A5,2,{0xE6,0x78,0x00,0x00,}},
+ {0x93A6,2,{0xE6,0x79,0x00,0x00,}},
+ {0x93A7,2,{0xE6,0x7A,0x00,0x00,}},
+ {0x93A8,2,{0xE6,0x7B,0x00,0x00,}},
+ {0x93A9,2,{0xE6,0x7C,0x00,0x00,}},
+ {0x93AA,2,{0xE6,0x7D,0x00,0x00,}},
+ {0x93AB,2,{0xE6,0x7E,0x00,0x00,}},
+ {0x93AC,2,{0xE6,0x80,0x00,0x00,}},
+ {0x93AD,2,{0xE6,0x81,0x00,0x00,}},
+ {0x93AE,2,{0xE6,0x82,0x00,0x00,}},
+ {0x93AF,2,{0xE6,0x83,0x00,0x00,}},
+ {0x93B0,2,{0xE6,0x84,0x00,0x00,}},
+ {0x93B1,2,{0xE6,0x85,0x00,0x00,}},
+ {0x93B2,2,{0xE6,0x86,0x00,0x00,}},
+ {0x93B3,2,{0xE6,0x87,0x00,0x00,}},
+ {0x93B4,2,{0xE6,0x88,0x00,0x00,}},
+ {0x93B5,2,{0xE6,0x89,0x00,0x00,}},
+ {0x93B6,2,{0xE6,0x8A,0x00,0x00,}},
+ {0x93B7,2,{0xE6,0x8B,0x00,0x00,}},
+ {0x93B8,2,{0xE6,0x8C,0x00,0x00,}},
+ {0x93B9,2,{0xE6,0x8D,0x00,0x00,}},
+ {0x93BA,2,{0xE6,0x8E,0x00,0x00,}},
+ {0x93BB,2,{0xE6,0x8F,0x00,0x00,}},
+ {0x93BC,2,{0xE6,0x90,0x00,0x00,}},
+ {0x93BD,2,{0xE6,0x91,0x00,0x00,}},
+ {0x93BE,2,{0xE6,0x92,0x00,0x00,}},
+ {0x93BF,2,{0xE6,0x93,0x00,0x00,}},
+ {0x93C0,2,{0xE6,0x94,0x00,0x00,}},
+ {0x93C1,2,{0xE6,0x95,0x00,0x00,}},
+ {0x93C2,2,{0xE6,0x96,0x00,0x00,}},
+ {0x93C3,2,{0xE6,0x97,0x00,0x00,}},
+ {0x93C4,2,{0xE6,0x98,0x00,0x00,}},
+ {0x93C5,2,{0xE6,0x99,0x00,0x00,}},
+ {0x93C6,2,{0xE6,0x9A,0x00,0x00,}},
+ {0x93C7,2,{0xE6,0x9B,0x00,0x00,}},
+ {0x93C8,2,{0xE6,0x9C,0x00,0x00,}},
+ {0x93C9,2,{0xE6,0x9D,0x00,0x00,}},
+ {0x93CA,2,{0xF6,0xCB,0x00,0x00,}},
+ {0x93CB,2,{0xE6,0x9E,0x00,0x00,}},
+ {0x93CC,2,{0xE6,0x9F,0x00,0x00,}},
+ {0x93CD,2,{0xE6,0xA0,0x00,0x00,}},
+ {0x93CE,2,{0xE7,0x40,0x00,0x00,}},
+ {0x93CF,2,{0xE7,0x41,0x00,0x00,}},
+ {0x93D0,2,{0xE7,0x42,0x00,0x00,}},
+ {0x93D1,2,{0xE7,0x43,0x00,0x00,}},
+ {0x93D2,2,{0xE7,0x44,0x00,0x00,}},
+ {0x93D3,2,{0xE7,0x45,0x00,0x00,}},
+ {0x93D4,2,{0xE7,0x46,0x00,0x00,}},
+ {0x93D5,2,{0xE7,0x47,0x00,0x00,}},
+ {0x93D6,2,{0xF7,0xE9,0x00,0x00,}},
+ {0x93D7,2,{0xE7,0x48,0x00,0x00,}},
+ {0x93D8,2,{0xE7,0x49,0x00,0x00,}},
+ {0x93D9,2,{0xE7,0x4A,0x00,0x00,}},
+ {0x93DA,2,{0xE7,0x4B,0x00,0x00,}},
+ {0x93DB,2,{0xE7,0x4C,0x00,0x00,}},
+ {0x93DC,2,{0xE7,0x4D,0x00,0x00,}},
+ {0x93DD,2,{0xE7,0x4E,0x00,0x00,}},
+ {0x93DE,2,{0xE7,0x4F,0x00,0x00,}},
+ {0x93DF,2,{0xE7,0x50,0x00,0x00,}},
+ {0x93E0,2,{0xE7,0x51,0x00,0x00,}},
+ {0x93E1,2,{0xE7,0x52,0x00,0x00,}},
+ {0x93E2,2,{0xE7,0x53,0x00,0x00,}},
+ {0x93E3,2,{0xE7,0x54,0x00,0x00,}},
+ {0x93E4,2,{0xE7,0x55,0x00,0x00,}},
+ {0x93E5,2,{0xE7,0x56,0x00,0x00,}},
+ {0x93E6,2,{0xE7,0x57,0x00,0x00,}},
+ {0x93E7,2,{0xE7,0x58,0x00,0x00,}},
+ {0x93E8,2,{0xE7,0x59,0x00,0x00,}},
+ {0x93E9,2,{0xE7,0x5A,0x00,0x00,}},
+ {0x93EA,2,{0xE7,0x5B,0x00,0x00,}},
+ {0x93EB,2,{0xE7,0x5C,0x00,0x00,}},
+ {0x93EC,2,{0xE7,0x5D,0x00,0x00,}},
+ {0x93ED,2,{0xE7,0x5E,0x00,0x00,}},
+ {0x93EE,2,{0xE7,0x5F,0x00,0x00,}},
+ {0x93EF,2,{0xE7,0x60,0x00,0x00,}},
+ {0x93F0,2,{0xE7,0x61,0x00,0x00,}},
+ {0x93F1,2,{0xE7,0x62,0x00,0x00,}},
+ {0x93F2,2,{0xE7,0x63,0x00,0x00,}},
+ {0x93F3,2,{0xE7,0x64,0x00,0x00,}},
+ {0x93F4,2,{0xE7,0x65,0x00,0x00,}},
+ {0x93F5,2,{0xE7,0x66,0x00,0x00,}},
+ {0x93F6,2,{0xE7,0x67,0x00,0x00,}},
+ {0x93F7,2,{0xE7,0x68,0x00,0x00,}},
+ {0x93F8,2,{0xE7,0x69,0x00,0x00,}},
+ {0x93F9,2,{0xE7,0x6A,0x00,0x00,}},
+ {0x93FA,2,{0xE7,0x6B,0x00,0x00,}},
+ {0x93FB,2,{0xE7,0x6C,0x00,0x00,}},
+ {0x93FC,2,{0xE7,0x6D,0x00,0x00,}},
+ {0x93FD,2,{0xE7,0x6E,0x00,0x00,}},
+ {0x93FE,2,{0xE7,0x6F,0x00,0x00,}},
+ {0x93FF,2,{0xE7,0x70,0x00,0x00,}},
+ {0x9400,2,{0xE7,0x71,0x00,0x00,}},
+ {0x9401,2,{0xE7,0x72,0x00,0x00,}},
+ {0x9402,2,{0xE7,0x73,0x00,0x00,}},
+ {0x9403,2,{0xE7,0x74,0x00,0x00,}},
+ {0x9404,2,{0xE7,0x75,0x00,0x00,}},
+ {0x9405,2,{0xE7,0x76,0x00,0x00,}},
+ {0x9406,2,{0xE7,0x77,0x00,0x00,}},
+ {0x9407,2,{0xE7,0x78,0x00,0x00,}},
+ {0x9408,2,{0xE7,0x79,0x00,0x00,}},
+ {0x9409,2,{0xE7,0x7A,0x00,0x00,}},
+ {0x940A,2,{0xE7,0x7B,0x00,0x00,}},
+ {0x940B,2,{0xE7,0x7C,0x00,0x00,}},
+ {0x940C,2,{0xE7,0x7D,0x00,0x00,}},
+ {0x940D,2,{0xE7,0x7E,0x00,0x00,}},
+ {0x940E,2,{0xE7,0x80,0x00,0x00,}},
+ {0x940F,2,{0xE7,0x81,0x00,0x00,}},
+ {0x9410,2,{0xE7,0x82,0x00,0x00,}},
+ {0x9411,2,{0xE7,0x83,0x00,0x00,}},
+ {0x9412,2,{0xE7,0x84,0x00,0x00,}},
+ {0x9413,2,{0xE7,0x85,0x00,0x00,}},
+ {0x9414,2,{0xE7,0x86,0x00,0x00,}},
+ {0x9415,2,{0xE7,0x87,0x00,0x00,}},
+ {0x9416,2,{0xE7,0x88,0x00,0x00,}},
+ {0x9417,2,{0xE7,0x89,0x00,0x00,}},
+ {0x9418,2,{0xE7,0x8A,0x00,0x00,}},
+ {0x9419,2,{0xE7,0x8B,0x00,0x00,}},
+ {0x941A,2,{0xE7,0x8C,0x00,0x00,}},
+ {0x941B,2,{0xE7,0x8D,0x00,0x00,}},
+ {0x941C,2,{0xE7,0x8E,0x00,0x00,}},
+ {0x941D,2,{0xE7,0x8F,0x00,0x00,}},
+ {0x941E,2,{0xE7,0x90,0x00,0x00,}},
+ {0x941F,2,{0xE7,0x91,0x00,0x00,}},
+ {0x9420,2,{0xE7,0x92,0x00,0x00,}},
+ {0x9421,2,{0xE7,0x93,0x00,0x00,}},
+ {0x9422,2,{0xE7,0x94,0x00,0x00,}},
+ {0x9423,2,{0xE7,0x95,0x00,0x00,}},
+ {0x9424,2,{0xE7,0x96,0x00,0x00,}},
+ {0x9425,2,{0xE7,0x97,0x00,0x00,}},
+ {0x9426,2,{0xE7,0x98,0x00,0x00,}},
+ {0x9427,2,{0xE7,0x99,0x00,0x00,}},
+ {0x9428,2,{0xE7,0x9A,0x00,0x00,}},
+ {0x9429,2,{0xE7,0x9B,0x00,0x00,}},
+ {0x942A,2,{0xE7,0x9C,0x00,0x00,}},
+ {0x942B,2,{0xE7,0x9D,0x00,0x00,}},
+ {0x942C,2,{0xE7,0x9E,0x00,0x00,}},
+ {0x942D,2,{0xE7,0x9F,0x00,0x00,}},
+ {0x942E,2,{0xE7,0xA0,0x00,0x00,}},
+ {0x942F,2,{0xE8,0x40,0x00,0x00,}},
+ {0x9430,2,{0xE8,0x41,0x00,0x00,}},
+ {0x9431,2,{0xE8,0x42,0x00,0x00,}},
+ {0x9432,2,{0xE8,0x43,0x00,0x00,}},
+ {0x9433,2,{0xE8,0x44,0x00,0x00,}},
+ {0x9434,2,{0xE8,0x45,0x00,0x00,}},
+ {0x9435,2,{0xE8,0x46,0x00,0x00,}},
+ {0x9436,2,{0xE8,0x47,0x00,0x00,}},
+ {0x9437,2,{0xE8,0x48,0x00,0x00,}},
+ {0x9438,2,{0xE8,0x49,0x00,0x00,}},
+ {0x9439,2,{0xE8,0x4A,0x00,0x00,}},
+ {0x943A,2,{0xE8,0x4B,0x00,0x00,}},
+ {0x943B,2,{0xE8,0x4C,0x00,0x00,}},
+ {0x943C,2,{0xE8,0x4D,0x00,0x00,}},
+ {0x943D,2,{0xE8,0x4E,0x00,0x00,}},
+ {0x943E,2,{0xF6,0xCD,0x00,0x00,}},
+ {0x943F,2,{0xE8,0x4F,0x00,0x00,}},
+ {0x9440,2,{0xE8,0x50,0x00,0x00,}},
+ {0x9441,2,{0xE8,0x51,0x00,0x00,}},
+ {0x9442,2,{0xE8,0x52,0x00,0x00,}},
+ {0x9443,2,{0xE8,0x53,0x00,0x00,}},
+ {0x9444,2,{0xE8,0x54,0x00,0x00,}},
+ {0x9445,2,{0xE8,0x55,0x00,0x00,}},
+ {0x9446,2,{0xE8,0x56,0x00,0x00,}},
+ {0x9447,2,{0xE8,0x57,0x00,0x00,}},
+ {0x9448,2,{0xE8,0x58,0x00,0x00,}},
+ {0x9449,2,{0xE8,0x59,0x00,0x00,}},
+ {0x944A,2,{0xE8,0x5A,0x00,0x00,}},
+ {0x944B,2,{0xE8,0x5B,0x00,0x00,}},
+ {0x944C,2,{0xE8,0x5C,0x00,0x00,}},
+ {0x944D,2,{0xE8,0x5D,0x00,0x00,}},
+ {0x944E,2,{0xE8,0x5E,0x00,0x00,}},
+ {0x944F,2,{0xE8,0x5F,0x00,0x00,}},
+ {0x9450,2,{0xE8,0x60,0x00,0x00,}},
+ {0x9451,2,{0xE8,0x61,0x00,0x00,}},
+ {0x9452,2,{0xE8,0x62,0x00,0x00,}},
+ {0x9453,2,{0xE8,0x63,0x00,0x00,}},
+ {0x9454,2,{0xE8,0x64,0x00,0x00,}},
+ {0x9455,2,{0xE8,0x65,0x00,0x00,}},
+ {0x9456,2,{0xE8,0x66,0x00,0x00,}},
+ {0x9457,2,{0xE8,0x67,0x00,0x00,}},
+ {0x9458,2,{0xE8,0x68,0x00,0x00,}},
+ {0x9459,2,{0xE8,0x69,0x00,0x00,}},
+ {0x945A,2,{0xE8,0x6A,0x00,0x00,}},
+ {0x945B,2,{0xE8,0x6B,0x00,0x00,}},
+ {0x945C,2,{0xE8,0x6C,0x00,0x00,}},
+ {0x945D,2,{0xE8,0x6D,0x00,0x00,}},
+ {0x945E,2,{0xE8,0x6E,0x00,0x00,}},
+ {0x945F,2,{0xE8,0x6F,0x00,0x00,}},
+ {0x9460,2,{0xE8,0x70,0x00,0x00,}},
+ {0x9461,2,{0xE8,0x71,0x00,0x00,}},
+ {0x9462,2,{0xE8,0x72,0x00,0x00,}},
+ {0x9463,2,{0xE8,0x73,0x00,0x00,}},
+ {0x9464,2,{0xE8,0x74,0x00,0x00,}},
+ {0x9465,2,{0xE8,0x75,0x00,0x00,}},
+ {0x9466,2,{0xE8,0x76,0x00,0x00,}},
+ {0x9467,2,{0xE8,0x77,0x00,0x00,}},
+ {0x9468,2,{0xE8,0x78,0x00,0x00,}},
+ {0x9469,2,{0xE8,0x79,0x00,0x00,}},
+ {0x946A,2,{0xE8,0x7A,0x00,0x00,}},
+ {0x946B,2,{0xF6,0xCE,0x00,0x00,}},
+ {0x946C,2,{0xE8,0x7B,0x00,0x00,}},
+ {0x946D,2,{0xE8,0x7C,0x00,0x00,}},
+ {0x946E,2,{0xE8,0x7D,0x00,0x00,}},
+ {0x946F,2,{0xE8,0x7E,0x00,0x00,}},
+ {0x9470,2,{0xE8,0x80,0x00,0x00,}},
+ {0x9471,2,{0xE8,0x81,0x00,0x00,}},
+ {0x9472,2,{0xE8,0x82,0x00,0x00,}},
+ {0x9473,2,{0xE8,0x83,0x00,0x00,}},
+ {0x9474,2,{0xE8,0x84,0x00,0x00,}},
+ {0x9475,2,{0xE8,0x85,0x00,0x00,}},
+ {0x9476,2,{0xE8,0x86,0x00,0x00,}},
+ {0x9477,2,{0xE8,0x87,0x00,0x00,}},
+ {0x9478,2,{0xE8,0x88,0x00,0x00,}},
+ {0x9479,2,{0xE8,0x89,0x00,0x00,}},
+ {0x947A,2,{0xE8,0x8A,0x00,0x00,}},
+ {0x947B,2,{0xE8,0x8B,0x00,0x00,}},
+ {0x947C,2,{0xE8,0x8C,0x00,0x00,}},
+ {0x947D,2,{0xE8,0x8D,0x00,0x00,}},
+ {0x947E,2,{0xE8,0x8E,0x00,0x00,}},
+ {0x947F,2,{0xE8,0x8F,0x00,0x00,}},
+ {0x9480,2,{0xE8,0x90,0x00,0x00,}},
+ {0x9481,2,{0xE8,0x91,0x00,0x00,}},
+ {0x9482,2,{0xE8,0x92,0x00,0x00,}},
+ {0x9483,2,{0xE8,0x93,0x00,0x00,}},
+ {0x9484,2,{0xE8,0x94,0x00,0x00,}},
+ {0x9485,2,{0xEE,0xC4,0x00,0x00,}},
+ {0x9486,2,{0xEE,0xC5,0x00,0x00,}},
+ {0x9487,2,{0xEE,0xC6,0x00,0x00,}},
+ {0x9488,2,{0xD5,0xEB,0x00,0x00,}},
+ {0x9489,2,{0xB6,0xA4,0x00,0x00,}},
+ {0x948A,2,{0xEE,0xC8,0x00,0x00,}},
+ {0x948B,2,{0xEE,0xC7,0x00,0x00,}},
+ {0x948C,2,{0xEE,0xC9,0x00,0x00,}},
+ {0x948D,2,{0xEE,0xCA,0x00,0x00,}},
+ {0x948E,2,{0xC7,0xA5,0x00,0x00,}},
+ {0x948F,2,{0xEE,0xCB,0x00,0x00,}},
+ {0x9490,2,{0xEE,0xCC,0x00,0x00,}},
+ {0x9491,2,{0xE8,0x95,0x00,0x00,}},
+ {0x9492,2,{0xB7,0xB0,0x00,0x00,}},
+ {0x9493,2,{0xB5,0xF6,0x00,0x00,}},
+ {0x9494,2,{0xEE,0xCD,0x00,0x00,}},
+ {0x9495,2,{0xEE,0xCF,0x00,0x00,}},
+ {0x9496,2,{0xE8,0x96,0x00,0x00,}},
+ {0x9497,2,{0xEE,0xCE,0x00,0x00,}},
+ {0x9498,2,{0xE8,0x97,0x00,0x00,}},
+ {0x9499,2,{0xB8,0xC6,0x00,0x00,}},
+ {0x949A,2,{0xEE,0xD0,0x00,0x00,}},
+ {0x949B,2,{0xEE,0xD1,0x00,0x00,}},
+ {0x949C,2,{0xEE,0xD2,0x00,0x00,}},
+ {0x949D,2,{0xB6,0xDB,0x00,0x00,}},
+ {0x949E,2,{0xB3,0xAE,0x00,0x00,}},
+ {0x949F,2,{0xD6,0xD3,0x00,0x00,}},
+ {0x94A0,2,{0xC4,0xC6,0x00,0x00,}},
+ {0x94A1,2,{0xB1,0xB5,0x00,0x00,}},
+ {0x94A2,2,{0xB8,0xD6,0x00,0x00,}},
+ {0x94A3,2,{0xEE,0xD3,0x00,0x00,}},
+ {0x94A4,2,{0xEE,0xD4,0x00,0x00,}},
+ {0x94A5,2,{0xD4,0xBF,0x00,0x00,}},
+ {0x94A6,2,{0xC7,0xD5,0x00,0x00,}},
+ {0x94A7,2,{0xBE,0xFB,0x00,0x00,}},
+ {0x94A8,2,{0xCE,0xD9,0x00,0x00,}},
+ {0x94A9,2,{0xB9,0xB3,0x00,0x00,}},
+ {0x94AA,2,{0xEE,0xD6,0x00,0x00,}},
+ {0x94AB,2,{0xEE,0xD5,0x00,0x00,}},
+ {0x94AC,2,{0xEE,0xD8,0x00,0x00,}},
+ {0x94AD,2,{0xEE,0xD7,0x00,0x00,}},
+ {0x94AE,2,{0xC5,0xA5,0x00,0x00,}},
+ {0x94AF,2,{0xEE,0xD9,0x00,0x00,}},
+ {0x94B0,2,{0xEE,0xDA,0x00,0x00,}},
+ {0x94B1,2,{0xC7,0xAE,0x00,0x00,}},
+ {0x94B2,2,{0xEE,0xDB,0x00,0x00,}},
+ {0x94B3,2,{0xC7,0xAF,0x00,0x00,}},
+ {0x94B4,2,{0xEE,0xDC,0x00,0x00,}},
+ {0x94B5,2,{0xB2,0xA7,0x00,0x00,}},
+ {0x94B6,2,{0xEE,0xDD,0x00,0x00,}},
+ {0x94B7,2,{0xEE,0xDE,0x00,0x00,}},
+ {0x94B8,2,{0xEE,0xDF,0x00,0x00,}},
+ {0x94B9,2,{0xEE,0xE0,0x00,0x00,}},
+ {0x94BA,2,{0xEE,0xE1,0x00,0x00,}},
+ {0x94BB,2,{0xD7,0xEA,0x00,0x00,}},
+ {0x94BC,2,{0xEE,0xE2,0x00,0x00,}},
+ {0x94BD,2,{0xEE,0xE3,0x00,0x00,}},
+ {0x94BE,2,{0xBC,0xD8,0x00,0x00,}},
+ {0x94BF,2,{0xEE,0xE4,0x00,0x00,}},
+ {0x94C0,2,{0xD3,0xCB,0x00,0x00,}},
+ {0x94C1,2,{0xCC,0xFA,0x00,0x00,}},
+ {0x94C2,2,{0xB2,0xAC,0x00,0x00,}},
+ {0x94C3,2,{0xC1,0xE5,0x00,0x00,}},
+ {0x94C4,2,{0xEE,0xE5,0x00,0x00,}},
+ {0x94C5,2,{0xC7,0xA6,0x00,0x00,}},
+ {0x94C6,2,{0xC3,0xAD,0x00,0x00,}},
+ {0x94C7,2,{0xE8,0x98,0x00,0x00,}},
+ {0x94C8,2,{0xEE,0xE6,0x00,0x00,}},
+ {0x94C9,2,{0xEE,0xE7,0x00,0x00,}},
+ {0x94CA,2,{0xEE,0xE8,0x00,0x00,}},
+ {0x94CB,2,{0xEE,0xE9,0x00,0x00,}},
+ {0x94CC,2,{0xEE,0xEA,0x00,0x00,}},
+ {0x94CD,2,{0xEE,0xEB,0x00,0x00,}},
+ {0x94CE,2,{0xEE,0xEC,0x00,0x00,}},
+ {0x94CF,2,{0xE8,0x99,0x00,0x00,}},
+ {0x94D0,2,{0xEE,0xED,0x00,0x00,}},
+ {0x94D1,2,{0xEE,0xEE,0x00,0x00,}},
+ {0x94D2,2,{0xEE,0xEF,0x00,0x00,}},
+ {0x94D3,2,{0xE8,0x9A,0x00,0x00,}},
+ {0x94D4,2,{0xE8,0x9B,0x00,0x00,}},
+ {0x94D5,2,{0xEE,0xF0,0x00,0x00,}},
+ {0x94D6,2,{0xEE,0xF1,0x00,0x00,}},
+ {0x94D7,2,{0xEE,0xF2,0x00,0x00,}},
+ {0x94D8,2,{0xEE,0xF4,0x00,0x00,}},
+ {0x94D9,2,{0xEE,0xF3,0x00,0x00,}},
+ {0x94DA,2,{0xE8,0x9C,0x00,0x00,}},
+ {0x94DB,2,{0xEE,0xF5,0x00,0x00,}},
+ {0x94DC,2,{0xCD,0xAD,0x00,0x00,}},
+ {0x94DD,2,{0xC2,0xC1,0x00,0x00,}},
+ {0x94DE,2,{0xEE,0xF6,0x00,0x00,}},
+ {0x94DF,2,{0xEE,0xF7,0x00,0x00,}},
+ {0x94E0,2,{0xEE,0xF8,0x00,0x00,}},
+ {0x94E1,2,{0xD5,0xA1,0x00,0x00,}},
+ {0x94E2,2,{0xEE,0xF9,0x00,0x00,}},
+ {0x94E3,2,{0xCF,0xB3,0x00,0x00,}},
+ {0x94E4,2,{0xEE,0xFA,0x00,0x00,}},
+ {0x94E5,2,{0xEE,0xFB,0x00,0x00,}},
+ {0x94E6,2,{0xE8,0x9D,0x00,0x00,}},
+ {0x94E7,2,{0xEE,0xFC,0x00,0x00,}},
+ {0x94E8,2,{0xEE,0xFD,0x00,0x00,}},
+ {0x94E9,2,{0xEF,0xA1,0x00,0x00,}},
+ {0x94EA,2,{0xEE,0xFE,0x00,0x00,}},
+ {0x94EB,2,{0xEF,0xA2,0x00,0x00,}},
+ {0x94EC,2,{0xB8,0xF5,0x00,0x00,}},
+ {0x94ED,2,{0xC3,0xFA,0x00,0x00,}},
+ {0x94EE,2,{0xEF,0xA3,0x00,0x00,}},
+ {0x94EF,2,{0xEF,0xA4,0x00,0x00,}},
+ {0x94F0,2,{0xBD,0xC2,0x00,0x00,}},
+ {0x94F1,2,{0xD2,0xBF,0x00,0x00,}},
+ {0x94F2,2,{0xB2,0xF9,0x00,0x00,}},
+ {0x94F3,2,{0xEF,0xA5,0x00,0x00,}},
+ {0x94F4,2,{0xEF,0xA6,0x00,0x00,}},
+ {0x94F5,2,{0xEF,0xA7,0x00,0x00,}},
+ {0x94F6,2,{0xD2,0xF8,0x00,0x00,}},
+ {0x94F7,2,{0xEF,0xA8,0x00,0x00,}},
+ {0x94F8,2,{0xD6,0xFD,0x00,0x00,}},
+ {0x94F9,2,{0xEF,0xA9,0x00,0x00,}},
+ {0x94FA,2,{0xC6,0xCC,0x00,0x00,}},
+ {0x94FB,2,{0xE8,0x9E,0x00,0x00,}},
+ {0x94FC,2,{0xEF,0xAA,0x00,0x00,}},
+ {0x94FD,2,{0xEF,0xAB,0x00,0x00,}},
+ {0x94FE,2,{0xC1,0xB4,0x00,0x00,}},
+ {0x94FF,2,{0xEF,0xAC,0x00,0x00,}},
+ {0x9500,2,{0xCF,0xFA,0x00,0x00,}},
+ {0x9501,2,{0xCB,0xF8,0x00,0x00,}},
+ {0x9502,2,{0xEF,0xAE,0x00,0x00,}},
+ {0x9503,2,{0xEF,0xAD,0x00,0x00,}},
+ {0x9504,2,{0xB3,0xFA,0x00,0x00,}},
+ {0x9505,2,{0xB9,0xF8,0x00,0x00,}},
+ {0x9506,2,{0xEF,0xAF,0x00,0x00,}},
+ {0x9507,2,{0xEF,0xB0,0x00,0x00,}},
+ {0x9508,2,{0xD0,0xE2,0x00,0x00,}},
+ {0x9509,2,{0xEF,0xB1,0x00,0x00,}},
+ {0x950A,2,{0xEF,0xB2,0x00,0x00,}},
+ {0x950B,2,{0xB7,0xE6,0x00,0x00,}},
+ {0x950C,2,{0xD0,0xBF,0x00,0x00,}},
+ {0x950D,2,{0xEF,0xB3,0x00,0x00,}},
+ {0x950E,2,{0xEF,0xB4,0x00,0x00,}},
+ {0x950F,2,{0xEF,0xB5,0x00,0x00,}},
+ {0x9510,2,{0xC8,0xF1,0x00,0x00,}},
+ {0x9511,2,{0xCC,0xE0,0x00,0x00,}},
+ {0x9512,2,{0xEF,0xB6,0x00,0x00,}},
+ {0x9513,2,{0xEF,0xB7,0x00,0x00,}},
+ {0x9514,2,{0xEF,0xB8,0x00,0x00,}},
+ {0x9515,2,{0xEF,0xB9,0x00,0x00,}},
+ {0x9516,2,{0xEF,0xBA,0x00,0x00,}},
+ {0x9517,2,{0xD5,0xE0,0x00,0x00,}},
+ {0x9518,2,{0xEF,0xBB,0x00,0x00,}},
+ {0x9519,2,{0xB4,0xED,0x00,0x00,}},
+ {0x951A,2,{0xC3,0xAA,0x00,0x00,}},
+ {0x951B,2,{0xEF,0xBC,0x00,0x00,}},
+ {0x951C,2,{0xE8,0x9F,0x00,0x00,}},
+ {0x951D,2,{0xEF,0xBD,0x00,0x00,}},
+ {0x951E,2,{0xEF,0xBE,0x00,0x00,}},
+ {0x951F,2,{0xEF,0xBF,0x00,0x00,}},
+ {0x9520,2,{0xE8,0xA0,0x00,0x00,}},
+ {0x9521,2,{0xCE,0xFD,0x00,0x00,}},
+ {0x9522,2,{0xEF,0xC0,0x00,0x00,}},
+ {0x9523,2,{0xC2,0xE0,0x00,0x00,}},
+ {0x9524,2,{0xB4,0xB8,0x00,0x00,}},
+ {0x9525,2,{0xD7,0xB6,0x00,0x00,}},
+ {0x9526,2,{0xBD,0xF5,0x00,0x00,}},
+ {0x9527,2,{0xE9,0x40,0x00,0x00,}},
+ {0x9528,2,{0xCF,0xC7,0x00,0x00,}},
+ {0x9529,2,{0xEF,0xC3,0x00,0x00,}},
+ {0x952A,2,{0xEF,0xC1,0x00,0x00,}},
+ {0x952B,2,{0xEF,0xC2,0x00,0x00,}},
+ {0x952C,2,{0xEF,0xC4,0x00,0x00,}},
+ {0x952D,2,{0xB6,0xA7,0x00,0x00,}},
+ {0x952E,2,{0xBC,0xFC,0x00,0x00,}},
+ {0x952F,2,{0xBE,0xE2,0x00,0x00,}},
+ {0x9530,2,{0xC3,0xCC,0x00,0x00,}},
+ {0x9531,2,{0xEF,0xC5,0x00,0x00,}},
+ {0x9532,2,{0xEF,0xC6,0x00,0x00,}},
+ {0x9533,2,{0xE9,0x41,0x00,0x00,}},
+ {0x9534,2,{0xEF,0xC7,0x00,0x00,}},
+ {0x9535,2,{0xEF,0xCF,0x00,0x00,}},
+ {0x9536,2,{0xEF,0xC8,0x00,0x00,}},
+ {0x9537,2,{0xEF,0xC9,0x00,0x00,}},
+ {0x9538,2,{0xEF,0xCA,0x00,0x00,}},
+ {0x9539,2,{0xC7,0xC2,0x00,0x00,}},
+ {0x953A,2,{0xEF,0xF1,0x00,0x00,}},
+ {0x953B,2,{0xB6,0xCD,0x00,0x00,}},
+ {0x953C,2,{0xEF,0xCB,0x00,0x00,}},
+ {0x953D,2,{0xE9,0x42,0x00,0x00,}},
+ {0x953E,2,{0xEF,0xCC,0x00,0x00,}},
+ {0x953F,2,{0xEF,0xCD,0x00,0x00,}},
+ {0x9540,2,{0xB6,0xC6,0x00,0x00,}},
+ {0x9541,2,{0xC3,0xBE,0x00,0x00,}},
+ {0x9542,2,{0xEF,0xCE,0x00,0x00,}},
+ {0x9543,2,{0xE9,0x43,0x00,0x00,}},
+ {0x9544,2,{0xEF,0xD0,0x00,0x00,}},
+ {0x9545,2,{0xEF,0xD1,0x00,0x00,}},
+ {0x9546,2,{0xEF,0xD2,0x00,0x00,}},
+ {0x9547,2,{0xD5,0xF2,0x00,0x00,}},
+ {0x9548,2,{0xE9,0x44,0x00,0x00,}},
+ {0x9549,2,{0xEF,0xD3,0x00,0x00,}},
+ {0x954A,2,{0xC4,0xF7,0x00,0x00,}},
+ {0x954B,2,{0xE9,0x45,0x00,0x00,}},
+ {0x954C,2,{0xEF,0xD4,0x00,0x00,}},
+ {0x954D,2,{0xC4,0xF8,0x00,0x00,}},
+ {0x954E,2,{0xEF,0xD5,0x00,0x00,}},
+ {0x954F,2,{0xEF,0xD6,0x00,0x00,}},
+ {0x9550,2,{0xB8,0xE4,0x00,0x00,}},
+ {0x9551,2,{0xB0,0xF7,0x00,0x00,}},
+ {0x9552,2,{0xEF,0xD7,0x00,0x00,}},
+ {0x9553,2,{0xEF,0xD8,0x00,0x00,}},
+ {0x9554,2,{0xEF,0xD9,0x00,0x00,}},
+ {0x9555,2,{0xE9,0x46,0x00,0x00,}},
+ {0x9556,2,{0xEF,0xDA,0x00,0x00,}},
+ {0x9557,2,{0xEF,0xDB,0x00,0x00,}},
+ {0x9558,2,{0xEF,0xDC,0x00,0x00,}},
+ {0x9559,2,{0xEF,0xDD,0x00,0x00,}},
+ {0x955A,2,{0xE9,0x47,0x00,0x00,}},
+ {0x955B,2,{0xEF,0xDE,0x00,0x00,}},
+ {0x955C,2,{0xBE,0xB5,0x00,0x00,}},
+ {0x955D,2,{0xEF,0xE1,0x00,0x00,}},
+ {0x955E,2,{0xEF,0xDF,0x00,0x00,}},
+ {0x955F,2,{0xEF,0xE0,0x00,0x00,}},
+ {0x9560,2,{0xE9,0x48,0x00,0x00,}},
+ {0x9561,2,{0xEF,0xE2,0x00,0x00,}},
+ {0x9562,2,{0xEF,0xE3,0x00,0x00,}},
+ {0x9563,2,{0xC1,0xCD,0x00,0x00,}},
+ {0x9564,2,{0xEF,0xE4,0x00,0x00,}},
+ {0x9565,2,{0xEF,0xE5,0x00,0x00,}},
+ {0x9566,2,{0xEF,0xE6,0x00,0x00,}},
+ {0x9567,2,{0xEF,0xE7,0x00,0x00,}},
+ {0x9568,2,{0xEF,0xE8,0x00,0x00,}},
+ {0x9569,2,{0xEF,0xE9,0x00,0x00,}},
+ {0x956A,2,{0xEF,0xEA,0x00,0x00,}},
+ {0x956B,2,{0xEF,0xEB,0x00,0x00,}},
+ {0x956C,2,{0xEF,0xEC,0x00,0x00,}},
+ {0x956D,2,{0xC0,0xD8,0x00,0x00,}},
+ {0x956E,2,{0xE9,0x49,0x00,0x00,}},
+ {0x956F,2,{0xEF,0xED,0x00,0x00,}},
+ {0x9570,2,{0xC1,0xAD,0x00,0x00,}},
+ {0x9571,2,{0xEF,0xEE,0x00,0x00,}},
+ {0x9572,2,{0xEF,0xEF,0x00,0x00,}},
+ {0x9573,2,{0xEF,0xF0,0x00,0x00,}},
+ {0x9574,2,{0xE9,0x4A,0x00,0x00,}},
+ {0x9575,2,{0xE9,0x4B,0x00,0x00,}},
+ {0x9576,2,{0xCF,0xE2,0x00,0x00,}},
+ {0x9577,2,{0xE9,0x4C,0x00,0x00,}},
+ {0x9578,2,{0xE9,0x4D,0x00,0x00,}},
+ {0x9579,2,{0xE9,0x4E,0x00,0x00,}},
+ {0x957A,2,{0xE9,0x4F,0x00,0x00,}},
+ {0x957B,2,{0xE9,0x50,0x00,0x00,}},
+ {0x957C,2,{0xE9,0x51,0x00,0x00,}},
+ {0x957D,2,{0xE9,0x52,0x00,0x00,}},
+ {0x957E,2,{0xE9,0x53,0x00,0x00,}},
+ {0x957F,2,{0xB3,0xA4,0x00,0x00,}},
+ {0x9580,2,{0xE9,0x54,0x00,0x00,}},
+ {0x9581,2,{0xE9,0x55,0x00,0x00,}},
+ {0x9582,2,{0xE9,0x56,0x00,0x00,}},
+ {0x9583,2,{0xE9,0x57,0x00,0x00,}},
+ {0x9584,2,{0xE9,0x58,0x00,0x00,}},
+ {0x9585,2,{0xE9,0x59,0x00,0x00,}},
+ {0x9586,2,{0xE9,0x5A,0x00,0x00,}},
+ {0x9587,2,{0xE9,0x5B,0x00,0x00,}},
+ {0x9588,2,{0xE9,0x5C,0x00,0x00,}},
+ {0x9589,2,{0xE9,0x5D,0x00,0x00,}},
+ {0x958A,2,{0xE9,0x5E,0x00,0x00,}},
+ {0x958B,2,{0xE9,0x5F,0x00,0x00,}},
+ {0x958C,2,{0xE9,0x60,0x00,0x00,}},
+ {0x958D,2,{0xE9,0x61,0x00,0x00,}},
+ {0x958E,2,{0xE9,0x62,0x00,0x00,}},
+ {0x958F,2,{0xE9,0x63,0x00,0x00,}},
+ {0x9590,2,{0xE9,0x64,0x00,0x00,}},
+ {0x9591,2,{0xE9,0x65,0x00,0x00,}},
+ {0x9592,2,{0xE9,0x66,0x00,0x00,}},
+ {0x9593,2,{0xE9,0x67,0x00,0x00,}},
+ {0x9594,2,{0xE9,0x68,0x00,0x00,}},
+ {0x9595,2,{0xE9,0x69,0x00,0x00,}},
+ {0x9596,2,{0xE9,0x6A,0x00,0x00,}},
+ {0x9597,2,{0xE9,0x6B,0x00,0x00,}},
+ {0x9598,2,{0xE9,0x6C,0x00,0x00,}},
+ {0x9599,2,{0xE9,0x6D,0x00,0x00,}},
+ {0x959A,2,{0xE9,0x6E,0x00,0x00,}},
+ {0x959B,2,{0xE9,0x6F,0x00,0x00,}},
+ {0x959C,2,{0xE9,0x70,0x00,0x00,}},
+ {0x959D,2,{0xE9,0x71,0x00,0x00,}},
+ {0x959E,2,{0xE9,0x72,0x00,0x00,}},
+ {0x959F,2,{0xE9,0x73,0x00,0x00,}},
+ {0x95A0,2,{0xE9,0x74,0x00,0x00,}},
+ {0x95A1,2,{0xE9,0x75,0x00,0x00,}},
+ {0x95A2,2,{0xE9,0x76,0x00,0x00,}},
+ {0x95A3,2,{0xE9,0x77,0x00,0x00,}},
+ {0x95A4,2,{0xE9,0x78,0x00,0x00,}},
+ {0x95A5,2,{0xE9,0x79,0x00,0x00,}},
+ {0x95A6,2,{0xE9,0x7A,0x00,0x00,}},
+ {0x95A7,2,{0xE9,0x7B,0x00,0x00,}},
+ {0x95A8,2,{0xE9,0x7C,0x00,0x00,}},
+ {0x95A9,2,{0xE9,0x7D,0x00,0x00,}},
+ {0x95AA,2,{0xE9,0x7E,0x00,0x00,}},
+ {0x95AB,2,{0xE9,0x80,0x00,0x00,}},
+ {0x95AC,2,{0xE9,0x81,0x00,0x00,}},
+ {0x95AD,2,{0xE9,0x82,0x00,0x00,}},
+ {0x95AE,2,{0xE9,0x83,0x00,0x00,}},
+ {0x95AF,2,{0xE9,0x84,0x00,0x00,}},
+ {0x95B0,2,{0xE9,0x85,0x00,0x00,}},
+ {0x95B1,2,{0xE9,0x86,0x00,0x00,}},
+ {0x95B2,2,{0xE9,0x87,0x00,0x00,}},
+ {0x95B3,2,{0xE9,0x88,0x00,0x00,}},
+ {0x95B4,2,{0xE9,0x89,0x00,0x00,}},
+ {0x95B5,2,{0xE9,0x8A,0x00,0x00,}},
+ {0x95B6,2,{0xE9,0x8B,0x00,0x00,}},
+ {0x95B7,2,{0xE9,0x8C,0x00,0x00,}},
+ {0x95B8,2,{0xE9,0x8D,0x00,0x00,}},
+ {0x95B9,2,{0xE9,0x8E,0x00,0x00,}},
+ {0x95BA,2,{0xE9,0x8F,0x00,0x00,}},
+ {0x95BB,2,{0xE9,0x90,0x00,0x00,}},
+ {0x95BC,2,{0xE9,0x91,0x00,0x00,}},
+ {0x95BD,2,{0xE9,0x92,0x00,0x00,}},
+ {0x95BE,2,{0xE9,0x93,0x00,0x00,}},
+ {0x95BF,2,{0xE9,0x94,0x00,0x00,}},
+ {0x95C0,2,{0xE9,0x95,0x00,0x00,}},
+ {0x95C1,2,{0xE9,0x96,0x00,0x00,}},
+ {0x95C2,2,{0xE9,0x97,0x00,0x00,}},
+ {0x95C3,2,{0xE9,0x98,0x00,0x00,}},
+ {0x95C4,2,{0xE9,0x99,0x00,0x00,}},
+ {0x95C5,2,{0xE9,0x9A,0x00,0x00,}},
+ {0x95C6,2,{0xE9,0x9B,0x00,0x00,}},
+ {0x95C7,2,{0xE9,0x9C,0x00,0x00,}},
+ {0x95C8,2,{0xE9,0x9D,0x00,0x00,}},
+ {0x95C9,2,{0xE9,0x9E,0x00,0x00,}},
+ {0x95CA,2,{0xE9,0x9F,0x00,0x00,}},
+ {0x95CB,2,{0xE9,0xA0,0x00,0x00,}},
+ {0x95CC,2,{0xEA,0x40,0x00,0x00,}},
+ {0x95CD,2,{0xEA,0x41,0x00,0x00,}},
+ {0x95CE,2,{0xEA,0x42,0x00,0x00,}},
+ {0x95CF,2,{0xEA,0x43,0x00,0x00,}},
+ {0x95D0,2,{0xEA,0x44,0x00,0x00,}},
+ {0x95D1,2,{0xEA,0x45,0x00,0x00,}},
+ {0x95D2,2,{0xEA,0x46,0x00,0x00,}},
+ {0x95D3,2,{0xEA,0x47,0x00,0x00,}},
+ {0x95D4,2,{0xEA,0x48,0x00,0x00,}},
+ {0x95D5,2,{0xEA,0x49,0x00,0x00,}},
+ {0x95D6,2,{0xEA,0x4A,0x00,0x00,}},
+ {0x95D7,2,{0xEA,0x4B,0x00,0x00,}},
+ {0x95D8,2,{0xEA,0x4C,0x00,0x00,}},
+ {0x95D9,2,{0xEA,0x4D,0x00,0x00,}},
+ {0x95DA,2,{0xEA,0x4E,0x00,0x00,}},
+ {0x95DB,2,{0xEA,0x4F,0x00,0x00,}},
+ {0x95DC,2,{0xEA,0x50,0x00,0x00,}},
+ {0x95DD,2,{0xEA,0x51,0x00,0x00,}},
+ {0x95DE,2,{0xEA,0x52,0x00,0x00,}},
+ {0x95DF,2,{0xEA,0x53,0x00,0x00,}},
+ {0x95E0,2,{0xEA,0x54,0x00,0x00,}},
+ {0x95E1,2,{0xEA,0x55,0x00,0x00,}},
+ {0x95E2,2,{0xEA,0x56,0x00,0x00,}},
+ {0x95E3,2,{0xEA,0x57,0x00,0x00,}},
+ {0x95E4,2,{0xEA,0x58,0x00,0x00,}},
+ {0x95E5,2,{0xEA,0x59,0x00,0x00,}},
+ {0x95E6,2,{0xEA,0x5A,0x00,0x00,}},
+ {0x95E7,2,{0xEA,0x5B,0x00,0x00,}},
+ {0x95E8,2,{0xC3,0xC5,0x00,0x00,}},
+ {0x95E9,2,{0xE3,0xC5,0x00,0x00,}},
+ {0x95EA,2,{0xC9,0xC1,0x00,0x00,}},
+ {0x95EB,2,{0xE3,0xC6,0x00,0x00,}},
+ {0x95EC,2,{0xEA,0x5C,0x00,0x00,}},
+ {0x95ED,2,{0xB1,0xD5,0x00,0x00,}},
+ {0x95EE,2,{0xCE,0xCA,0x00,0x00,}},
+ {0x95EF,2,{0xB4,0xB3,0x00,0x00,}},
+ {0x95F0,2,{0xC8,0xF2,0x00,0x00,}},
+ {0x95F1,2,{0xE3,0xC7,0x00,0x00,}},
+ {0x95F2,2,{0xCF,0xD0,0x00,0x00,}},
+ {0x95F3,2,{0xE3,0xC8,0x00,0x00,}},
+ {0x95F4,2,{0xBC,0xE4,0x00,0x00,}},
+ {0x95F5,2,{0xE3,0xC9,0x00,0x00,}},
+ {0x95F6,2,{0xE3,0xCA,0x00,0x00,}},
+ {0x95F7,2,{0xC3,0xC6,0x00,0x00,}},
+ {0x95F8,2,{0xD5,0xA2,0x00,0x00,}},
+ {0x95F9,2,{0xC4,0xD6,0x00,0x00,}},
+ {0x95FA,2,{0xB9,0xEB,0x00,0x00,}},
+ {0x95FB,2,{0xCE,0xC5,0x00,0x00,}},
+ {0x95FC,2,{0xE3,0xCB,0x00,0x00,}},
+ {0x95FD,2,{0xC3,0xF6,0x00,0x00,}},
+ {0x95FE,2,{0xE3,0xCC,0x00,0x00,}},
+ {0x95FF,2,{0xEA,0x5D,0x00,0x00,}},
+ {0x9600,2,{0xB7,0xA7,0x00,0x00,}},
+ {0x9601,2,{0xB8,0xF3,0x00,0x00,}},
+ {0x9602,2,{0xBA,0xD2,0x00,0x00,}},
+ {0x9603,2,{0xE3,0xCD,0x00,0x00,}},
+ {0x9604,2,{0xE3,0xCE,0x00,0x00,}},
+ {0x9605,2,{0xD4,0xC4,0x00,0x00,}},
+ {0x9606,2,{0xE3,0xCF,0x00,0x00,}},
+ {0x9607,2,{0xEA,0x5E,0x00,0x00,}},
+ {0x9608,2,{0xE3,0xD0,0x00,0x00,}},
+ {0x9609,2,{0xD1,0xCB,0x00,0x00,}},
+ {0x960A,2,{0xE3,0xD1,0x00,0x00,}},
+ {0x960B,2,{0xE3,0xD2,0x00,0x00,}},
+ {0x960C,2,{0xE3,0xD3,0x00,0x00,}},
+ {0x960D,2,{0xE3,0xD4,0x00,0x00,}},
+ {0x960E,2,{0xD1,0xD6,0x00,0x00,}},
+ {0x960F,2,{0xE3,0xD5,0x00,0x00,}},
+ {0x9610,2,{0xB2,0xFB,0x00,0x00,}},
+ {0x9611,2,{0xC0,0xBB,0x00,0x00,}},
+ {0x9612,2,{0xE3,0xD6,0x00,0x00,}},
+ {0x9613,2,{0xEA,0x5F,0x00,0x00,}},
+ {0x9614,2,{0xC0,0xAB,0x00,0x00,}},
+ {0x9615,2,{0xE3,0xD7,0x00,0x00,}},
+ {0x9616,2,{0xE3,0xD8,0x00,0x00,}},
+ {0x9617,2,{0xE3,0xD9,0x00,0x00,}},
+ {0x9618,2,{0xEA,0x60,0x00,0x00,}},
+ {0x9619,2,{0xE3,0xDA,0x00,0x00,}},
+ {0x961A,2,{0xE3,0xDB,0x00,0x00,}},
+ {0x961B,2,{0xEA,0x61,0x00,0x00,}},
+ {0x961C,2,{0xB8,0xB7,0x00,0x00,}},
+ {0x961D,2,{0xDA,0xE2,0x00,0x00,}},
+ {0x961E,2,{0xEA,0x62,0x00,0x00,}},
+ {0x961F,2,{0xB6,0xD3,0x00,0x00,}},
+ {0x9620,2,{0xEA,0x63,0x00,0x00,}},
+ {0x9621,2,{0xDA,0xE4,0x00,0x00,}},
+ {0x9622,2,{0xDA,0xE3,0x00,0x00,}},
+ {0x9623,2,{0xEA,0x64,0x00,0x00,}},
+ {0x9624,2,{0xEA,0x65,0x00,0x00,}},
+ {0x9625,2,{0xEA,0x66,0x00,0x00,}},
+ {0x9626,2,{0xEA,0x67,0x00,0x00,}},
+ {0x9627,2,{0xEA,0x68,0x00,0x00,}},
+ {0x9628,2,{0xEA,0x69,0x00,0x00,}},
+ {0x9629,2,{0xEA,0x6A,0x00,0x00,}},
+ {0x962A,2,{0xDA,0xE6,0x00,0x00,}},
+ {0x962B,2,{0xEA,0x6B,0x00,0x00,}},
+ {0x962C,2,{0xEA,0x6C,0x00,0x00,}},
+ {0x962D,2,{0xEA,0x6D,0x00,0x00,}},
+ {0x962E,2,{0xC8,0xEE,0x00,0x00,}},
+ {0x962F,2,{0xEA,0x6E,0x00,0x00,}},
+ {0x9630,2,{0xEA,0x6F,0x00,0x00,}},
+ {0x9631,2,{0xDA,0xE5,0x00,0x00,}},
+ {0x9632,2,{0xB7,0xC0,0x00,0x00,}},
+ {0x9633,2,{0xD1,0xF4,0x00,0x00,}},
+ {0x9634,2,{0xD2,0xF5,0x00,0x00,}},
+ {0x9635,2,{0xD5,0xF3,0x00,0x00,}},
+ {0x9636,2,{0xBD,0xD7,0x00,0x00,}},
+ {0x9637,2,{0xEA,0x70,0x00,0x00,}},
+ {0x9638,2,{0xEA,0x71,0x00,0x00,}},
+ {0x9639,2,{0xEA,0x72,0x00,0x00,}},
+ {0x963A,2,{0xEA,0x73,0x00,0x00,}},
+ {0x963B,2,{0xD7,0xE8,0x00,0x00,}},
+ {0x963C,2,{0xDA,0xE8,0x00,0x00,}},
+ {0x963D,2,{0xDA,0xE7,0x00,0x00,}},
+ {0x963E,2,{0xEA,0x74,0x00,0x00,}},
+ {0x963F,2,{0xB0,0xA2,0x00,0x00,}},
+ {0x9640,2,{0xCD,0xD3,0x00,0x00,}},
+ {0x9641,2,{0xEA,0x75,0x00,0x00,}},
+ {0x9642,2,{0xDA,0xE9,0x00,0x00,}},
+ {0x9643,2,{0xEA,0x76,0x00,0x00,}},
+ {0x9644,2,{0xB8,0xBD,0x00,0x00,}},
+ {0x9645,2,{0xBC,0xCA,0x00,0x00,}},
+ {0x9646,2,{0xC2,0xBD,0x00,0x00,}},
+ {0x9647,2,{0xC2,0xA4,0x00,0x00,}},
+ {0x9648,2,{0xB3,0xC2,0x00,0x00,}},
+ {0x9649,2,{0xDA,0xEA,0x00,0x00,}},
+ {0x964A,2,{0xEA,0x77,0x00,0x00,}},
+ {0x964B,2,{0xC2,0xAA,0x00,0x00,}},
+ {0x964C,2,{0xC4,0xB0,0x00,0x00,}},
+ {0x964D,2,{0xBD,0xB5,0x00,0x00,}},
+ {0x964E,2,{0xEA,0x78,0x00,0x00,}},
+ {0x964F,2,{0xEA,0x79,0x00,0x00,}},
+ {0x9650,2,{0xCF,0xDE,0x00,0x00,}},
+ {0x9651,2,{0xEA,0x7A,0x00,0x00,}},
+ {0x9652,2,{0xEA,0x7B,0x00,0x00,}},
+ {0x9653,2,{0xEA,0x7C,0x00,0x00,}},
+ {0x9654,2,{0xDA,0xEB,0x00,0x00,}},
+ {0x9655,2,{0xC9,0xC2,0x00,0x00,}},
+ {0x9656,2,{0xEA,0x7D,0x00,0x00,}},
+ {0x9657,2,{0xEA,0x7E,0x00,0x00,}},
+ {0x9658,2,{0xEA,0x80,0x00,0x00,}},
+ {0x9659,2,{0xEA,0x81,0x00,0x00,}},
+ {0x965A,2,{0xEA,0x82,0x00,0x00,}},
+ {0x965B,2,{0xB1,0xDD,0x00,0x00,}},
+ {0x965C,2,{0xEA,0x83,0x00,0x00,}},
+ {0x965D,2,{0xEA,0x84,0x00,0x00,}},
+ {0x965E,2,{0xEA,0x85,0x00,0x00,}},
+ {0x965F,2,{0xDA,0xEC,0x00,0x00,}},
+ {0x9660,2,{0xEA,0x86,0x00,0x00,}},
+ {0x9661,2,{0xB6,0xB8,0x00,0x00,}},
+ {0x9662,2,{0xD4,0xBA,0x00,0x00,}},
+ {0x9663,2,{0xEA,0x87,0x00,0x00,}},
+ {0x9664,2,{0xB3,0xFD,0x00,0x00,}},
+ {0x9665,2,{0xEA,0x88,0x00,0x00,}},
+ {0x9666,2,{0xEA,0x89,0x00,0x00,}},
+ {0x9667,2,{0xDA,0xED,0x00,0x00,}},
+ {0x9668,2,{0xD4,0xC9,0x00,0x00,}},
+ {0x9669,2,{0xCF,0xD5,0x00,0x00,}},
+ {0x966A,2,{0xC5,0xE3,0x00,0x00,}},
+ {0x966B,2,{0xEA,0x8A,0x00,0x00,}},
+ {0x966C,2,{0xDA,0xEE,0x00,0x00,}},
+ {0x966D,2,{0xEA,0x8B,0x00,0x00,}},
+ {0x966E,2,{0xEA,0x8C,0x00,0x00,}},
+ {0x966F,2,{0xEA,0x8D,0x00,0x00,}},
+ {0x9670,2,{0xEA,0x8E,0x00,0x00,}},
+ {0x9671,2,{0xEA,0x8F,0x00,0x00,}},
+ {0x9672,2,{0xDA,0xEF,0x00,0x00,}},
+ {0x9673,2,{0xEA,0x90,0x00,0x00,}},
+ {0x9674,2,{0xDA,0xF0,0x00,0x00,}},
+ {0x9675,2,{0xC1,0xEA,0x00,0x00,}},
+ {0x9676,2,{0xCC,0xD5,0x00,0x00,}},
+ {0x9677,2,{0xCF,0xDD,0x00,0x00,}},
+ {0x9678,2,{0xEA,0x91,0x00,0x00,}},
+ {0x9679,2,{0xEA,0x92,0x00,0x00,}},
+ {0x967A,2,{0xEA,0x93,0x00,0x00,}},
+ {0x967B,2,{0xEA,0x94,0x00,0x00,}},
+ {0x967C,2,{0xEA,0x95,0x00,0x00,}},
+ {0x967D,2,{0xEA,0x96,0x00,0x00,}},
+ {0x967E,2,{0xEA,0x97,0x00,0x00,}},
+ {0x967F,2,{0xEA,0x98,0x00,0x00,}},
+ {0x9680,2,{0xEA,0x99,0x00,0x00,}},
+ {0x9681,2,{0xEA,0x9A,0x00,0x00,}},
+ {0x9682,2,{0xEA,0x9B,0x00,0x00,}},
+ {0x9683,2,{0xEA,0x9C,0x00,0x00,}},
+ {0x9684,2,{0xEA,0x9D,0x00,0x00,}},
+ {0x9685,2,{0xD3,0xE7,0x00,0x00,}},
+ {0x9686,2,{0xC2,0xA1,0x00,0x00,}},
+ {0x9687,2,{0xEA,0x9E,0x00,0x00,}},
+ {0x9688,2,{0xDA,0xF1,0x00,0x00,}},
+ {0x9689,2,{0xEA,0x9F,0x00,0x00,}},
+ {0x968A,2,{0xEA,0xA0,0x00,0x00,}},
+ {0x968B,2,{0xCB,0xE5,0x00,0x00,}},
+ {0x968C,2,{0xEB,0x40,0x00,0x00,}},
+ {0x968D,2,{0xDA,0xF2,0x00,0x00,}},
+ {0x968E,2,{0xEB,0x41,0x00,0x00,}},
+ {0x968F,2,{0xCB,0xE6,0x00,0x00,}},
+ {0x9690,2,{0xD2,0xFE,0x00,0x00,}},
+ {0x9691,2,{0xEB,0x42,0x00,0x00,}},
+ {0x9692,2,{0xEB,0x43,0x00,0x00,}},
+ {0x9693,2,{0xEB,0x44,0x00,0x00,}},
+ {0x9694,2,{0xB8,0xF4,0x00,0x00,}},
+ {0x9695,2,{0xEB,0x45,0x00,0x00,}},
+ {0x9696,2,{0xEB,0x46,0x00,0x00,}},
+ {0x9697,2,{0xDA,0xF3,0x00,0x00,}},
+ {0x9698,2,{0xB0,0xAF,0x00,0x00,}},
+ {0x9699,2,{0xCF,0xB6,0x00,0x00,}},
+ {0x969A,2,{0xEB,0x47,0x00,0x00,}},
+ {0x969B,2,{0xEB,0x48,0x00,0x00,}},
+ {0x969C,2,{0xD5,0xCF,0x00,0x00,}},
+ {0x969D,2,{0xEB,0x49,0x00,0x00,}},
+ {0x969E,2,{0xEB,0x4A,0x00,0x00,}},
+ {0x969F,2,{0xEB,0x4B,0x00,0x00,}},
+ {0x96A0,2,{0xEB,0x4C,0x00,0x00,}},
+ {0x96A1,2,{0xEB,0x4D,0x00,0x00,}},
+ {0x96A2,2,{0xEB,0x4E,0x00,0x00,}},
+ {0x96A3,2,{0xEB,0x4F,0x00,0x00,}},
+ {0x96A4,2,{0xEB,0x50,0x00,0x00,}},
+ {0x96A5,2,{0xEB,0x51,0x00,0x00,}},
+ {0x96A6,2,{0xEB,0x52,0x00,0x00,}},
+ {0x96A7,2,{0xCB,0xED,0x00,0x00,}},
+ {0x96A8,2,{0xEB,0x53,0x00,0x00,}},
+ {0x96A9,2,{0xEB,0x54,0x00,0x00,}},
+ {0x96AA,2,{0xEB,0x55,0x00,0x00,}},
+ {0x96AB,2,{0xEB,0x56,0x00,0x00,}},
+ {0x96AC,2,{0xEB,0x57,0x00,0x00,}},
+ {0x96AD,2,{0xEB,0x58,0x00,0x00,}},
+ {0x96AE,2,{0xEB,0x59,0x00,0x00,}},
+ {0x96AF,2,{0xEB,0x5A,0x00,0x00,}},
+ {0x96B0,2,{0xDA,0xF4,0x00,0x00,}},
+ {0x96B1,2,{0xEB,0x5B,0x00,0x00,}},
+ {0x96B2,2,{0xEB,0x5C,0x00,0x00,}},
+ {0x96B3,2,{0xE3,0xC4,0x00,0x00,}},
+ {0x96B4,2,{0xEB,0x5D,0x00,0x00,}},
+ {0x96B5,2,{0xEB,0x5E,0x00,0x00,}},
+ {0x96B6,2,{0xC1,0xA5,0x00,0x00,}},
+ {0x96B7,2,{0xEB,0x5F,0x00,0x00,}},
+ {0x96B8,2,{0xEB,0x60,0x00,0x00,}},
+ {0x96B9,2,{0xF6,0xBF,0x00,0x00,}},
+ {0x96BA,2,{0xEB,0x61,0x00,0x00,}},
+ {0x96BB,2,{0xEB,0x62,0x00,0x00,}},
+ {0x96BC,2,{0xF6,0xC0,0x00,0x00,}},
+ {0x96BD,2,{0xF6,0xC1,0x00,0x00,}},
+ {0x96BE,2,{0xC4,0xD1,0x00,0x00,}},
+ {0x96BF,2,{0xEB,0x63,0x00,0x00,}},
+ {0x96C0,2,{0xC8,0xB8,0x00,0x00,}},
+ {0x96C1,2,{0xD1,0xE3,0x00,0x00,}},
+ {0x96C2,2,{0xEB,0x64,0x00,0x00,}},
+ {0x96C3,2,{0xEB,0x65,0x00,0x00,}},
+ {0x96C4,2,{0xD0,0xDB,0x00,0x00,}},
+ {0x96C5,2,{0xD1,0xC5,0x00,0x00,}},
+ {0x96C6,2,{0xBC,0xAF,0x00,0x00,}},
+ {0x96C7,2,{0xB9,0xCD,0x00,0x00,}},
+ {0x96C8,2,{0xEB,0x66,0x00,0x00,}},
+ {0x96C9,2,{0xEF,0xF4,0x00,0x00,}},
+ {0x96CA,2,{0xEB,0x67,0x00,0x00,}},
+ {0x96CB,2,{0xEB,0x68,0x00,0x00,}},
+ {0x96CC,2,{0xB4,0xC6,0x00,0x00,}},
+ {0x96CD,2,{0xD3,0xBA,0x00,0x00,}},
+ {0x96CE,2,{0xF6,0xC2,0x00,0x00,}},
+ {0x96CF,2,{0xB3,0xFB,0x00,0x00,}},
+ {0x96D0,2,{0xEB,0x69,0x00,0x00,}},
+ {0x96D1,2,{0xEB,0x6A,0x00,0x00,}},
+ {0x96D2,2,{0xF6,0xC3,0x00,0x00,}},
+ {0x96D3,2,{0xEB,0x6B,0x00,0x00,}},
+ {0x96D4,2,{0xEB,0x6C,0x00,0x00,}},
+ {0x96D5,2,{0xB5,0xF1,0x00,0x00,}},
+ {0x96D6,2,{0xEB,0x6D,0x00,0x00,}},
+ {0x96D7,2,{0xEB,0x6E,0x00,0x00,}},
+ {0x96D8,2,{0xEB,0x6F,0x00,0x00,}},
+ {0x96D9,2,{0xEB,0x70,0x00,0x00,}},
+ {0x96DA,2,{0xEB,0x71,0x00,0x00,}},
+ {0x96DB,2,{0xEB,0x72,0x00,0x00,}},
+ {0x96DC,2,{0xEB,0x73,0x00,0x00,}},
+ {0x96DD,2,{0xEB,0x74,0x00,0x00,}},
+ {0x96DE,2,{0xEB,0x75,0x00,0x00,}},
+ {0x96DF,2,{0xEB,0x76,0x00,0x00,}},
+ {0x96E0,2,{0xF6,0xC5,0x00,0x00,}},
+ {0x96E1,2,{0xEB,0x77,0x00,0x00,}},
+ {0x96E2,2,{0xEB,0x78,0x00,0x00,}},
+ {0x96E3,2,{0xEB,0x79,0x00,0x00,}},
+ {0x96E4,2,{0xEB,0x7A,0x00,0x00,}},
+ {0x96E5,2,{0xEB,0x7B,0x00,0x00,}},
+ {0x96E6,2,{0xEB,0x7C,0x00,0x00,}},
+ {0x96E7,2,{0xEB,0x7D,0x00,0x00,}},
+ {0x96E8,2,{0xD3,0xEA,0x00,0x00,}},
+ {0x96E9,2,{0xF6,0xA7,0x00,0x00,}},
+ {0x96EA,2,{0xD1,0xA9,0x00,0x00,}},
+ {0x96EB,2,{0xEB,0x7E,0x00,0x00,}},
+ {0x96EC,2,{0xEB,0x80,0x00,0x00,}},
+ {0x96ED,2,{0xEB,0x81,0x00,0x00,}},
+ {0x96EE,2,{0xEB,0x82,0x00,0x00,}},
+ {0x96EF,2,{0xF6,0xA9,0x00,0x00,}},
+ {0x96F0,2,{0xEB,0x83,0x00,0x00,}},
+ {0x96F1,2,{0xEB,0x84,0x00,0x00,}},
+ {0x96F2,2,{0xEB,0x85,0x00,0x00,}},
+ {0x96F3,2,{0xF6,0xA8,0x00,0x00,}},
+ {0x96F4,2,{0xEB,0x86,0x00,0x00,}},
+ {0x96F5,2,{0xEB,0x87,0x00,0x00,}},
+ {0x96F6,2,{0xC1,0xE3,0x00,0x00,}},
+ {0x96F7,2,{0xC0,0xD7,0x00,0x00,}},
+ {0x96F8,2,{0xEB,0x88,0x00,0x00,}},
+ {0x96F9,2,{0xB1,0xA2,0x00,0x00,}},
+ {0x96FA,2,{0xEB,0x89,0x00,0x00,}},
+ {0x96FB,2,{0xEB,0x8A,0x00,0x00,}},
+ {0x96FC,2,{0xEB,0x8B,0x00,0x00,}},
+ {0x96FD,2,{0xEB,0x8C,0x00,0x00,}},
+ {0x96FE,2,{0xCE,0xED,0x00,0x00,}},
+ {0x96FF,2,{0xEB,0x8D,0x00,0x00,}},
+ {0x9700,2,{0xD0,0xE8,0x00,0x00,}},
+ {0x9701,2,{0xF6,0xAB,0x00,0x00,}},
+ {0x9702,2,{0xEB,0x8E,0x00,0x00,}},
+ {0x9703,2,{0xEB,0x8F,0x00,0x00,}},
+ {0x9704,2,{0xCF,0xF6,0x00,0x00,}},
+ {0x9705,2,{0xEB,0x90,0x00,0x00,}},
+ {0x9706,2,{0xF6,0xAA,0x00,0x00,}},
+ {0x9707,2,{0xD5,0xF0,0x00,0x00,}},
+ {0x9708,2,{0xF6,0xAC,0x00,0x00,}},
+ {0x9709,2,{0xC3,0xB9,0x00,0x00,}},
+ {0x970A,2,{0xEB,0x91,0x00,0x00,}},
+ {0x970B,2,{0xEB,0x92,0x00,0x00,}},
+ {0x970C,2,{0xEB,0x93,0x00,0x00,}},
+ {0x970D,2,{0xBB,0xF4,0x00,0x00,}},
+ {0x970E,2,{0xF6,0xAE,0x00,0x00,}},
+ {0x970F,2,{0xF6,0xAD,0x00,0x00,}},
+ {0x9710,2,{0xEB,0x94,0x00,0x00,}},
+ {0x9711,2,{0xEB,0x95,0x00,0x00,}},
+ {0x9712,2,{0xEB,0x96,0x00,0x00,}},
+ {0x9713,2,{0xC4,0xDE,0x00,0x00,}},
+ {0x9714,2,{0xEB,0x97,0x00,0x00,}},
+ {0x9715,2,{0xEB,0x98,0x00,0x00,}},
+ {0x9716,2,{0xC1,0xD8,0x00,0x00,}},
+ {0x9717,2,{0xEB,0x99,0x00,0x00,}},
+ {0x9718,2,{0xEB,0x9A,0x00,0x00,}},
+ {0x9719,2,{0xEB,0x9B,0x00,0x00,}},
+ {0x971A,2,{0xEB,0x9C,0x00,0x00,}},
+ {0x971B,2,{0xEB,0x9D,0x00,0x00,}},
+ {0x971C,2,{0xCB,0xAA,0x00,0x00,}},
+ {0x971D,2,{0xEB,0x9E,0x00,0x00,}},
+ {0x971E,2,{0xCF,0xBC,0x00,0x00,}},
+ {0x971F,2,{0xEB,0x9F,0x00,0x00,}},
+ {0x9720,2,{0xEB,0xA0,0x00,0x00,}},
+ {0x9721,2,{0xEC,0x40,0x00,0x00,}},
+ {0x9722,2,{0xEC,0x41,0x00,0x00,}},
+ {0x9723,2,{0xEC,0x42,0x00,0x00,}},
+ {0x9724,2,{0xEC,0x43,0x00,0x00,}},
+ {0x9725,2,{0xEC,0x44,0x00,0x00,}},
+ {0x9726,2,{0xEC,0x45,0x00,0x00,}},
+ {0x9727,2,{0xEC,0x46,0x00,0x00,}},
+ {0x9728,2,{0xEC,0x47,0x00,0x00,}},
+ {0x9729,2,{0xEC,0x48,0x00,0x00,}},
+ {0x972A,2,{0xF6,0xAF,0x00,0x00,}},
+ {0x972B,2,{0xEC,0x49,0x00,0x00,}},
+ {0x972C,2,{0xEC,0x4A,0x00,0x00,}},
+ {0x972D,2,{0xF6,0xB0,0x00,0x00,}},
+ {0x972E,2,{0xEC,0x4B,0x00,0x00,}},
+ {0x972F,2,{0xEC,0x4C,0x00,0x00,}},
+ {0x9730,2,{0xF6,0xB1,0x00,0x00,}},
+ {0x9731,2,{0xEC,0x4D,0x00,0x00,}},
+ {0x9732,2,{0xC2,0xB6,0x00,0x00,}},
+ {0x9733,2,{0xEC,0x4E,0x00,0x00,}},
+ {0x9734,2,{0xEC,0x4F,0x00,0x00,}},
+ {0x9735,2,{0xEC,0x50,0x00,0x00,}},
+ {0x9736,2,{0xEC,0x51,0x00,0x00,}},
+ {0x9737,2,{0xEC,0x52,0x00,0x00,}},
+ {0x9738,2,{0xB0,0xD4,0x00,0x00,}},
+ {0x9739,2,{0xC5,0xF9,0x00,0x00,}},
+ {0x973A,2,{0xEC,0x53,0x00,0x00,}},
+ {0x973B,2,{0xEC,0x54,0x00,0x00,}},
+ {0x973C,2,{0xEC,0x55,0x00,0x00,}},
+ {0x973D,2,{0xEC,0x56,0x00,0x00,}},
+ {0x973E,2,{0xF6,0xB2,0x00,0x00,}},
+ {0x973F,2,{0xEC,0x57,0x00,0x00,}},
+ {0x9740,2,{0xEC,0x58,0x00,0x00,}},
+ {0x9741,2,{0xEC,0x59,0x00,0x00,}},
+ {0x9742,2,{0xEC,0x5A,0x00,0x00,}},
+ {0x9743,2,{0xEC,0x5B,0x00,0x00,}},
+ {0x9744,2,{0xEC,0x5C,0x00,0x00,}},
+ {0x9745,2,{0xEC,0x5D,0x00,0x00,}},
+ {0x9746,2,{0xEC,0x5E,0x00,0x00,}},
+ {0x9747,2,{0xEC,0x5F,0x00,0x00,}},
+ {0x9748,2,{0xEC,0x60,0x00,0x00,}},
+ {0x9749,2,{0xEC,0x61,0x00,0x00,}},
+ {0x974A,2,{0xEC,0x62,0x00,0x00,}},
+ {0x974B,2,{0xEC,0x63,0x00,0x00,}},
+ {0x974C,2,{0xEC,0x64,0x00,0x00,}},
+ {0x974D,2,{0xEC,0x65,0x00,0x00,}},
+ {0x974E,2,{0xEC,0x66,0x00,0x00,}},
+ {0x974F,2,{0xEC,0x67,0x00,0x00,}},
+ {0x9750,2,{0xEC,0x68,0x00,0x00,}},
+ {0x9751,2,{0xEC,0x69,0x00,0x00,}},
+ {0x9752,2,{0xC7,0xE0,0x00,0x00,}},
+ {0x9753,2,{0xF6,0xA6,0x00,0x00,}},
+ {0x9754,2,{0xEC,0x6A,0x00,0x00,}},
+ {0x9755,2,{0xEC,0x6B,0x00,0x00,}},
+ {0x9756,2,{0xBE,0xB8,0x00,0x00,}},
+ {0x9757,2,{0xEC,0x6C,0x00,0x00,}},
+ {0x9758,2,{0xEC,0x6D,0x00,0x00,}},
+ {0x9759,2,{0xBE,0xB2,0x00,0x00,}},
+ {0x975A,2,{0xEC,0x6E,0x00,0x00,}},
+ {0x975B,2,{0xB5,0xE5,0x00,0x00,}},
+ {0x975C,2,{0xEC,0x6F,0x00,0x00,}},
+ {0x975D,2,{0xEC,0x70,0x00,0x00,}},
+ {0x975E,2,{0xB7,0xC7,0x00,0x00,}},
+ {0x975F,2,{0xEC,0x71,0x00,0x00,}},
+ {0x9760,2,{0xBF,0xBF,0x00,0x00,}},
+ {0x9761,2,{0xC3,0xD2,0x00,0x00,}},
+ {0x9762,2,{0xC3,0xE6,0x00,0x00,}},
+ {0x9763,2,{0xEC,0x72,0x00,0x00,}},
+ {0x9764,2,{0xEC,0x73,0x00,0x00,}},
+ {0x9765,2,{0xD8,0xCC,0x00,0x00,}},
+ {0x9766,2,{0xEC,0x74,0x00,0x00,}},
+ {0x9767,2,{0xEC,0x75,0x00,0x00,}},
+ {0x9768,2,{0xEC,0x76,0x00,0x00,}},
+ {0x9769,2,{0xB8,0xEF,0x00,0x00,}},
+ {0x976A,2,{0xEC,0x77,0x00,0x00,}},
+ {0x976B,2,{0xEC,0x78,0x00,0x00,}},
+ {0x976C,2,{0xEC,0x79,0x00,0x00,}},
+ {0x976D,2,{0xEC,0x7A,0x00,0x00,}},
+ {0x976E,2,{0xEC,0x7B,0x00,0x00,}},
+ {0x976F,2,{0xEC,0x7C,0x00,0x00,}},
+ {0x9770,2,{0xEC,0x7D,0x00,0x00,}},
+ {0x9771,2,{0xEC,0x7E,0x00,0x00,}},
+ {0x9772,2,{0xEC,0x80,0x00,0x00,}},
+ {0x9773,2,{0xBD,0xF9,0x00,0x00,}},
+ {0x9774,2,{0xD1,0xA5,0x00,0x00,}},
+ {0x9775,2,{0xEC,0x81,0x00,0x00,}},
+ {0x9776,2,{0xB0,0xD0,0x00,0x00,}},
+ {0x9777,2,{0xEC,0x82,0x00,0x00,}},
+ {0x9778,2,{0xEC,0x83,0x00,0x00,}},
+ {0x9779,2,{0xEC,0x84,0x00,0x00,}},
+ {0x977A,2,{0xEC,0x85,0x00,0x00,}},
+ {0x977B,2,{0xEC,0x86,0x00,0x00,}},
+ {0x977C,2,{0xF7,0xB0,0x00,0x00,}},
+ {0x977D,2,{0xEC,0x87,0x00,0x00,}},
+ {0x977E,2,{0xEC,0x88,0x00,0x00,}},
+ {0x977F,2,{0xEC,0x89,0x00,0x00,}},
+ {0x9780,2,{0xEC,0x8A,0x00,0x00,}},
+ {0x9781,2,{0xEC,0x8B,0x00,0x00,}},
+ {0x9782,2,{0xEC,0x8C,0x00,0x00,}},
+ {0x9783,2,{0xEC,0x8D,0x00,0x00,}},
+ {0x9784,2,{0xEC,0x8E,0x00,0x00,}},
+ {0x9785,2,{0xF7,0xB1,0x00,0x00,}},
+ {0x9786,2,{0xEC,0x8F,0x00,0x00,}},
+ {0x9787,2,{0xEC,0x90,0x00,0x00,}},
+ {0x9788,2,{0xEC,0x91,0x00,0x00,}},
+ {0x9789,2,{0xEC,0x92,0x00,0x00,}},
+ {0x978A,2,{0xEC,0x93,0x00,0x00,}},
+ {0x978B,2,{0xD0,0xAC,0x00,0x00,}},
+ {0x978C,2,{0xEC,0x94,0x00,0x00,}},
+ {0x978D,2,{0xB0,0xB0,0x00,0x00,}},
+ {0x978E,2,{0xEC,0x95,0x00,0x00,}},
+ {0x978F,2,{0xEC,0x96,0x00,0x00,}},
+ {0x9790,2,{0xEC,0x97,0x00,0x00,}},
+ {0x9791,2,{0xF7,0xB2,0x00,0x00,}},
+ {0x9792,2,{0xF7,0xB3,0x00,0x00,}},
+ {0x9793,2,{0xEC,0x98,0x00,0x00,}},
+ {0x9794,2,{0xF7,0xB4,0x00,0x00,}},
+ {0x9795,2,{0xEC,0x99,0x00,0x00,}},
+ {0x9796,2,{0xEC,0x9A,0x00,0x00,}},
+ {0x9797,2,{0xEC,0x9B,0x00,0x00,}},
+ {0x9798,2,{0xC7,0xCA,0x00,0x00,}},
+ {0x9799,2,{0xEC,0x9C,0x00,0x00,}},
+ {0x979A,2,{0xEC,0x9D,0x00,0x00,}},
+ {0x979B,2,{0xEC,0x9E,0x00,0x00,}},
+ {0x979C,2,{0xEC,0x9F,0x00,0x00,}},
+ {0x979D,2,{0xEC,0xA0,0x00,0x00,}},
+ {0x979E,2,{0xED,0x40,0x00,0x00,}},
+ {0x979F,2,{0xED,0x41,0x00,0x00,}},
+ {0x97A0,2,{0xBE,0xCF,0x00,0x00,}},
+ {0x97A1,2,{0xED,0x42,0x00,0x00,}},
+ {0x97A2,2,{0xED,0x43,0x00,0x00,}},
+ {0x97A3,2,{0xF7,0xB7,0x00,0x00,}},
+ {0x97A4,2,{0xED,0x44,0x00,0x00,}},
+ {0x97A5,2,{0xED,0x45,0x00,0x00,}},
+ {0x97A6,2,{0xED,0x46,0x00,0x00,}},
+ {0x97A7,2,{0xED,0x47,0x00,0x00,}},
+ {0x97A8,2,{0xED,0x48,0x00,0x00,}},
+ {0x97A9,2,{0xED,0x49,0x00,0x00,}},
+ {0x97AA,2,{0xED,0x4A,0x00,0x00,}},
+ {0x97AB,2,{0xF7,0xB6,0x00,0x00,}},
+ {0x97AC,2,{0xED,0x4B,0x00,0x00,}},
+ {0x97AD,2,{0xB1,0xDE,0x00,0x00,}},
+ {0x97AE,2,{0xED,0x4C,0x00,0x00,}},
+ {0x97AF,2,{0xF7,0xB5,0x00,0x00,}},
+ {0x97B0,2,{0xED,0x4D,0x00,0x00,}},
+ {0x97B1,2,{0xED,0x4E,0x00,0x00,}},
+ {0x97B2,2,{0xF7,0xB8,0x00,0x00,}},
+ {0x97B3,2,{0xED,0x4F,0x00,0x00,}},
+ {0x97B4,2,{0xF7,0xB9,0x00,0x00,}},
+ {0x97B5,2,{0xED,0x50,0x00,0x00,}},
+ {0x97B6,2,{0xED,0x51,0x00,0x00,}},
+ {0x97B7,2,{0xED,0x52,0x00,0x00,}},
+ {0x97B8,2,{0xED,0x53,0x00,0x00,}},
+ {0x97B9,2,{0xED,0x54,0x00,0x00,}},
+ {0x97BA,2,{0xED,0x55,0x00,0x00,}},
+ {0x97BB,2,{0xED,0x56,0x00,0x00,}},
+ {0x97BC,2,{0xED,0x57,0x00,0x00,}},
+ {0x97BD,2,{0xED,0x58,0x00,0x00,}},
+ {0x97BE,2,{0xED,0x59,0x00,0x00,}},
+ {0x97BF,2,{0xED,0x5A,0x00,0x00,}},
+ {0x97C0,2,{0xED,0x5B,0x00,0x00,}},
+ {0x97C1,2,{0xED,0x5C,0x00,0x00,}},
+ {0x97C2,2,{0xED,0x5D,0x00,0x00,}},
+ {0x97C3,2,{0xED,0x5E,0x00,0x00,}},
+ {0x97C4,2,{0xED,0x5F,0x00,0x00,}},
+ {0x97C5,2,{0xED,0x60,0x00,0x00,}},
+ {0x97C6,2,{0xED,0x61,0x00,0x00,}},
+ {0x97C7,2,{0xED,0x62,0x00,0x00,}},
+ {0x97C8,2,{0xED,0x63,0x00,0x00,}},
+ {0x97C9,2,{0xED,0x64,0x00,0x00,}},
+ {0x97CA,2,{0xED,0x65,0x00,0x00,}},
+ {0x97CB,2,{0xED,0x66,0x00,0x00,}},
+ {0x97CC,2,{0xED,0x67,0x00,0x00,}},
+ {0x97CD,2,{0xED,0x68,0x00,0x00,}},
+ {0x97CE,2,{0xED,0x69,0x00,0x00,}},
+ {0x97CF,2,{0xED,0x6A,0x00,0x00,}},
+ {0x97D0,2,{0xED,0x6B,0x00,0x00,}},
+ {0x97D1,2,{0xED,0x6C,0x00,0x00,}},
+ {0x97D2,2,{0xED,0x6D,0x00,0x00,}},
+ {0x97D3,2,{0xED,0x6E,0x00,0x00,}},
+ {0x97D4,2,{0xED,0x6F,0x00,0x00,}},
+ {0x97D5,2,{0xED,0x70,0x00,0x00,}},
+ {0x97D6,2,{0xED,0x71,0x00,0x00,}},
+ {0x97D7,2,{0xED,0x72,0x00,0x00,}},
+ {0x97D8,2,{0xED,0x73,0x00,0x00,}},
+ {0x97D9,2,{0xED,0x74,0x00,0x00,}},
+ {0x97DA,2,{0xED,0x75,0x00,0x00,}},
+ {0x97DB,2,{0xED,0x76,0x00,0x00,}},
+ {0x97DC,2,{0xED,0x77,0x00,0x00,}},
+ {0x97DD,2,{0xED,0x78,0x00,0x00,}},
+ {0x97DE,2,{0xED,0x79,0x00,0x00,}},
+ {0x97DF,2,{0xED,0x7A,0x00,0x00,}},
+ {0x97E0,2,{0xED,0x7B,0x00,0x00,}},
+ {0x97E1,2,{0xED,0x7C,0x00,0x00,}},
+ {0x97E2,2,{0xED,0x7D,0x00,0x00,}},
+ {0x97E3,2,{0xED,0x7E,0x00,0x00,}},
+ {0x97E4,2,{0xED,0x80,0x00,0x00,}},
+ {0x97E5,2,{0xED,0x81,0x00,0x00,}},
+ {0x97E6,2,{0xCE,0xA4,0x00,0x00,}},
+ {0x97E7,2,{0xC8,0xCD,0x00,0x00,}},
+ {0x97E8,2,{0xED,0x82,0x00,0x00,}},
+ {0x97E9,2,{0xBA,0xAB,0x00,0x00,}},
+ {0x97EA,2,{0xE8,0xB8,0x00,0x00,}},
+ {0x97EB,2,{0xE8,0xB9,0x00,0x00,}},
+ {0x97EC,2,{0xE8,0xBA,0x00,0x00,}},
+ {0x97ED,2,{0xBE,0xC2,0x00,0x00,}},
+ {0x97EE,2,{0xED,0x83,0x00,0x00,}},
+ {0x97EF,2,{0xED,0x84,0x00,0x00,}},
+ {0x97F0,2,{0xED,0x85,0x00,0x00,}},
+ {0x97F1,2,{0xED,0x86,0x00,0x00,}},
+ {0x97F2,2,{0xED,0x87,0x00,0x00,}},
+ {0x97F3,2,{0xD2,0xF4,0x00,0x00,}},
+ {0x97F4,2,{0xED,0x88,0x00,0x00,}},
+ {0x97F5,2,{0xD4,0xCF,0x00,0x00,}},
+ {0x97F6,2,{0xC9,0xD8,0x00,0x00,}},
+ {0x97F7,2,{0xED,0x89,0x00,0x00,}},
+ {0x97F8,2,{0xED,0x8A,0x00,0x00,}},
+ {0x97F9,2,{0xED,0x8B,0x00,0x00,}},
+ {0x97FA,2,{0xED,0x8C,0x00,0x00,}},
+ {0x97FB,2,{0xED,0x8D,0x00,0x00,}},
+ {0x97FC,2,{0xED,0x8E,0x00,0x00,}},
+ {0x97FD,2,{0xED,0x8F,0x00,0x00,}},
+ {0x97FE,2,{0xED,0x90,0x00,0x00,}},
+ {0x97FF,2,{0xED,0x91,0x00,0x00,}},
+ {0x9800,2,{0xED,0x92,0x00,0x00,}},
+ {0x9801,2,{0xED,0x93,0x00,0x00,}},
+ {0x9802,2,{0xED,0x94,0x00,0x00,}},
+ {0x9803,2,{0xED,0x95,0x00,0x00,}},
+ {0x9804,2,{0xED,0x96,0x00,0x00,}},
+ {0x9805,2,{0xED,0x97,0x00,0x00,}},
+ {0x9806,2,{0xED,0x98,0x00,0x00,}},
+ {0x9807,2,{0xED,0x99,0x00,0x00,}},
+ {0x9808,2,{0xED,0x9A,0x00,0x00,}},
+ {0x9809,2,{0xED,0x9B,0x00,0x00,}},
+ {0x980A,2,{0xED,0x9C,0x00,0x00,}},
+ {0x980B,2,{0xED,0x9D,0x00,0x00,}},
+ {0x980C,2,{0xED,0x9E,0x00,0x00,}},
+ {0x980D,2,{0xED,0x9F,0x00,0x00,}},
+ {0x980E,2,{0xED,0xA0,0x00,0x00,}},
+ {0x980F,2,{0xEE,0x40,0x00,0x00,}},
+ {0x9810,2,{0xEE,0x41,0x00,0x00,}},
+ {0x9811,2,{0xEE,0x42,0x00,0x00,}},
+ {0x9812,2,{0xEE,0x43,0x00,0x00,}},
+ {0x9813,2,{0xEE,0x44,0x00,0x00,}},
+ {0x9814,2,{0xEE,0x45,0x00,0x00,}},
+ {0x9815,2,{0xEE,0x46,0x00,0x00,}},
+ {0x9816,2,{0xEE,0x47,0x00,0x00,}},
+ {0x9817,2,{0xEE,0x48,0x00,0x00,}},
+ {0x9818,2,{0xEE,0x49,0x00,0x00,}},
+ {0x9819,2,{0xEE,0x4A,0x00,0x00,}},
+ {0x981A,2,{0xEE,0x4B,0x00,0x00,}},
+ {0x981B,2,{0xEE,0x4C,0x00,0x00,}},
+ {0x981C,2,{0xEE,0x4D,0x00,0x00,}},
+ {0x981D,2,{0xEE,0x4E,0x00,0x00,}},
+ {0x981E,2,{0xEE,0x4F,0x00,0x00,}},
+ {0x981F,2,{0xEE,0x50,0x00,0x00,}},
+ {0x9820,2,{0xEE,0x51,0x00,0x00,}},
+ {0x9821,2,{0xEE,0x52,0x00,0x00,}},
+ {0x9822,2,{0xEE,0x53,0x00,0x00,}},
+ {0x9823,2,{0xEE,0x54,0x00,0x00,}},
+ {0x9824,2,{0xEE,0x55,0x00,0x00,}},
+ {0x9825,2,{0xEE,0x56,0x00,0x00,}},
+ {0x9826,2,{0xEE,0x57,0x00,0x00,}},
+ {0x9827,2,{0xEE,0x58,0x00,0x00,}},
+ {0x9828,2,{0xEE,0x59,0x00,0x00,}},
+ {0x9829,2,{0xEE,0x5A,0x00,0x00,}},
+ {0x982A,2,{0xEE,0x5B,0x00,0x00,}},
+ {0x982B,2,{0xEE,0x5C,0x00,0x00,}},
+ {0x982C,2,{0xEE,0x5D,0x00,0x00,}},
+ {0x982D,2,{0xEE,0x5E,0x00,0x00,}},
+ {0x982E,2,{0xEE,0x5F,0x00,0x00,}},
+ {0x982F,2,{0xEE,0x60,0x00,0x00,}},
+ {0x9830,2,{0xEE,0x61,0x00,0x00,}},
+ {0x9831,2,{0xEE,0x62,0x00,0x00,}},
+ {0x9832,2,{0xEE,0x63,0x00,0x00,}},
+ {0x9833,2,{0xEE,0x64,0x00,0x00,}},
+ {0x9834,2,{0xEE,0x65,0x00,0x00,}},
+ {0x9835,2,{0xEE,0x66,0x00,0x00,}},
+ {0x9836,2,{0xEE,0x67,0x00,0x00,}},
+ {0x9837,2,{0xEE,0x68,0x00,0x00,}},
+ {0x9838,2,{0xEE,0x69,0x00,0x00,}},
+ {0x9839,2,{0xEE,0x6A,0x00,0x00,}},
+ {0x983A,2,{0xEE,0x6B,0x00,0x00,}},
+ {0x983B,2,{0xEE,0x6C,0x00,0x00,}},
+ {0x983C,2,{0xEE,0x6D,0x00,0x00,}},
+ {0x983D,2,{0xEE,0x6E,0x00,0x00,}},
+ {0x983E,2,{0xEE,0x6F,0x00,0x00,}},
+ {0x983F,2,{0xEE,0x70,0x00,0x00,}},
+ {0x9840,2,{0xEE,0x71,0x00,0x00,}},
+ {0x9841,2,{0xEE,0x72,0x00,0x00,}},
+ {0x9842,2,{0xEE,0x73,0x00,0x00,}},
+ {0x9843,2,{0xEE,0x74,0x00,0x00,}},
+ {0x9844,2,{0xEE,0x75,0x00,0x00,}},
+ {0x9845,2,{0xEE,0x76,0x00,0x00,}},
+ {0x9846,2,{0xEE,0x77,0x00,0x00,}},
+ {0x9847,2,{0xEE,0x78,0x00,0x00,}},
+ {0x9848,2,{0xEE,0x79,0x00,0x00,}},
+ {0x9849,2,{0xEE,0x7A,0x00,0x00,}},
+ {0x984A,2,{0xEE,0x7B,0x00,0x00,}},
+ {0x984B,2,{0xEE,0x7C,0x00,0x00,}},
+ {0x984C,2,{0xEE,0x7D,0x00,0x00,}},
+ {0x984D,2,{0xEE,0x7E,0x00,0x00,}},
+ {0x984E,2,{0xEE,0x80,0x00,0x00,}},
+ {0x984F,2,{0xEE,0x81,0x00,0x00,}},
+ {0x9850,2,{0xEE,0x82,0x00,0x00,}},
+ {0x9851,2,{0xEE,0x83,0x00,0x00,}},
+ {0x9852,2,{0xEE,0x84,0x00,0x00,}},
+ {0x9853,2,{0xEE,0x85,0x00,0x00,}},
+ {0x9854,2,{0xEE,0x86,0x00,0x00,}},
+ {0x9855,2,{0xEE,0x87,0x00,0x00,}},
+ {0x9856,2,{0xEE,0x88,0x00,0x00,}},
+ {0x9857,2,{0xEE,0x89,0x00,0x00,}},
+ {0x9858,2,{0xEE,0x8A,0x00,0x00,}},
+ {0x9859,2,{0xEE,0x8B,0x00,0x00,}},
+ {0x985A,2,{0xEE,0x8C,0x00,0x00,}},
+ {0x985B,2,{0xEE,0x8D,0x00,0x00,}},
+ {0x985C,2,{0xEE,0x8E,0x00,0x00,}},
+ {0x985D,2,{0xEE,0x8F,0x00,0x00,}},
+ {0x985E,2,{0xEE,0x90,0x00,0x00,}},
+ {0x985F,2,{0xEE,0x91,0x00,0x00,}},
+ {0x9860,2,{0xEE,0x92,0x00,0x00,}},
+ {0x9861,2,{0xEE,0x93,0x00,0x00,}},
+ {0x9862,2,{0xEE,0x94,0x00,0x00,}},
+ {0x9863,2,{0xEE,0x95,0x00,0x00,}},
+ {0x9864,2,{0xEE,0x96,0x00,0x00,}},
+ {0x9865,2,{0xEE,0x97,0x00,0x00,}},
+ {0x9866,2,{0xEE,0x98,0x00,0x00,}},
+ {0x9867,2,{0xEE,0x99,0x00,0x00,}},
+ {0x9868,2,{0xEE,0x9A,0x00,0x00,}},
+ {0x9869,2,{0xEE,0x9B,0x00,0x00,}},
+ {0x986A,2,{0xEE,0x9C,0x00,0x00,}},
+ {0x986B,2,{0xEE,0x9D,0x00,0x00,}},
+ {0x986C,2,{0xEE,0x9E,0x00,0x00,}},
+ {0x986D,2,{0xEE,0x9F,0x00,0x00,}},
+ {0x986E,2,{0xEE,0xA0,0x00,0x00,}},
+ {0x986F,2,{0xEF,0x40,0x00,0x00,}},
+ {0x9870,2,{0xEF,0x41,0x00,0x00,}},
+ {0x9871,2,{0xEF,0x42,0x00,0x00,}},
+ {0x9872,2,{0xEF,0x43,0x00,0x00,}},
+ {0x9873,2,{0xEF,0x44,0x00,0x00,}},
+ {0x9874,2,{0xEF,0x45,0x00,0x00,}},
+ {0x9875,2,{0xD2,0xB3,0x00,0x00,}},
+ {0x9876,2,{0xB6,0xA5,0x00,0x00,}},
+ {0x9877,2,{0xC7,0xEA,0x00,0x00,}},
+ {0x9878,2,{0xF1,0xFC,0x00,0x00,}},
+ {0x9879,2,{0xCF,0xEE,0x00,0x00,}},
+ {0x987A,2,{0xCB,0xB3,0x00,0x00,}},
+ {0x987B,2,{0xD0,0xEB,0x00,0x00,}},
+ {0x987C,2,{0xE7,0xEF,0x00,0x00,}},
+ {0x987D,2,{0xCD,0xE7,0x00,0x00,}},
+ {0x987E,2,{0xB9,0xCB,0x00,0x00,}},
+ {0x987F,2,{0xB6,0xD9,0x00,0x00,}},
+ {0x9880,2,{0xF1,0xFD,0x00,0x00,}},
+ {0x9881,2,{0xB0,0xE4,0x00,0x00,}},
+ {0x9882,2,{0xCB,0xCC,0x00,0x00,}},
+ {0x9883,2,{0xF1,0xFE,0x00,0x00,}},
+ {0x9884,2,{0xD4,0xA4,0x00,0x00,}},
+ {0x9885,2,{0xC2,0xAD,0x00,0x00,}},
+ {0x9886,2,{0xC1,0xEC,0x00,0x00,}},
+ {0x9887,2,{0xC6,0xC4,0x00,0x00,}},
+ {0x9888,2,{0xBE,0xB1,0x00,0x00,}},
+ {0x9889,2,{0xF2,0xA1,0x00,0x00,}},
+ {0x988A,2,{0xBC,0xD5,0x00,0x00,}},
+ {0x988B,2,{0xEF,0x46,0x00,0x00,}},
+ {0x988C,2,{0xF2,0xA2,0x00,0x00,}},
+ {0x988D,2,{0xF2,0xA3,0x00,0x00,}},
+ {0x988E,2,{0xEF,0x47,0x00,0x00,}},
+ {0x988F,2,{0xF2,0xA4,0x00,0x00,}},
+ {0x9890,2,{0xD2,0xC3,0x00,0x00,}},
+ {0x9891,2,{0xC6,0xB5,0x00,0x00,}},
+ {0x9892,2,{0xEF,0x48,0x00,0x00,}},
+ {0x9893,2,{0xCD,0xC7,0x00,0x00,}},
+ {0x9894,2,{0xF2,0xA5,0x00,0x00,}},
+ {0x9895,2,{0xEF,0x49,0x00,0x00,}},
+ {0x9896,2,{0xD3,0xB1,0x00,0x00,}},
+ {0x9897,2,{0xBF,0xC5,0x00,0x00,}},
+ {0x9898,2,{0xCC,0xE2,0x00,0x00,}},
+ {0x9899,2,{0xEF,0x4A,0x00,0x00,}},
+ {0x989A,2,{0xF2,0xA6,0x00,0x00,}},
+ {0x989B,2,{0xF2,0xA7,0x00,0x00,}},
+ {0x989C,2,{0xD1,0xD5,0x00,0x00,}},
+ {0x989D,2,{0xB6,0xEE,0x00,0x00,}},
+ {0x989E,2,{0xF2,0xA8,0x00,0x00,}},
+ {0x989F,2,{0xF2,0xA9,0x00,0x00,}},
+ {0x98A0,2,{0xB5,0xDF,0x00,0x00,}},
+ {0x98A1,2,{0xF2,0xAA,0x00,0x00,}},
+ {0x98A2,2,{0xF2,0xAB,0x00,0x00,}},
+ {0x98A3,2,{0xEF,0x4B,0x00,0x00,}},
+ {0x98A4,2,{0xB2,0xFC,0x00,0x00,}},
+ {0x98A5,2,{0xF2,0xAC,0x00,0x00,}},
+ {0x98A6,2,{0xF2,0xAD,0x00,0x00,}},
+ {0x98A7,2,{0xC8,0xA7,0x00,0x00,}},
+ {0x98A8,2,{0xEF,0x4C,0x00,0x00,}},
+ {0x98A9,2,{0xEF,0x4D,0x00,0x00,}},
+ {0x98AA,2,{0xEF,0x4E,0x00,0x00,}},
+ {0x98AB,2,{0xEF,0x4F,0x00,0x00,}},
+ {0x98AC,2,{0xEF,0x50,0x00,0x00,}},
+ {0x98AD,2,{0xEF,0x51,0x00,0x00,}},
+ {0x98AE,2,{0xEF,0x52,0x00,0x00,}},
+ {0x98AF,2,{0xEF,0x53,0x00,0x00,}},
+ {0x98B0,2,{0xEF,0x54,0x00,0x00,}},
+ {0x98B1,2,{0xEF,0x55,0x00,0x00,}},
+ {0x98B2,2,{0xEF,0x56,0x00,0x00,}},
+ {0x98B3,2,{0xEF,0x57,0x00,0x00,}},
+ {0x98B4,2,{0xEF,0x58,0x00,0x00,}},
+ {0x98B5,2,{0xEF,0x59,0x00,0x00,}},
+ {0x98B6,2,{0xEF,0x5A,0x00,0x00,}},
+ {0x98B7,2,{0xEF,0x5B,0x00,0x00,}},
+ {0x98B8,2,{0xEF,0x5C,0x00,0x00,}},
+ {0x98B9,2,{0xEF,0x5D,0x00,0x00,}},
+ {0x98BA,2,{0xEF,0x5E,0x00,0x00,}},
+ {0x98BB,2,{0xEF,0x5F,0x00,0x00,}},
+ {0x98BC,2,{0xEF,0x60,0x00,0x00,}},
+ {0x98BD,2,{0xEF,0x61,0x00,0x00,}},
+ {0x98BE,2,{0xEF,0x62,0x00,0x00,}},
+ {0x98BF,2,{0xEF,0x63,0x00,0x00,}},
+ {0x98C0,2,{0xEF,0x64,0x00,0x00,}},
+ {0x98C1,2,{0xEF,0x65,0x00,0x00,}},
+ {0x98C2,2,{0xEF,0x66,0x00,0x00,}},
+ {0x98C3,2,{0xEF,0x67,0x00,0x00,}},
+ {0x98C4,2,{0xEF,0x68,0x00,0x00,}},
+ {0x98C5,2,{0xEF,0x69,0x00,0x00,}},
+ {0x98C6,2,{0xEF,0x6A,0x00,0x00,}},
+ {0x98C7,2,{0xEF,0x6B,0x00,0x00,}},
+ {0x98C8,2,{0xEF,0x6C,0x00,0x00,}},
+ {0x98C9,2,{0xEF,0x6D,0x00,0x00,}},
+ {0x98CA,2,{0xEF,0x6E,0x00,0x00,}},
+ {0x98CB,2,{0xEF,0x6F,0x00,0x00,}},
+ {0x98CC,2,{0xEF,0x70,0x00,0x00,}},
+ {0x98CD,2,{0xEF,0x71,0x00,0x00,}},
+ {0x98CE,2,{0xB7,0xE7,0x00,0x00,}},
+ {0x98CF,2,{0xEF,0x72,0x00,0x00,}},
+ {0x98D0,2,{0xEF,0x73,0x00,0x00,}},
+ {0x98D1,2,{0xEC,0xA9,0x00,0x00,}},
+ {0x98D2,2,{0xEC,0xAA,0x00,0x00,}},
+ {0x98D3,2,{0xEC,0xAB,0x00,0x00,}},
+ {0x98D4,2,{0xEF,0x74,0x00,0x00,}},
+ {0x98D5,2,{0xEC,0xAC,0x00,0x00,}},
+ {0x98D6,2,{0xEF,0x75,0x00,0x00,}},
+ {0x98D7,2,{0xEF,0x76,0x00,0x00,}},
+ {0x98D8,2,{0xC6,0xAE,0x00,0x00,}},
+ {0x98D9,2,{0xEC,0xAD,0x00,0x00,}},
+ {0x98DA,2,{0xEC,0xAE,0x00,0x00,}},
+ {0x98DB,2,{0xEF,0x77,0x00,0x00,}},
+ {0x98DC,2,{0xEF,0x78,0x00,0x00,}},
+ {0x98DD,2,{0xEF,0x79,0x00,0x00,}},
+ {0x98DE,2,{0xB7,0xC9,0x00,0x00,}},
+ {0x98DF,2,{0xCA,0xB3,0x00,0x00,}},
+ {0x98E0,2,{0xEF,0x7A,0x00,0x00,}},
+ {0x98E1,2,{0xEF,0x7B,0x00,0x00,}},
+ {0x98E2,2,{0xEF,0x7C,0x00,0x00,}},
+ {0x98E3,2,{0xEF,0x7D,0x00,0x00,}},
+ {0x98E4,2,{0xEF,0x7E,0x00,0x00,}},
+ {0x98E5,2,{0xEF,0x80,0x00,0x00,}},
+ {0x98E6,2,{0xEF,0x81,0x00,0x00,}},
+ {0x98E7,2,{0xE2,0xB8,0x00,0x00,}},
+ {0x98E8,2,{0xF7,0xCF,0x00,0x00,}},
+ {0x98E9,2,{0xEF,0x82,0x00,0x00,}},
+ {0x98EA,2,{0xEF,0x83,0x00,0x00,}},
+ {0x98EB,2,{0xEF,0x84,0x00,0x00,}},
+ {0x98EC,2,{0xEF,0x85,0x00,0x00,}},
+ {0x98ED,2,{0xEF,0x86,0x00,0x00,}},
+ {0x98EE,2,{0xEF,0x87,0x00,0x00,}},
+ {0x98EF,2,{0xEF,0x88,0x00,0x00,}},
+ {0x98F0,2,{0xEF,0x89,0x00,0x00,}},
+ {0x98F1,2,{0xEF,0x8A,0x00,0x00,}},
+ {0x98F2,2,{0xEF,0x8B,0x00,0x00,}},
+ {0x98F3,2,{0xEF,0x8C,0x00,0x00,}},
+ {0x98F4,2,{0xEF,0x8D,0x00,0x00,}},
+ {0x98F5,2,{0xEF,0x8E,0x00,0x00,}},
+ {0x98F6,2,{0xEF,0x8F,0x00,0x00,}},
+ {0x98F7,2,{0xEF,0x90,0x00,0x00,}},
+ {0x98F8,2,{0xEF,0x91,0x00,0x00,}},
+ {0x98F9,2,{0xEF,0x92,0x00,0x00,}},
+ {0x98FA,2,{0xEF,0x93,0x00,0x00,}},
+ {0x98FB,2,{0xEF,0x94,0x00,0x00,}},
+ {0x98FC,2,{0xEF,0x95,0x00,0x00,}},
+ {0x98FD,2,{0xEF,0x96,0x00,0x00,}},
+ {0x98FE,2,{0xEF,0x97,0x00,0x00,}},
+ {0x98FF,2,{0xEF,0x98,0x00,0x00,}},
+ {0x9900,2,{0xEF,0x99,0x00,0x00,}},
+ {0x9901,2,{0xEF,0x9A,0x00,0x00,}},
+ {0x9902,2,{0xEF,0x9B,0x00,0x00,}},
+ {0x9903,2,{0xEF,0x9C,0x00,0x00,}},
+ {0x9904,2,{0xEF,0x9D,0x00,0x00,}},
+ {0x9905,2,{0xEF,0x9E,0x00,0x00,}},
+ {0x9906,2,{0xEF,0x9F,0x00,0x00,}},
+ {0x9907,2,{0xEF,0xA0,0x00,0x00,}},
+ {0x9908,2,{0xF0,0x40,0x00,0x00,}},
+ {0x9909,2,{0xF0,0x41,0x00,0x00,}},
+ {0x990A,2,{0xF0,0x42,0x00,0x00,}},
+ {0x990B,2,{0xF0,0x43,0x00,0x00,}},
+ {0x990C,2,{0xF0,0x44,0x00,0x00,}},
+ {0x990D,2,{0xF7,0xD0,0x00,0x00,}},
+ {0x990E,2,{0xF0,0x45,0x00,0x00,}},
+ {0x990F,2,{0xF0,0x46,0x00,0x00,}},
+ {0x9910,2,{0xB2,0xCD,0x00,0x00,}},
+ {0x9911,2,{0xF0,0x47,0x00,0x00,}},
+ {0x9912,2,{0xF0,0x48,0x00,0x00,}},
+ {0x9913,2,{0xF0,0x49,0x00,0x00,}},
+ {0x9914,2,{0xF0,0x4A,0x00,0x00,}},
+ {0x9915,2,{0xF0,0x4B,0x00,0x00,}},
+ {0x9916,2,{0xF0,0x4C,0x00,0x00,}},
+ {0x9917,2,{0xF0,0x4D,0x00,0x00,}},
+ {0x9918,2,{0xF0,0x4E,0x00,0x00,}},
+ {0x9919,2,{0xF0,0x4F,0x00,0x00,}},
+ {0x991A,2,{0xF0,0x50,0x00,0x00,}},
+ {0x991B,2,{0xF0,0x51,0x00,0x00,}},
+ {0x991C,2,{0xF0,0x52,0x00,0x00,}},
+ {0x991D,2,{0xF0,0x53,0x00,0x00,}},
+ {0x991E,2,{0xF0,0x54,0x00,0x00,}},
+ {0x991F,2,{0xF0,0x55,0x00,0x00,}},
+ {0x9920,2,{0xF0,0x56,0x00,0x00,}},
+ {0x9921,2,{0xF0,0x57,0x00,0x00,}},
+ {0x9922,2,{0xF0,0x58,0x00,0x00,}},
+ {0x9923,2,{0xF0,0x59,0x00,0x00,}},
+ {0x9924,2,{0xF0,0x5A,0x00,0x00,}},
+ {0x9925,2,{0xF0,0x5B,0x00,0x00,}},
+ {0x9926,2,{0xF0,0x5C,0x00,0x00,}},
+ {0x9927,2,{0xF0,0x5D,0x00,0x00,}},
+ {0x9928,2,{0xF0,0x5E,0x00,0x00,}},
+ {0x9929,2,{0xF0,0x5F,0x00,0x00,}},
+ {0x992A,2,{0xF0,0x60,0x00,0x00,}},
+ {0x992B,2,{0xF0,0x61,0x00,0x00,}},
+ {0x992C,2,{0xF0,0x62,0x00,0x00,}},
+ {0x992D,2,{0xF0,0x63,0x00,0x00,}},
+ {0x992E,2,{0xF7,0xD1,0x00,0x00,}},
+ {0x992F,2,{0xF0,0x64,0x00,0x00,}},
+ {0x9930,2,{0xF0,0x65,0x00,0x00,}},
+ {0x9931,2,{0xF0,0x66,0x00,0x00,}},
+ {0x9932,2,{0xF0,0x67,0x00,0x00,}},
+ {0x9933,2,{0xF0,0x68,0x00,0x00,}},
+ {0x9934,2,{0xF0,0x69,0x00,0x00,}},
+ {0x9935,2,{0xF0,0x6A,0x00,0x00,}},
+ {0x9936,2,{0xF0,0x6B,0x00,0x00,}},
+ {0x9937,2,{0xF0,0x6C,0x00,0x00,}},
+ {0x9938,2,{0xF0,0x6D,0x00,0x00,}},
+ {0x9939,2,{0xF0,0x6E,0x00,0x00,}},
+ {0x993A,2,{0xF0,0x6F,0x00,0x00,}},
+ {0x993B,2,{0xF0,0x70,0x00,0x00,}},
+ {0x993C,2,{0xF0,0x71,0x00,0x00,}},
+ {0x993D,2,{0xF0,0x72,0x00,0x00,}},
+ {0x993E,2,{0xF0,0x73,0x00,0x00,}},
+ {0x993F,2,{0xF0,0x74,0x00,0x00,}},
+ {0x9940,2,{0xF0,0x75,0x00,0x00,}},
+ {0x9941,2,{0xF0,0x76,0x00,0x00,}},
+ {0x9942,2,{0xF0,0x77,0x00,0x00,}},
+ {0x9943,2,{0xF0,0x78,0x00,0x00,}},
+ {0x9944,2,{0xF0,0x79,0x00,0x00,}},
+ {0x9945,2,{0xF0,0x7A,0x00,0x00,}},
+ {0x9946,2,{0xF0,0x7B,0x00,0x00,}},
+ {0x9947,2,{0xF0,0x7C,0x00,0x00,}},
+ {0x9948,2,{0xF0,0x7D,0x00,0x00,}},
+ {0x9949,2,{0xF0,0x7E,0x00,0x00,}},
+ {0x994A,2,{0xF0,0x80,0x00,0x00,}},
+ {0x994B,2,{0xF0,0x81,0x00,0x00,}},
+ {0x994C,2,{0xF0,0x82,0x00,0x00,}},
+ {0x994D,2,{0xF0,0x83,0x00,0x00,}},
+ {0x994E,2,{0xF0,0x84,0x00,0x00,}},
+ {0x994F,2,{0xF0,0x85,0x00,0x00,}},
+ {0x9950,2,{0xF0,0x86,0x00,0x00,}},
+ {0x9951,2,{0xF0,0x87,0x00,0x00,}},
+ {0x9952,2,{0xF0,0x88,0x00,0x00,}},
+ {0x9953,2,{0xF0,0x89,0x00,0x00,}},
+ {0x9954,2,{0xF7,0xD3,0x00,0x00,}},
+ {0x9955,2,{0xF7,0xD2,0x00,0x00,}},
+ {0x9956,2,{0xF0,0x8A,0x00,0x00,}},
+ {0x9957,2,{0xF0,0x8B,0x00,0x00,}},
+ {0x9958,2,{0xF0,0x8C,0x00,0x00,}},
+ {0x9959,2,{0xF0,0x8D,0x00,0x00,}},
+ {0x995A,2,{0xF0,0x8E,0x00,0x00,}},
+ {0x995B,2,{0xF0,0x8F,0x00,0x00,}},
+ {0x995C,2,{0xF0,0x90,0x00,0x00,}},
+ {0x995D,2,{0xF0,0x91,0x00,0x00,}},
+ {0x995E,2,{0xF0,0x92,0x00,0x00,}},
+ {0x995F,2,{0xF0,0x93,0x00,0x00,}},
+ {0x9960,2,{0xF0,0x94,0x00,0x00,}},
+ {0x9961,2,{0xF0,0x95,0x00,0x00,}},
+ {0x9962,2,{0xF0,0x96,0x00,0x00,}},
+ {0x9963,2,{0xE2,0xBB,0x00,0x00,}},
+ {0x9964,2,{0xF0,0x97,0x00,0x00,}},
+ {0x9965,2,{0xBC,0xA2,0x00,0x00,}},
+ {0x9966,2,{0xF0,0x98,0x00,0x00,}},
+ {0x9967,2,{0xE2,0xBC,0x00,0x00,}},
+ {0x9968,2,{0xE2,0xBD,0x00,0x00,}},
+ {0x9969,2,{0xE2,0xBE,0x00,0x00,}},
+ {0x996A,2,{0xE2,0xBF,0x00,0x00,}},
+ {0x996B,2,{0xE2,0xC0,0x00,0x00,}},
+ {0x996C,2,{0xE2,0xC1,0x00,0x00,}},
+ {0x996D,2,{0xB7,0xB9,0x00,0x00,}},
+ {0x996E,2,{0xD2,0xFB,0x00,0x00,}},
+ {0x996F,2,{0xBD,0xA4,0x00,0x00,}},
+ {0x9970,2,{0xCA,0xCE,0x00,0x00,}},
+ {0x9971,2,{0xB1,0xA5,0x00,0x00,}},
+ {0x9972,2,{0xCB,0xC7,0x00,0x00,}},
+ {0x9973,2,{0xF0,0x99,0x00,0x00,}},
+ {0x9974,2,{0xE2,0xC2,0x00,0x00,}},
+ {0x9975,2,{0xB6,0xFC,0x00,0x00,}},
+ {0x9976,2,{0xC8,0xC4,0x00,0x00,}},
+ {0x9977,2,{0xE2,0xC3,0x00,0x00,}},
+ {0x9978,2,{0xF0,0x9A,0x00,0x00,}},
+ {0x9979,2,{0xF0,0x9B,0x00,0x00,}},
+ {0x997A,2,{0xBD,0xC8,0x00,0x00,}},
+ {0x997B,2,{0xF0,0x9C,0x00,0x00,}},
+ {0x997C,2,{0xB1,0xFD,0x00,0x00,}},
+ {0x997D,2,{0xE2,0xC4,0x00,0x00,}},
+ {0x997E,2,{0xF0,0x9D,0x00,0x00,}},
+ {0x997F,2,{0xB6,0xF6,0x00,0x00,}},
+ {0x9980,2,{0xE2,0xC5,0x00,0x00,}},
+ {0x9981,2,{0xC4,0xD9,0x00,0x00,}},
+ {0x9982,2,{0xF0,0x9E,0x00,0x00,}},
+ {0x9983,2,{0xF0,0x9F,0x00,0x00,}},
+ {0x9984,2,{0xE2,0xC6,0x00,0x00,}},
+ {0x9985,2,{0xCF,0xDA,0x00,0x00,}},
+ {0x9986,2,{0xB9,0xDD,0x00,0x00,}},
+ {0x9987,2,{0xE2,0xC7,0x00,0x00,}},
+ {0x9988,2,{0xC0,0xA1,0x00,0x00,}},
+ {0x9989,2,{0xF0,0xA0,0x00,0x00,}},
+ {0x998A,2,{0xE2,0xC8,0x00,0x00,}},
+ {0x998B,2,{0xB2,0xF6,0x00,0x00,}},
+ {0x998C,2,{0xF1,0x40,0x00,0x00,}},
+ {0x998D,2,{0xE2,0xC9,0x00,0x00,}},
+ {0x998E,2,{0xF1,0x41,0x00,0x00,}},
+ {0x998F,2,{0xC1,0xF3,0x00,0x00,}},
+ {0x9990,2,{0xE2,0xCA,0x00,0x00,}},
+ {0x9991,2,{0xE2,0xCB,0x00,0x00,}},
+ {0x9992,2,{0xC2,0xF8,0x00,0x00,}},
+ {0x9993,2,{0xE2,0xCC,0x00,0x00,}},
+ {0x9994,2,{0xE2,0xCD,0x00,0x00,}},
+ {0x9995,2,{0xE2,0xCE,0x00,0x00,}},
+ {0x9996,2,{0xCA,0xD7,0x00,0x00,}},
+ {0x9997,2,{0xD8,0xB8,0x00,0x00,}},
+ {0x9998,2,{0xD9,0xE5,0x00,0x00,}},
+ {0x9999,2,{0xCF,0xE3,0x00,0x00,}},
+ {0x999A,2,{0xF1,0x42,0x00,0x00,}},
+ {0x999B,2,{0xF1,0x43,0x00,0x00,}},
+ {0x999C,2,{0xF1,0x44,0x00,0x00,}},
+ {0x999D,2,{0xF1,0x45,0x00,0x00,}},
+ {0x999E,2,{0xF1,0x46,0x00,0x00,}},
+ {0x999F,2,{0xF1,0x47,0x00,0x00,}},
+ {0x99A0,2,{0xF1,0x48,0x00,0x00,}},
+ {0x99A1,2,{0xF1,0x49,0x00,0x00,}},
+ {0x99A2,2,{0xF1,0x4A,0x00,0x00,}},
+ {0x99A3,2,{0xF1,0x4B,0x00,0x00,}},
+ {0x99A4,2,{0xF1,0x4C,0x00,0x00,}},
+ {0x99A5,2,{0xF0,0xA5,0x00,0x00,}},
+ {0x99A6,2,{0xF1,0x4D,0x00,0x00,}},
+ {0x99A7,2,{0xF1,0x4E,0x00,0x00,}},
+ {0x99A8,2,{0xDC,0xB0,0x00,0x00,}},
+ {0x99A9,2,{0xF1,0x4F,0x00,0x00,}},
+ {0x99AA,2,{0xF1,0x50,0x00,0x00,}},
+ {0x99AB,2,{0xF1,0x51,0x00,0x00,}},
+ {0x99AC,2,{0xF1,0x52,0x00,0x00,}},
+ {0x99AD,2,{0xF1,0x53,0x00,0x00,}},
+ {0x99AE,2,{0xF1,0x54,0x00,0x00,}},
+ {0x99AF,2,{0xF1,0x55,0x00,0x00,}},
+ {0x99B0,2,{0xF1,0x56,0x00,0x00,}},
+ {0x99B1,2,{0xF1,0x57,0x00,0x00,}},
+ {0x99B2,2,{0xF1,0x58,0x00,0x00,}},
+ {0x99B3,2,{0xF1,0x59,0x00,0x00,}},
+ {0x99B4,2,{0xF1,0x5A,0x00,0x00,}},
+ {0x99B5,2,{0xF1,0x5B,0x00,0x00,}},
+ {0x99B6,2,{0xF1,0x5C,0x00,0x00,}},
+ {0x99B7,2,{0xF1,0x5D,0x00,0x00,}},
+ {0x99B8,2,{0xF1,0x5E,0x00,0x00,}},
+ {0x99B9,2,{0xF1,0x5F,0x00,0x00,}},
+ {0x99BA,2,{0xF1,0x60,0x00,0x00,}},
+ {0x99BB,2,{0xF1,0x61,0x00,0x00,}},
+ {0x99BC,2,{0xF1,0x62,0x00,0x00,}},
+ {0x99BD,2,{0xF1,0x63,0x00,0x00,}},
+ {0x99BE,2,{0xF1,0x64,0x00,0x00,}},
+ {0x99BF,2,{0xF1,0x65,0x00,0x00,}},
+ {0x99C0,2,{0xF1,0x66,0x00,0x00,}},
+ {0x99C1,2,{0xF1,0x67,0x00,0x00,}},
+ {0x99C2,2,{0xF1,0x68,0x00,0x00,}},
+ {0x99C3,2,{0xF1,0x69,0x00,0x00,}},
+ {0x99C4,2,{0xF1,0x6A,0x00,0x00,}},
+ {0x99C5,2,{0xF1,0x6B,0x00,0x00,}},
+ {0x99C6,2,{0xF1,0x6C,0x00,0x00,}},
+ {0x99C7,2,{0xF1,0x6D,0x00,0x00,}},
+ {0x99C8,2,{0xF1,0x6E,0x00,0x00,}},
+ {0x99C9,2,{0xF1,0x6F,0x00,0x00,}},
+ {0x99CA,2,{0xF1,0x70,0x00,0x00,}},
+ {0x99CB,2,{0xF1,0x71,0x00,0x00,}},
+ {0x99CC,2,{0xF1,0x72,0x00,0x00,}},
+ {0x99CD,2,{0xF1,0x73,0x00,0x00,}},
+ {0x99CE,2,{0xF1,0x74,0x00,0x00,}},
+ {0x99CF,2,{0xF1,0x75,0x00,0x00,}},
+ {0x99D0,2,{0xF1,0x76,0x00,0x00,}},
+ {0x99D1,2,{0xF1,0x77,0x00,0x00,}},
+ {0x99D2,2,{0xF1,0x78,0x00,0x00,}},
+ {0x99D3,2,{0xF1,0x79,0x00,0x00,}},
+ {0x99D4,2,{0xF1,0x7A,0x00,0x00,}},
+ {0x99D5,2,{0xF1,0x7B,0x00,0x00,}},
+ {0x99D6,2,{0xF1,0x7C,0x00,0x00,}},
+ {0x99D7,2,{0xF1,0x7D,0x00,0x00,}},
+ {0x99D8,2,{0xF1,0x7E,0x00,0x00,}},
+ {0x99D9,2,{0xF1,0x80,0x00,0x00,}},
+ {0x99DA,2,{0xF1,0x81,0x00,0x00,}},
+ {0x99DB,2,{0xF1,0x82,0x00,0x00,}},
+ {0x99DC,2,{0xF1,0x83,0x00,0x00,}},
+ {0x99DD,2,{0xF1,0x84,0x00,0x00,}},
+ {0x99DE,2,{0xF1,0x85,0x00,0x00,}},
+ {0x99DF,2,{0xF1,0x86,0x00,0x00,}},
+ {0x99E0,2,{0xF1,0x87,0x00,0x00,}},
+ {0x99E1,2,{0xF1,0x88,0x00,0x00,}},
+ {0x99E2,2,{0xF1,0x89,0x00,0x00,}},
+ {0x99E3,2,{0xF1,0x8A,0x00,0x00,}},
+ {0x99E4,2,{0xF1,0x8B,0x00,0x00,}},
+ {0x99E5,2,{0xF1,0x8C,0x00,0x00,}},
+ {0x99E6,2,{0xF1,0x8D,0x00,0x00,}},
+ {0x99E7,2,{0xF1,0x8E,0x00,0x00,}},
+ {0x99E8,2,{0xF1,0x8F,0x00,0x00,}},
+ {0x99E9,2,{0xF1,0x90,0x00,0x00,}},
+ {0x99EA,2,{0xF1,0x91,0x00,0x00,}},
+ {0x99EB,2,{0xF1,0x92,0x00,0x00,}},
+ {0x99EC,2,{0xF1,0x93,0x00,0x00,}},
+ {0x99ED,2,{0xF1,0x94,0x00,0x00,}},
+ {0x99EE,2,{0xF1,0x95,0x00,0x00,}},
+ {0x99EF,2,{0xF1,0x96,0x00,0x00,}},
+ {0x99F0,2,{0xF1,0x97,0x00,0x00,}},
+ {0x99F1,2,{0xF1,0x98,0x00,0x00,}},
+ {0x99F2,2,{0xF1,0x99,0x00,0x00,}},
+ {0x99F3,2,{0xF1,0x9A,0x00,0x00,}},
+ {0x99F4,2,{0xF1,0x9B,0x00,0x00,}},
+ {0x99F5,2,{0xF1,0x9C,0x00,0x00,}},
+ {0x99F6,2,{0xF1,0x9D,0x00,0x00,}},
+ {0x99F7,2,{0xF1,0x9E,0x00,0x00,}},
+ {0x99F8,2,{0xF1,0x9F,0x00,0x00,}},
+ {0x99F9,2,{0xF1,0xA0,0x00,0x00,}},
+ {0x99FA,2,{0xF2,0x40,0x00,0x00,}},
+ {0x99FB,2,{0xF2,0x41,0x00,0x00,}},
+ {0x99FC,2,{0xF2,0x42,0x00,0x00,}},
+ {0x99FD,2,{0xF2,0x43,0x00,0x00,}},
+ {0x99FE,2,{0xF2,0x44,0x00,0x00,}},
+ {0x99FF,2,{0xF2,0x45,0x00,0x00,}},
+ {0x9A00,2,{0xF2,0x46,0x00,0x00,}},
+ {0x9A01,2,{0xF2,0x47,0x00,0x00,}},
+ {0x9A02,2,{0xF2,0x48,0x00,0x00,}},
+ {0x9A03,2,{0xF2,0x49,0x00,0x00,}},
+ {0x9A04,2,{0xF2,0x4A,0x00,0x00,}},
+ {0x9A05,2,{0xF2,0x4B,0x00,0x00,}},
+ {0x9A06,2,{0xF2,0x4C,0x00,0x00,}},
+ {0x9A07,2,{0xF2,0x4D,0x00,0x00,}},
+ {0x9A08,2,{0xF2,0x4E,0x00,0x00,}},
+ {0x9A09,2,{0xF2,0x4F,0x00,0x00,}},
+ {0x9A0A,2,{0xF2,0x50,0x00,0x00,}},
+ {0x9A0B,2,{0xF2,0x51,0x00,0x00,}},
+ {0x9A0C,2,{0xF2,0x52,0x00,0x00,}},
+ {0x9A0D,2,{0xF2,0x53,0x00,0x00,}},
+ {0x9A0E,2,{0xF2,0x54,0x00,0x00,}},
+ {0x9A0F,2,{0xF2,0x55,0x00,0x00,}},
+ {0x9A10,2,{0xF2,0x56,0x00,0x00,}},
+ {0x9A11,2,{0xF2,0x57,0x00,0x00,}},
+ {0x9A12,2,{0xF2,0x58,0x00,0x00,}},
+ {0x9A13,2,{0xF2,0x59,0x00,0x00,}},
+ {0x9A14,2,{0xF2,0x5A,0x00,0x00,}},
+ {0x9A15,2,{0xF2,0x5B,0x00,0x00,}},
+ {0x9A16,2,{0xF2,0x5C,0x00,0x00,}},
+ {0x9A17,2,{0xF2,0x5D,0x00,0x00,}},
+ {0x9A18,2,{0xF2,0x5E,0x00,0x00,}},
+ {0x9A19,2,{0xF2,0x5F,0x00,0x00,}},
+ {0x9A1A,2,{0xF2,0x60,0x00,0x00,}},
+ {0x9A1B,2,{0xF2,0x61,0x00,0x00,}},
+ {0x9A1C,2,{0xF2,0x62,0x00,0x00,}},
+ {0x9A1D,2,{0xF2,0x63,0x00,0x00,}},
+ {0x9A1E,2,{0xF2,0x64,0x00,0x00,}},
+ {0x9A1F,2,{0xF2,0x65,0x00,0x00,}},
+ {0x9A20,2,{0xF2,0x66,0x00,0x00,}},
+ {0x9A21,2,{0xF2,0x67,0x00,0x00,}},
+ {0x9A22,2,{0xF2,0x68,0x00,0x00,}},
+ {0x9A23,2,{0xF2,0x69,0x00,0x00,}},
+ {0x9A24,2,{0xF2,0x6A,0x00,0x00,}},
+ {0x9A25,2,{0xF2,0x6B,0x00,0x00,}},
+ {0x9A26,2,{0xF2,0x6C,0x00,0x00,}},
+ {0x9A27,2,{0xF2,0x6D,0x00,0x00,}},
+ {0x9A28,2,{0xF2,0x6E,0x00,0x00,}},
+ {0x9A29,2,{0xF2,0x6F,0x00,0x00,}},
+ {0x9A2A,2,{0xF2,0x70,0x00,0x00,}},
+ {0x9A2B,2,{0xF2,0x71,0x00,0x00,}},
+ {0x9A2C,2,{0xF2,0x72,0x00,0x00,}},
+ {0x9A2D,2,{0xF2,0x73,0x00,0x00,}},
+ {0x9A2E,2,{0xF2,0x74,0x00,0x00,}},
+ {0x9A2F,2,{0xF2,0x75,0x00,0x00,}},
+ {0x9A30,2,{0xF2,0x76,0x00,0x00,}},
+ {0x9A31,2,{0xF2,0x77,0x00,0x00,}},
+ {0x9A32,2,{0xF2,0x78,0x00,0x00,}},
+ {0x9A33,2,{0xF2,0x79,0x00,0x00,}},
+ {0x9A34,2,{0xF2,0x7A,0x00,0x00,}},
+ {0x9A35,2,{0xF2,0x7B,0x00,0x00,}},
+ {0x9A36,2,{0xF2,0x7C,0x00,0x00,}},
+ {0x9A37,2,{0xF2,0x7D,0x00,0x00,}},
+ {0x9A38,2,{0xF2,0x7E,0x00,0x00,}},
+ {0x9A39,2,{0xF2,0x80,0x00,0x00,}},
+ {0x9A3A,2,{0xF2,0x81,0x00,0x00,}},
+ {0x9A3B,2,{0xF2,0x82,0x00,0x00,}},
+ {0x9A3C,2,{0xF2,0x83,0x00,0x00,}},
+ {0x9A3D,2,{0xF2,0x84,0x00,0x00,}},
+ {0x9A3E,2,{0xF2,0x85,0x00,0x00,}},
+ {0x9A3F,2,{0xF2,0x86,0x00,0x00,}},
+ {0x9A40,2,{0xF2,0x87,0x00,0x00,}},
+ {0x9A41,2,{0xF2,0x88,0x00,0x00,}},
+ {0x9A42,2,{0xF2,0x89,0x00,0x00,}},
+ {0x9A43,2,{0xF2,0x8A,0x00,0x00,}},
+ {0x9A44,2,{0xF2,0x8B,0x00,0x00,}},
+ {0x9A45,2,{0xF2,0x8C,0x00,0x00,}},
+ {0x9A46,2,{0xF2,0x8D,0x00,0x00,}},
+ {0x9A47,2,{0xF2,0x8E,0x00,0x00,}},
+ {0x9A48,2,{0xF2,0x8F,0x00,0x00,}},
+ {0x9A49,2,{0xF2,0x90,0x00,0x00,}},
+ {0x9A4A,2,{0xF2,0x91,0x00,0x00,}},
+ {0x9A4B,2,{0xF2,0x92,0x00,0x00,}},
+ {0x9A4C,2,{0xF2,0x93,0x00,0x00,}},
+ {0x9A4D,2,{0xF2,0x94,0x00,0x00,}},
+ {0x9A4E,2,{0xF2,0x95,0x00,0x00,}},
+ {0x9A4F,2,{0xF2,0x96,0x00,0x00,}},
+ {0x9A50,2,{0xF2,0x97,0x00,0x00,}},
+ {0x9A51,2,{0xF2,0x98,0x00,0x00,}},
+ {0x9A52,2,{0xF2,0x99,0x00,0x00,}},
+ {0x9A53,2,{0xF2,0x9A,0x00,0x00,}},
+ {0x9A54,2,{0xF2,0x9B,0x00,0x00,}},
+ {0x9A55,2,{0xF2,0x9C,0x00,0x00,}},
+ {0x9A56,2,{0xF2,0x9D,0x00,0x00,}},
+ {0x9A57,2,{0xF2,0x9E,0x00,0x00,}},
+ {0x9A58,2,{0xF2,0x9F,0x00,0x00,}},
+ {0x9A59,2,{0xF2,0xA0,0x00,0x00,}},
+ {0x9A5A,2,{0xF3,0x40,0x00,0x00,}},
+ {0x9A5B,2,{0xF3,0x41,0x00,0x00,}},
+ {0x9A5C,2,{0xF3,0x42,0x00,0x00,}},
+ {0x9A5D,2,{0xF3,0x43,0x00,0x00,}},
+ {0x9A5E,2,{0xF3,0x44,0x00,0x00,}},
+ {0x9A5F,2,{0xF3,0x45,0x00,0x00,}},
+ {0x9A60,2,{0xF3,0x46,0x00,0x00,}},
+ {0x9A61,2,{0xF3,0x47,0x00,0x00,}},
+ {0x9A62,2,{0xF3,0x48,0x00,0x00,}},
+ {0x9A63,2,{0xF3,0x49,0x00,0x00,}},
+ {0x9A64,2,{0xF3,0x4A,0x00,0x00,}},
+ {0x9A65,2,{0xF3,0x4B,0x00,0x00,}},
+ {0x9A66,2,{0xF3,0x4C,0x00,0x00,}},
+ {0x9A67,2,{0xF3,0x4D,0x00,0x00,}},
+ {0x9A68,2,{0xF3,0x4E,0x00,0x00,}},
+ {0x9A69,2,{0xF3,0x4F,0x00,0x00,}},
+ {0x9A6A,2,{0xF3,0x50,0x00,0x00,}},
+ {0x9A6B,2,{0xF3,0x51,0x00,0x00,}},
+ {0x9A6C,2,{0xC2,0xED,0x00,0x00,}},
+ {0x9A6D,2,{0xD4,0xA6,0x00,0x00,}},
+ {0x9A6E,2,{0xCD,0xD4,0x00,0x00,}},
+ {0x9A6F,2,{0xD1,0xB1,0x00,0x00,}},
+ {0x9A70,2,{0xB3,0xDB,0x00,0x00,}},
+ {0x9A71,2,{0xC7,0xFD,0x00,0x00,}},
+ {0x9A72,2,{0xF3,0x52,0x00,0x00,}},
+ {0x9A73,2,{0xB2,0xB5,0x00,0x00,}},
+ {0x9A74,2,{0xC2,0xBF,0x00,0x00,}},
+ {0x9A75,2,{0xE6,0xE0,0x00,0x00,}},
+ {0x9A76,2,{0xCA,0xBB,0x00,0x00,}},
+ {0x9A77,2,{0xE6,0xE1,0x00,0x00,}},
+ {0x9A78,2,{0xE6,0xE2,0x00,0x00,}},
+ {0x9A79,2,{0xBE,0xD4,0x00,0x00,}},
+ {0x9A7A,2,{0xE6,0xE3,0x00,0x00,}},
+ {0x9A7B,2,{0xD7,0xA4,0x00,0x00,}},
+ {0x9A7C,2,{0xCD,0xD5,0x00,0x00,}},
+ {0x9A7D,2,{0xE6,0xE5,0x00,0x00,}},
+ {0x9A7E,2,{0xBC,0xDD,0x00,0x00,}},
+ {0x9A7F,2,{0xE6,0xE4,0x00,0x00,}},
+ {0x9A80,2,{0xE6,0xE6,0x00,0x00,}},
+ {0x9A81,2,{0xE6,0xE7,0x00,0x00,}},
+ {0x9A82,2,{0xC2,0xEE,0x00,0x00,}},
+ {0x9A83,2,{0xF3,0x53,0x00,0x00,}},
+ {0x9A84,2,{0xBD,0xBE,0x00,0x00,}},
+ {0x9A85,2,{0xE6,0xE8,0x00,0x00,}},
+ {0x9A86,2,{0xC2,0xE6,0x00,0x00,}},
+ {0x9A87,2,{0xBA,0xA7,0x00,0x00,}},
+ {0x9A88,2,{0xE6,0xE9,0x00,0x00,}},
+ {0x9A89,2,{0xF3,0x54,0x00,0x00,}},
+ {0x9A8A,2,{0xE6,0xEA,0x00,0x00,}},
+ {0x9A8B,2,{0xB3,0xD2,0x00,0x00,}},
+ {0x9A8C,2,{0xD1,0xE9,0x00,0x00,}},
+ {0x9A8D,2,{0xF3,0x55,0x00,0x00,}},
+ {0x9A8E,2,{0xF3,0x56,0x00,0x00,}},
+ {0x9A8F,2,{0xBF,0xA5,0x00,0x00,}},
+ {0x9A90,2,{0xE6,0xEB,0x00,0x00,}},
+ {0x9A91,2,{0xC6,0xEF,0x00,0x00,}},
+ {0x9A92,2,{0xE6,0xEC,0x00,0x00,}},
+ {0x9A93,2,{0xE6,0xED,0x00,0x00,}},
+ {0x9A94,2,{0xF3,0x57,0x00,0x00,}},
+ {0x9A95,2,{0xF3,0x58,0x00,0x00,}},
+ {0x9A96,2,{0xE6,0xEE,0x00,0x00,}},
+ {0x9A97,2,{0xC6,0xAD,0x00,0x00,}},
+ {0x9A98,2,{0xE6,0xEF,0x00,0x00,}},
+ {0x9A99,2,{0xF3,0x59,0x00,0x00,}},
+ {0x9A9A,2,{0xC9,0xA7,0x00,0x00,}},
+ {0x9A9B,2,{0xE6,0xF0,0x00,0x00,}},
+ {0x9A9C,2,{0xE6,0xF1,0x00,0x00,}},
+ {0x9A9D,2,{0xE6,0xF2,0x00,0x00,}},
+ {0x9A9E,2,{0xE5,0xB9,0x00,0x00,}},
+ {0x9A9F,2,{0xE6,0xF3,0x00,0x00,}},
+ {0x9AA0,2,{0xE6,0xF4,0x00,0x00,}},
+ {0x9AA1,2,{0xC2,0xE2,0x00,0x00,}},
+ {0x9AA2,2,{0xE6,0xF5,0x00,0x00,}},
+ {0x9AA3,2,{0xE6,0xF6,0x00,0x00,}},
+ {0x9AA4,2,{0xD6,0xE8,0x00,0x00,}},
+ {0x9AA5,2,{0xE6,0xF7,0x00,0x00,}},
+ {0x9AA6,2,{0xF3,0x5A,0x00,0x00,}},
+ {0x9AA7,2,{0xE6,0xF8,0x00,0x00,}},
+ {0x9AA8,2,{0xB9,0xC7,0x00,0x00,}},
+ {0x9AA9,2,{0xF3,0x5B,0x00,0x00,}},
+ {0x9AAA,2,{0xF3,0x5C,0x00,0x00,}},
+ {0x9AAB,2,{0xF3,0x5D,0x00,0x00,}},
+ {0x9AAC,2,{0xF3,0x5E,0x00,0x00,}},
+ {0x9AAD,2,{0xF3,0x5F,0x00,0x00,}},
+ {0x9AAE,2,{0xF3,0x60,0x00,0x00,}},
+ {0x9AAF,2,{0xF3,0x61,0x00,0x00,}},
+ {0x9AB0,2,{0xF7,0xBB,0x00,0x00,}},
+ {0x9AB1,2,{0xF7,0xBA,0x00,0x00,}},
+ {0x9AB2,2,{0xF3,0x62,0x00,0x00,}},
+ {0x9AB3,2,{0xF3,0x63,0x00,0x00,}},
+ {0x9AB4,2,{0xF3,0x64,0x00,0x00,}},
+ {0x9AB5,2,{0xF3,0x65,0x00,0x00,}},
+ {0x9AB6,2,{0xF7,0xBE,0x00,0x00,}},
+ {0x9AB7,2,{0xF7,0xBC,0x00,0x00,}},
+ {0x9AB8,2,{0xBA,0xA1,0x00,0x00,}},
+ {0x9AB9,2,{0xF3,0x66,0x00,0x00,}},
+ {0x9ABA,2,{0xF7,0xBF,0x00,0x00,}},
+ {0x9ABB,2,{0xF3,0x67,0x00,0x00,}},
+ {0x9ABC,2,{0xF7,0xC0,0x00,0x00,}},
+ {0x9ABD,2,{0xF3,0x68,0x00,0x00,}},
+ {0x9ABE,2,{0xF3,0x69,0x00,0x00,}},
+ {0x9ABF,2,{0xF3,0x6A,0x00,0x00,}},
+ {0x9AC0,2,{0xF7,0xC2,0x00,0x00,}},
+ {0x9AC1,2,{0xF7,0xC1,0x00,0x00,}},
+ {0x9AC2,2,{0xF7,0xC4,0x00,0x00,}},
+ {0x9AC3,2,{0xF3,0x6B,0x00,0x00,}},
+ {0x9AC4,2,{0xF3,0x6C,0x00,0x00,}},
+ {0x9AC5,2,{0xF7,0xC3,0x00,0x00,}},
+ {0x9AC6,2,{0xF3,0x6D,0x00,0x00,}},
+ {0x9AC7,2,{0xF3,0x6E,0x00,0x00,}},
+ {0x9AC8,2,{0xF3,0x6F,0x00,0x00,}},
+ {0x9AC9,2,{0xF3,0x70,0x00,0x00,}},
+ {0x9ACA,2,{0xF3,0x71,0x00,0x00,}},
+ {0x9ACB,2,{0xF7,0xC5,0x00,0x00,}},
+ {0x9ACC,2,{0xF7,0xC6,0x00,0x00,}},
+ {0x9ACD,2,{0xF3,0x72,0x00,0x00,}},
+ {0x9ACE,2,{0xF3,0x73,0x00,0x00,}},
+ {0x9ACF,2,{0xF3,0x74,0x00,0x00,}},
+ {0x9AD0,2,{0xF3,0x75,0x00,0x00,}},
+ {0x9AD1,2,{0xF7,0xC7,0x00,0x00,}},
+ {0x9AD2,2,{0xF3,0x76,0x00,0x00,}},
+ {0x9AD3,2,{0xCB,0xE8,0x00,0x00,}},
+ {0x9AD4,2,{0xF3,0x77,0x00,0x00,}},
+ {0x9AD5,2,{0xF3,0x78,0x00,0x00,}},
+ {0x9AD6,2,{0xF3,0x79,0x00,0x00,}},
+ {0x9AD7,2,{0xF3,0x7A,0x00,0x00,}},
+ {0x9AD8,2,{0xB8,0xDF,0x00,0x00,}},
+ {0x9AD9,2,{0xF3,0x7B,0x00,0x00,}},
+ {0x9ADA,2,{0xF3,0x7C,0x00,0x00,}},
+ {0x9ADB,2,{0xF3,0x7D,0x00,0x00,}},
+ {0x9ADC,2,{0xF3,0x7E,0x00,0x00,}},
+ {0x9ADD,2,{0xF3,0x80,0x00,0x00,}},
+ {0x9ADE,2,{0xF3,0x81,0x00,0x00,}},
+ {0x9ADF,2,{0xF7,0xD4,0x00,0x00,}},
+ {0x9AE0,2,{0xF3,0x82,0x00,0x00,}},
+ {0x9AE1,2,{0xF7,0xD5,0x00,0x00,}},
+ {0x9AE2,2,{0xF3,0x83,0x00,0x00,}},
+ {0x9AE3,2,{0xF3,0x84,0x00,0x00,}},
+ {0x9AE4,2,{0xF3,0x85,0x00,0x00,}},
+ {0x9AE5,2,{0xF3,0x86,0x00,0x00,}},
+ {0x9AE6,2,{0xF7,0xD6,0x00,0x00,}},
+ {0x9AE7,2,{0xF3,0x87,0x00,0x00,}},
+ {0x9AE8,2,{0xF3,0x88,0x00,0x00,}},
+ {0x9AE9,2,{0xF3,0x89,0x00,0x00,}},
+ {0x9AEA,2,{0xF3,0x8A,0x00,0x00,}},
+ {0x9AEB,2,{0xF7,0xD8,0x00,0x00,}},
+ {0x9AEC,2,{0xF3,0x8B,0x00,0x00,}},
+ {0x9AED,2,{0xF7,0xDA,0x00,0x00,}},
+ {0x9AEE,2,{0xF3,0x8C,0x00,0x00,}},
+ {0x9AEF,2,{0xF7,0xD7,0x00,0x00,}},
+ {0x9AF0,2,{0xF3,0x8D,0x00,0x00,}},
+ {0x9AF1,2,{0xF3,0x8E,0x00,0x00,}},
+ {0x9AF2,2,{0xF3,0x8F,0x00,0x00,}},
+ {0x9AF3,2,{0xF3,0x90,0x00,0x00,}},
+ {0x9AF4,2,{0xF3,0x91,0x00,0x00,}},
+ {0x9AF5,2,{0xF3,0x92,0x00,0x00,}},
+ {0x9AF6,2,{0xF3,0x93,0x00,0x00,}},
+ {0x9AF7,2,{0xF3,0x94,0x00,0x00,}},
+ {0x9AF8,2,{0xF3,0x95,0x00,0x00,}},
+ {0x9AF9,2,{0xF7,0xDB,0x00,0x00,}},
+ {0x9AFA,2,{0xF3,0x96,0x00,0x00,}},
+ {0x9AFB,2,{0xF7,0xD9,0x00,0x00,}},
+ {0x9AFC,2,{0xF3,0x97,0x00,0x00,}},
+ {0x9AFD,2,{0xF3,0x98,0x00,0x00,}},
+ {0x9AFE,2,{0xF3,0x99,0x00,0x00,}},
+ {0x9AFF,2,{0xF3,0x9A,0x00,0x00,}},
+ {0x9B00,2,{0xF3,0x9B,0x00,0x00,}},
+ {0x9B01,2,{0xF3,0x9C,0x00,0x00,}},
+ {0x9B02,2,{0xF3,0x9D,0x00,0x00,}},
+ {0x9B03,2,{0xD7,0xD7,0x00,0x00,}},
+ {0x9B04,2,{0xF3,0x9E,0x00,0x00,}},
+ {0x9B05,2,{0xF3,0x9F,0x00,0x00,}},
+ {0x9B06,2,{0xF3,0xA0,0x00,0x00,}},
+ {0x9B07,2,{0xF4,0x40,0x00,0x00,}},
+ {0x9B08,2,{0xF7,0xDC,0x00,0x00,}},
+ {0x9B09,2,{0xF4,0x41,0x00,0x00,}},
+ {0x9B0A,2,{0xF4,0x42,0x00,0x00,}},
+ {0x9B0B,2,{0xF4,0x43,0x00,0x00,}},
+ {0x9B0C,2,{0xF4,0x44,0x00,0x00,}},
+ {0x9B0D,2,{0xF4,0x45,0x00,0x00,}},
+ {0x9B0E,2,{0xF4,0x46,0x00,0x00,}},
+ {0x9B0F,2,{0xF7,0xDD,0x00,0x00,}},
+ {0x9B10,2,{0xF4,0x47,0x00,0x00,}},
+ {0x9B11,2,{0xF4,0x48,0x00,0x00,}},
+ {0x9B12,2,{0xF4,0x49,0x00,0x00,}},
+ {0x9B13,2,{0xF7,0xDE,0x00,0x00,}},
+ {0x9B14,2,{0xF4,0x4A,0x00,0x00,}},
+ {0x9B15,2,{0xF4,0x4B,0x00,0x00,}},
+ {0x9B16,2,{0xF4,0x4C,0x00,0x00,}},
+ {0x9B17,2,{0xF4,0x4D,0x00,0x00,}},
+ {0x9B18,2,{0xF4,0x4E,0x00,0x00,}},
+ {0x9B19,2,{0xF4,0x4F,0x00,0x00,}},
+ {0x9B1A,2,{0xF4,0x50,0x00,0x00,}},
+ {0x9B1B,2,{0xF4,0x51,0x00,0x00,}},
+ {0x9B1C,2,{0xF4,0x52,0x00,0x00,}},
+ {0x9B1D,2,{0xF4,0x53,0x00,0x00,}},
+ {0x9B1E,2,{0xF4,0x54,0x00,0x00,}},
+ {0x9B1F,2,{0xF7,0xDF,0x00,0x00,}},
+ {0x9B20,2,{0xF4,0x55,0x00,0x00,}},
+ {0x9B21,2,{0xF4,0x56,0x00,0x00,}},
+ {0x9B22,2,{0xF4,0x57,0x00,0x00,}},
+ {0x9B23,2,{0xF7,0xE0,0x00,0x00,}},
+ {0x9B24,2,{0xF4,0x58,0x00,0x00,}},
+ {0x9B25,2,{0xF4,0x59,0x00,0x00,}},
+ {0x9B26,2,{0xF4,0x5A,0x00,0x00,}},
+ {0x9B27,2,{0xF4,0x5B,0x00,0x00,}},
+ {0x9B28,2,{0xF4,0x5C,0x00,0x00,}},
+ {0x9B29,2,{0xF4,0x5D,0x00,0x00,}},
+ {0x9B2A,2,{0xF4,0x5E,0x00,0x00,}},
+ {0x9B2B,2,{0xF4,0x5F,0x00,0x00,}},
+ {0x9B2C,2,{0xF4,0x60,0x00,0x00,}},
+ {0x9B2D,2,{0xF4,0x61,0x00,0x00,}},
+ {0x9B2E,2,{0xF4,0x62,0x00,0x00,}},
+ {0x9B2F,2,{0xDB,0xCB,0x00,0x00,}},
+ {0x9B30,2,{0xF4,0x63,0x00,0x00,}},
+ {0x9B31,2,{0xF4,0x64,0x00,0x00,}},
+ {0x9B32,2,{0xD8,0xAA,0x00,0x00,}},
+ {0x9B33,2,{0xF4,0x65,0x00,0x00,}},
+ {0x9B34,2,{0xF4,0x66,0x00,0x00,}},
+ {0x9B35,2,{0xF4,0x67,0x00,0x00,}},
+ {0x9B36,2,{0xF4,0x68,0x00,0x00,}},
+ {0x9B37,2,{0xF4,0x69,0x00,0x00,}},
+ {0x9B38,2,{0xF4,0x6A,0x00,0x00,}},
+ {0x9B39,2,{0xF4,0x6B,0x00,0x00,}},
+ {0x9B3A,2,{0xF4,0x6C,0x00,0x00,}},
+ {0x9B3B,2,{0xE5,0xF7,0x00,0x00,}},
+ {0x9B3C,2,{0xB9,0xED,0x00,0x00,}},
+ {0x9B3D,2,{0xF4,0x6D,0x00,0x00,}},
+ {0x9B3E,2,{0xF4,0x6E,0x00,0x00,}},
+ {0x9B3F,2,{0xF4,0x6F,0x00,0x00,}},
+ {0x9B40,2,{0xF4,0x70,0x00,0x00,}},
+ {0x9B41,2,{0xBF,0xFD,0x00,0x00,}},
+ {0x9B42,2,{0xBB,0xEA,0x00,0x00,}},
+ {0x9B43,2,{0xF7,0xC9,0x00,0x00,}},
+ {0x9B44,2,{0xC6,0xC7,0x00,0x00,}},
+ {0x9B45,2,{0xF7,0xC8,0x00,0x00,}},
+ {0x9B46,2,{0xF4,0x71,0x00,0x00,}},
+ {0x9B47,2,{0xF7,0xCA,0x00,0x00,}},
+ {0x9B48,2,{0xF7,0xCC,0x00,0x00,}},
+ {0x9B49,2,{0xF7,0xCB,0x00,0x00,}},
+ {0x9B4A,2,{0xF4,0x72,0x00,0x00,}},
+ {0x9B4B,2,{0xF4,0x73,0x00,0x00,}},
+ {0x9B4C,2,{0xF4,0x74,0x00,0x00,}},
+ {0x9B4D,2,{0xF7,0xCD,0x00,0x00,}},
+ {0x9B4E,2,{0xF4,0x75,0x00,0x00,}},
+ {0x9B4F,2,{0xCE,0xBA,0x00,0x00,}},
+ {0x9B50,2,{0xF4,0x76,0x00,0x00,}},
+ {0x9B51,2,{0xF7,0xCE,0x00,0x00,}},
+ {0x9B52,2,{0xF4,0x77,0x00,0x00,}},
+ {0x9B53,2,{0xF4,0x78,0x00,0x00,}},
+ {0x9B54,2,{0xC4,0xA7,0x00,0x00,}},
+ {0x9B55,2,{0xF4,0x79,0x00,0x00,}},
+ {0x9B56,2,{0xF4,0x7A,0x00,0x00,}},
+ {0x9B57,2,{0xF4,0x7B,0x00,0x00,}},
+ {0x9B58,2,{0xF4,0x7C,0x00,0x00,}},
+ {0x9B59,2,{0xF4,0x7D,0x00,0x00,}},
+ {0x9B5A,2,{0xF4,0x7E,0x00,0x00,}},
+ {0x9B5B,2,{0xF4,0x80,0x00,0x00,}},
+ {0x9B5C,2,{0xF4,0x81,0x00,0x00,}},
+ {0x9B5D,2,{0xF4,0x82,0x00,0x00,}},
+ {0x9B5E,2,{0xF4,0x83,0x00,0x00,}},
+ {0x9B5F,2,{0xF4,0x84,0x00,0x00,}},
+ {0x9B60,2,{0xF4,0x85,0x00,0x00,}},
+ {0x9B61,2,{0xF4,0x86,0x00,0x00,}},
+ {0x9B62,2,{0xF4,0x87,0x00,0x00,}},
+ {0x9B63,2,{0xF4,0x88,0x00,0x00,}},
+ {0x9B64,2,{0xF4,0x89,0x00,0x00,}},
+ {0x9B65,2,{0xF4,0x8A,0x00,0x00,}},
+ {0x9B66,2,{0xF4,0x8B,0x00,0x00,}},
+ {0x9B67,2,{0xF4,0x8C,0x00,0x00,}},
+ {0x9B68,2,{0xF4,0x8D,0x00,0x00,}},
+ {0x9B69,2,{0xF4,0x8E,0x00,0x00,}},
+ {0x9B6A,2,{0xF4,0x8F,0x00,0x00,}},
+ {0x9B6B,2,{0xF4,0x90,0x00,0x00,}},
+ {0x9B6C,2,{0xF4,0x91,0x00,0x00,}},
+ {0x9B6D,2,{0xF4,0x92,0x00,0x00,}},
+ {0x9B6E,2,{0xF4,0x93,0x00,0x00,}},
+ {0x9B6F,2,{0xF4,0x94,0x00,0x00,}},
+ {0x9B70,2,{0xF4,0x95,0x00,0x00,}},
+ {0x9B71,2,{0xF4,0x96,0x00,0x00,}},
+ {0x9B72,2,{0xF4,0x97,0x00,0x00,}},
+ {0x9B73,2,{0xF4,0x98,0x00,0x00,}},
+ {0x9B74,2,{0xF4,0x99,0x00,0x00,}},
+ {0x9B75,2,{0xF4,0x9A,0x00,0x00,}},
+ {0x9B76,2,{0xF4,0x9B,0x00,0x00,}},
+ {0x9B77,2,{0xF4,0x9C,0x00,0x00,}},
+ {0x9B78,2,{0xF4,0x9D,0x00,0x00,}},
+ {0x9B79,2,{0xF4,0x9E,0x00,0x00,}},
+ {0x9B7A,2,{0xF4,0x9F,0x00,0x00,}},
+ {0x9B7B,2,{0xF4,0xA0,0x00,0x00,}},
+ {0x9B7C,2,{0xF5,0x40,0x00,0x00,}},
+ {0x9B7D,2,{0xF5,0x41,0x00,0x00,}},
+ {0x9B7E,2,{0xF5,0x42,0x00,0x00,}},
+ {0x9B7F,2,{0xF5,0x43,0x00,0x00,}},
+ {0x9B80,2,{0xF5,0x44,0x00,0x00,}},
+ {0x9B81,2,{0xF5,0x45,0x00,0x00,}},
+ {0x9B82,2,{0xF5,0x46,0x00,0x00,}},
+ {0x9B83,2,{0xF5,0x47,0x00,0x00,}},
+ {0x9B84,2,{0xF5,0x48,0x00,0x00,}},
+ {0x9B85,2,{0xF5,0x49,0x00,0x00,}},
+ {0x9B86,2,{0xF5,0x4A,0x00,0x00,}},
+ {0x9B87,2,{0xF5,0x4B,0x00,0x00,}},
+ {0x9B88,2,{0xF5,0x4C,0x00,0x00,}},
+ {0x9B89,2,{0xF5,0x4D,0x00,0x00,}},
+ {0x9B8A,2,{0xF5,0x4E,0x00,0x00,}},
+ {0x9B8B,2,{0xF5,0x4F,0x00,0x00,}},
+ {0x9B8C,2,{0xF5,0x50,0x00,0x00,}},
+ {0x9B8D,2,{0xF5,0x51,0x00,0x00,}},
+ {0x9B8E,2,{0xF5,0x52,0x00,0x00,}},
+ {0x9B8F,2,{0xF5,0x53,0x00,0x00,}},
+ {0x9B90,2,{0xF5,0x54,0x00,0x00,}},
+ {0x9B91,2,{0xF5,0x55,0x00,0x00,}},
+ {0x9B92,2,{0xF5,0x56,0x00,0x00,}},
+ {0x9B93,2,{0xF5,0x57,0x00,0x00,}},
+ {0x9B94,2,{0xF5,0x58,0x00,0x00,}},
+ {0x9B95,2,{0xF5,0x59,0x00,0x00,}},
+ {0x9B96,2,{0xF5,0x5A,0x00,0x00,}},
+ {0x9B97,2,{0xF5,0x5B,0x00,0x00,}},
+ {0x9B98,2,{0xF5,0x5C,0x00,0x00,}},
+ {0x9B99,2,{0xF5,0x5D,0x00,0x00,}},
+ {0x9B9A,2,{0xF5,0x5E,0x00,0x00,}},
+ {0x9B9B,2,{0xF5,0x5F,0x00,0x00,}},
+ {0x9B9C,2,{0xF5,0x60,0x00,0x00,}},
+ {0x9B9D,2,{0xF5,0x61,0x00,0x00,}},
+ {0x9B9E,2,{0xF5,0x62,0x00,0x00,}},
+ {0x9B9F,2,{0xF5,0x63,0x00,0x00,}},
+ {0x9BA0,2,{0xF5,0x64,0x00,0x00,}},
+ {0x9BA1,2,{0xF5,0x65,0x00,0x00,}},
+ {0x9BA2,2,{0xF5,0x66,0x00,0x00,}},
+ {0x9BA3,2,{0xF5,0x67,0x00,0x00,}},
+ {0x9BA4,2,{0xF5,0x68,0x00,0x00,}},
+ {0x9BA5,2,{0xF5,0x69,0x00,0x00,}},
+ {0x9BA6,2,{0xF5,0x6A,0x00,0x00,}},
+ {0x9BA7,2,{0xF5,0x6B,0x00,0x00,}},
+ {0x9BA8,2,{0xF5,0x6C,0x00,0x00,}},
+ {0x9BA9,2,{0xF5,0x6D,0x00,0x00,}},
+ {0x9BAA,2,{0xF5,0x6E,0x00,0x00,}},
+ {0x9BAB,2,{0xF5,0x6F,0x00,0x00,}},
+ {0x9BAC,2,{0xF5,0x70,0x00,0x00,}},
+ {0x9BAD,2,{0xF5,0x71,0x00,0x00,}},
+ {0x9BAE,2,{0xF5,0x72,0x00,0x00,}},
+ {0x9BAF,2,{0xF5,0x73,0x00,0x00,}},
+ {0x9BB0,2,{0xF5,0x74,0x00,0x00,}},
+ {0x9BB1,2,{0xF5,0x75,0x00,0x00,}},
+ {0x9BB2,2,{0xF5,0x76,0x00,0x00,}},
+ {0x9BB3,2,{0xF5,0x77,0x00,0x00,}},
+ {0x9BB4,2,{0xF5,0x78,0x00,0x00,}},
+ {0x9BB5,2,{0xF5,0x79,0x00,0x00,}},
+ {0x9BB6,2,{0xF5,0x7A,0x00,0x00,}},
+ {0x9BB7,2,{0xF5,0x7B,0x00,0x00,}},
+ {0x9BB8,2,{0xF5,0x7C,0x00,0x00,}},
+ {0x9BB9,2,{0xF5,0x7D,0x00,0x00,}},
+ {0x9BBA,2,{0xF5,0x7E,0x00,0x00,}},
+ {0x9BBB,2,{0xF5,0x80,0x00,0x00,}},
+ {0x9BBC,2,{0xF5,0x81,0x00,0x00,}},
+ {0x9BBD,2,{0xF5,0x82,0x00,0x00,}},
+ {0x9BBE,2,{0xF5,0x83,0x00,0x00,}},
+ {0x9BBF,2,{0xF5,0x84,0x00,0x00,}},
+ {0x9BC0,2,{0xF5,0x85,0x00,0x00,}},
+ {0x9BC1,2,{0xF5,0x86,0x00,0x00,}},
+ {0x9BC2,2,{0xF5,0x87,0x00,0x00,}},
+ {0x9BC3,2,{0xF5,0x88,0x00,0x00,}},
+ {0x9BC4,2,{0xF5,0x89,0x00,0x00,}},
+ {0x9BC5,2,{0xF5,0x8A,0x00,0x00,}},
+ {0x9BC6,2,{0xF5,0x8B,0x00,0x00,}},
+ {0x9BC7,2,{0xF5,0x8C,0x00,0x00,}},
+ {0x9BC8,2,{0xF5,0x8D,0x00,0x00,}},
+ {0x9BC9,2,{0xF5,0x8E,0x00,0x00,}},
+ {0x9BCA,2,{0xF5,0x8F,0x00,0x00,}},
+ {0x9BCB,2,{0xF5,0x90,0x00,0x00,}},
+ {0x9BCC,2,{0xF5,0x91,0x00,0x00,}},
+ {0x9BCD,2,{0xF5,0x92,0x00,0x00,}},
+ {0x9BCE,2,{0xF5,0x93,0x00,0x00,}},
+ {0x9BCF,2,{0xF5,0x94,0x00,0x00,}},
+ {0x9BD0,2,{0xF5,0x95,0x00,0x00,}},
+ {0x9BD1,2,{0xF5,0x96,0x00,0x00,}},
+ {0x9BD2,2,{0xF5,0x97,0x00,0x00,}},
+ {0x9BD3,2,{0xF5,0x98,0x00,0x00,}},
+ {0x9BD4,2,{0xF5,0x99,0x00,0x00,}},
+ {0x9BD5,2,{0xF5,0x9A,0x00,0x00,}},
+ {0x9BD6,2,{0xF5,0x9B,0x00,0x00,}},
+ {0x9BD7,2,{0xF5,0x9C,0x00,0x00,}},
+ {0x9BD8,2,{0xF5,0x9D,0x00,0x00,}},
+ {0x9BD9,2,{0xF5,0x9E,0x00,0x00,}},
+ {0x9BDA,2,{0xF5,0x9F,0x00,0x00,}},
+ {0x9BDB,2,{0xF5,0xA0,0x00,0x00,}},
+ {0x9BDC,2,{0xF6,0x40,0x00,0x00,}},
+ {0x9BDD,2,{0xF6,0x41,0x00,0x00,}},
+ {0x9BDE,2,{0xF6,0x42,0x00,0x00,}},
+ {0x9BDF,2,{0xF6,0x43,0x00,0x00,}},
+ {0x9BE0,2,{0xF6,0x44,0x00,0x00,}},
+ {0x9BE1,2,{0xF6,0x45,0x00,0x00,}},
+ {0x9BE2,2,{0xF6,0x46,0x00,0x00,}},
+ {0x9BE3,2,{0xF6,0x47,0x00,0x00,}},
+ {0x9BE4,2,{0xF6,0x48,0x00,0x00,}},
+ {0x9BE5,2,{0xF6,0x49,0x00,0x00,}},
+ {0x9BE6,2,{0xF6,0x4A,0x00,0x00,}},
+ {0x9BE7,2,{0xF6,0x4B,0x00,0x00,}},
+ {0x9BE8,2,{0xF6,0x4C,0x00,0x00,}},
+ {0x9BE9,2,{0xF6,0x4D,0x00,0x00,}},
+ {0x9BEA,2,{0xF6,0x4E,0x00,0x00,}},
+ {0x9BEB,2,{0xF6,0x4F,0x00,0x00,}},
+ {0x9BEC,2,{0xF6,0x50,0x00,0x00,}},
+ {0x9BED,2,{0xF6,0x51,0x00,0x00,}},
+ {0x9BEE,2,{0xF6,0x52,0x00,0x00,}},
+ {0x9BEF,2,{0xF6,0x53,0x00,0x00,}},
+ {0x9BF0,2,{0xF6,0x54,0x00,0x00,}},
+ {0x9BF1,2,{0xF6,0x55,0x00,0x00,}},
+ {0x9BF2,2,{0xF6,0x56,0x00,0x00,}},
+ {0x9BF3,2,{0xF6,0x57,0x00,0x00,}},
+ {0x9BF4,2,{0xF6,0x58,0x00,0x00,}},
+ {0x9BF5,2,{0xF6,0x59,0x00,0x00,}},
+ {0x9BF6,2,{0xF6,0x5A,0x00,0x00,}},
+ {0x9BF7,2,{0xF6,0x5B,0x00,0x00,}},
+ {0x9BF8,2,{0xF6,0x5C,0x00,0x00,}},
+ {0x9BF9,2,{0xF6,0x5D,0x00,0x00,}},
+ {0x9BFA,2,{0xF6,0x5E,0x00,0x00,}},
+ {0x9BFB,2,{0xF6,0x5F,0x00,0x00,}},
+ {0x9BFC,2,{0xF6,0x60,0x00,0x00,}},
+ {0x9BFD,2,{0xF6,0x61,0x00,0x00,}},
+ {0x9BFE,2,{0xF6,0x62,0x00,0x00,}},
+ {0x9BFF,2,{0xF6,0x63,0x00,0x00,}},
+ {0x9C00,2,{0xF6,0x64,0x00,0x00,}},
+ {0x9C01,2,{0xF6,0x65,0x00,0x00,}},
+ {0x9C02,2,{0xF6,0x66,0x00,0x00,}},
+ {0x9C03,2,{0xF6,0x67,0x00,0x00,}},
+ {0x9C04,2,{0xF6,0x68,0x00,0x00,}},
+ {0x9C05,2,{0xF6,0x69,0x00,0x00,}},
+ {0x9C06,2,{0xF6,0x6A,0x00,0x00,}},
+ {0x9C07,2,{0xF6,0x6B,0x00,0x00,}},
+ {0x9C08,2,{0xF6,0x6C,0x00,0x00,}},
+ {0x9C09,2,{0xF6,0x6D,0x00,0x00,}},
+ {0x9C0A,2,{0xF6,0x6E,0x00,0x00,}},
+ {0x9C0B,2,{0xF6,0x6F,0x00,0x00,}},
+ {0x9C0C,2,{0xF6,0x70,0x00,0x00,}},
+ {0x9C0D,2,{0xF6,0x71,0x00,0x00,}},
+ {0x9C0E,2,{0xF6,0x72,0x00,0x00,}},
+ {0x9C0F,2,{0xF6,0x73,0x00,0x00,}},
+ {0x9C10,2,{0xF6,0x74,0x00,0x00,}},
+ {0x9C11,2,{0xF6,0x75,0x00,0x00,}},
+ {0x9C12,2,{0xF6,0x76,0x00,0x00,}},
+ {0x9C13,2,{0xF6,0x77,0x00,0x00,}},
+ {0x9C14,2,{0xF6,0x78,0x00,0x00,}},
+ {0x9C15,2,{0xF6,0x79,0x00,0x00,}},
+ {0x9C16,2,{0xF6,0x7A,0x00,0x00,}},
+ {0x9C17,2,{0xF6,0x7B,0x00,0x00,}},
+ {0x9C18,2,{0xF6,0x7C,0x00,0x00,}},
+ {0x9C19,2,{0xF6,0x7D,0x00,0x00,}},
+ {0x9C1A,2,{0xF6,0x7E,0x00,0x00,}},
+ {0x9C1B,2,{0xF6,0x80,0x00,0x00,}},
+ {0x9C1C,2,{0xF6,0x81,0x00,0x00,}},
+ {0x9C1D,2,{0xF6,0x82,0x00,0x00,}},
+ {0x9C1E,2,{0xF6,0x83,0x00,0x00,}},
+ {0x9C1F,2,{0xF6,0x84,0x00,0x00,}},
+ {0x9C20,2,{0xF6,0x85,0x00,0x00,}},
+ {0x9C21,2,{0xF6,0x86,0x00,0x00,}},
+ {0x9C22,2,{0xF6,0x87,0x00,0x00,}},
+ {0x9C23,2,{0xF6,0x88,0x00,0x00,}},
+ {0x9C24,2,{0xF6,0x89,0x00,0x00,}},
+ {0x9C25,2,{0xF6,0x8A,0x00,0x00,}},
+ {0x9C26,2,{0xF6,0x8B,0x00,0x00,}},
+ {0x9C27,2,{0xF6,0x8C,0x00,0x00,}},
+ {0x9C28,2,{0xF6,0x8D,0x00,0x00,}},
+ {0x9C29,2,{0xF6,0x8E,0x00,0x00,}},
+ {0x9C2A,2,{0xF6,0x8F,0x00,0x00,}},
+ {0x9C2B,2,{0xF6,0x90,0x00,0x00,}},
+ {0x9C2C,2,{0xF6,0x91,0x00,0x00,}},
+ {0x9C2D,2,{0xF6,0x92,0x00,0x00,}},
+ {0x9C2E,2,{0xF6,0x93,0x00,0x00,}},
+ {0x9C2F,2,{0xF6,0x94,0x00,0x00,}},
+ {0x9C30,2,{0xF6,0x95,0x00,0x00,}},
+ {0x9C31,2,{0xF6,0x96,0x00,0x00,}},
+ {0x9C32,2,{0xF6,0x97,0x00,0x00,}},
+ {0x9C33,2,{0xF6,0x98,0x00,0x00,}},
+ {0x9C34,2,{0xF6,0x99,0x00,0x00,}},
+ {0x9C35,2,{0xF6,0x9A,0x00,0x00,}},
+ {0x9C36,2,{0xF6,0x9B,0x00,0x00,}},
+ {0x9C37,2,{0xF6,0x9C,0x00,0x00,}},
+ {0x9C38,2,{0xF6,0x9D,0x00,0x00,}},
+ {0x9C39,2,{0xF6,0x9E,0x00,0x00,}},
+ {0x9C3A,2,{0xF6,0x9F,0x00,0x00,}},
+ {0x9C3B,2,{0xF6,0xA0,0x00,0x00,}},
+ {0x9C3C,2,{0xF7,0x40,0x00,0x00,}},
+ {0x9C3D,2,{0xF7,0x41,0x00,0x00,}},
+ {0x9C3E,2,{0xF7,0x42,0x00,0x00,}},
+ {0x9C3F,2,{0xF7,0x43,0x00,0x00,}},
+ {0x9C40,2,{0xF7,0x44,0x00,0x00,}},
+ {0x9C41,2,{0xF7,0x45,0x00,0x00,}},
+ {0x9C42,2,{0xF7,0x46,0x00,0x00,}},
+ {0x9C43,2,{0xF7,0x47,0x00,0x00,}},
+ {0x9C44,2,{0xF7,0x48,0x00,0x00,}},
+ {0x9C45,2,{0xF7,0x49,0x00,0x00,}},
+ {0x9C46,2,{0xF7,0x4A,0x00,0x00,}},
+ {0x9C47,2,{0xF7,0x4B,0x00,0x00,}},
+ {0x9C48,2,{0xF7,0x4C,0x00,0x00,}},
+ {0x9C49,2,{0xF7,0x4D,0x00,0x00,}},
+ {0x9C4A,2,{0xF7,0x4E,0x00,0x00,}},
+ {0x9C4B,2,{0xF7,0x4F,0x00,0x00,}},
+ {0x9C4C,2,{0xF7,0x50,0x00,0x00,}},
+ {0x9C4D,2,{0xF7,0x51,0x00,0x00,}},
+ {0x9C4E,2,{0xF7,0x52,0x00,0x00,}},
+ {0x9C4F,2,{0xF7,0x53,0x00,0x00,}},
+ {0x9C50,2,{0xF7,0x54,0x00,0x00,}},
+ {0x9C51,2,{0xF7,0x55,0x00,0x00,}},
+ {0x9C52,2,{0xF7,0x56,0x00,0x00,}},
+ {0x9C53,2,{0xF7,0x57,0x00,0x00,}},
+ {0x9C54,2,{0xF7,0x58,0x00,0x00,}},
+ {0x9C55,2,{0xF7,0x59,0x00,0x00,}},
+ {0x9C56,2,{0xF7,0x5A,0x00,0x00,}},
+ {0x9C57,2,{0xF7,0x5B,0x00,0x00,}},
+ {0x9C58,2,{0xF7,0x5C,0x00,0x00,}},
+ {0x9C59,2,{0xF7,0x5D,0x00,0x00,}},
+ {0x9C5A,2,{0xF7,0x5E,0x00,0x00,}},
+ {0x9C5B,2,{0xF7,0x5F,0x00,0x00,}},
+ {0x9C5C,2,{0xF7,0x60,0x00,0x00,}},
+ {0x9C5D,2,{0xF7,0x61,0x00,0x00,}},
+ {0x9C5E,2,{0xF7,0x62,0x00,0x00,}},
+ {0x9C5F,2,{0xF7,0x63,0x00,0x00,}},
+ {0x9C60,2,{0xF7,0x64,0x00,0x00,}},
+ {0x9C61,2,{0xF7,0x65,0x00,0x00,}},
+ {0x9C62,2,{0xF7,0x66,0x00,0x00,}},
+ {0x9C63,2,{0xF7,0x67,0x00,0x00,}},
+ {0x9C64,2,{0xF7,0x68,0x00,0x00,}},
+ {0x9C65,2,{0xF7,0x69,0x00,0x00,}},
+ {0x9C66,2,{0xF7,0x6A,0x00,0x00,}},
+ {0x9C67,2,{0xF7,0x6B,0x00,0x00,}},
+ {0x9C68,2,{0xF7,0x6C,0x00,0x00,}},
+ {0x9C69,2,{0xF7,0x6D,0x00,0x00,}},
+ {0x9C6A,2,{0xF7,0x6E,0x00,0x00,}},
+ {0x9C6B,2,{0xF7,0x6F,0x00,0x00,}},
+ {0x9C6C,2,{0xF7,0x70,0x00,0x00,}},
+ {0x9C6D,2,{0xF7,0x71,0x00,0x00,}},
+ {0x9C6E,2,{0xF7,0x72,0x00,0x00,}},
+ {0x9C6F,2,{0xF7,0x73,0x00,0x00,}},
+ {0x9C70,2,{0xF7,0x74,0x00,0x00,}},
+ {0x9C71,2,{0xF7,0x75,0x00,0x00,}},
+ {0x9C72,2,{0xF7,0x76,0x00,0x00,}},
+ {0x9C73,2,{0xF7,0x77,0x00,0x00,}},
+ {0x9C74,2,{0xF7,0x78,0x00,0x00,}},
+ {0x9C75,2,{0xF7,0x79,0x00,0x00,}},
+ {0x9C76,2,{0xF7,0x7A,0x00,0x00,}},
+ {0x9C77,2,{0xF7,0x7B,0x00,0x00,}},
+ {0x9C78,2,{0xF7,0x7C,0x00,0x00,}},
+ {0x9C79,2,{0xF7,0x7D,0x00,0x00,}},
+ {0x9C7A,2,{0xF7,0x7E,0x00,0x00,}},
+ {0x9C7B,2,{0xF7,0x80,0x00,0x00,}},
+ {0x9C7C,2,{0xD3,0xE3,0x00,0x00,}},
+ {0x9C7D,2,{0xF7,0x81,0x00,0x00,}},
+ {0x9C7E,2,{0xF7,0x82,0x00,0x00,}},
+ {0x9C7F,2,{0xF6,0xCF,0x00,0x00,}},
+ {0x9C80,2,{0xF7,0x83,0x00,0x00,}},
+ {0x9C81,2,{0xC2,0xB3,0x00,0x00,}},
+ {0x9C82,2,{0xF6,0xD0,0x00,0x00,}},
+ {0x9C83,2,{0xF7,0x84,0x00,0x00,}},
+ {0x9C84,2,{0xF7,0x85,0x00,0x00,}},
+ {0x9C85,2,{0xF6,0xD1,0x00,0x00,}},
+ {0x9C86,2,{0xF6,0xD2,0x00,0x00,}},
+ {0x9C87,2,{0xF6,0xD3,0x00,0x00,}},
+ {0x9C88,2,{0xF6,0xD4,0x00,0x00,}},
+ {0x9C89,2,{0xF7,0x86,0x00,0x00,}},
+ {0x9C8A,2,{0xF7,0x87,0x00,0x00,}},
+ {0x9C8B,2,{0xF6,0xD6,0x00,0x00,}},
+ {0x9C8C,2,{0xF7,0x88,0x00,0x00,}},
+ {0x9C8D,2,{0xB1,0xAB,0x00,0x00,}},
+ {0x9C8E,2,{0xF6,0xD7,0x00,0x00,}},
+ {0x9C8F,2,{0xF7,0x89,0x00,0x00,}},
+ {0x9C90,2,{0xF6,0xD8,0x00,0x00,}},
+ {0x9C91,2,{0xF6,0xD9,0x00,0x00,}},
+ {0x9C92,2,{0xF6,0xDA,0x00,0x00,}},
+ {0x9C93,2,{0xF7,0x8A,0x00,0x00,}},
+ {0x9C94,2,{0xF6,0xDB,0x00,0x00,}},
+ {0x9C95,2,{0xF6,0xDC,0x00,0x00,}},
+ {0x9C96,2,{0xF7,0x8B,0x00,0x00,}},
+ {0x9C97,2,{0xF7,0x8C,0x00,0x00,}},
+ {0x9C98,2,{0xF7,0x8D,0x00,0x00,}},
+ {0x9C99,2,{0xF7,0x8E,0x00,0x00,}},
+ {0x9C9A,2,{0xF6,0xDD,0x00,0x00,}},
+ {0x9C9B,2,{0xF6,0xDE,0x00,0x00,}},
+ {0x9C9C,2,{0xCF,0xCA,0x00,0x00,}},
+ {0x9C9D,2,{0xF7,0x8F,0x00,0x00,}},
+ {0x9C9E,2,{0xF6,0xDF,0x00,0x00,}},
+ {0x9C9F,2,{0xF6,0xE0,0x00,0x00,}},
+ {0x9CA0,2,{0xF6,0xE1,0x00,0x00,}},
+ {0x9CA1,2,{0xF6,0xE2,0x00,0x00,}},
+ {0x9CA2,2,{0xF6,0xE3,0x00,0x00,}},
+ {0x9CA3,2,{0xF6,0xE4,0x00,0x00,}},
+ {0x9CA4,2,{0xC0,0xF0,0x00,0x00,}},
+ {0x9CA5,2,{0xF6,0xE5,0x00,0x00,}},
+ {0x9CA6,2,{0xF6,0xE6,0x00,0x00,}},
+ {0x9CA7,2,{0xF6,0xE7,0x00,0x00,}},
+ {0x9CA8,2,{0xF6,0xE8,0x00,0x00,}},
+ {0x9CA9,2,{0xF6,0xE9,0x00,0x00,}},
+ {0x9CAA,2,{0xF7,0x90,0x00,0x00,}},
+ {0x9CAB,2,{0xF6,0xEA,0x00,0x00,}},
+ {0x9CAC,2,{0xF7,0x91,0x00,0x00,}},
+ {0x9CAD,2,{0xF6,0xEB,0x00,0x00,}},
+ {0x9CAE,2,{0xF6,0xEC,0x00,0x00,}},
+ {0x9CAF,2,{0xF7,0x92,0x00,0x00,}},
+ {0x9CB0,2,{0xF6,0xED,0x00,0x00,}},
+ {0x9CB1,2,{0xF6,0xEE,0x00,0x00,}},
+ {0x9CB2,2,{0xF6,0xEF,0x00,0x00,}},
+ {0x9CB3,2,{0xF6,0xF0,0x00,0x00,}},
+ {0x9CB4,2,{0xF6,0xF1,0x00,0x00,}},
+ {0x9CB5,2,{0xF6,0xF2,0x00,0x00,}},
+ {0x9CB6,2,{0xF6,0xF3,0x00,0x00,}},
+ {0x9CB7,2,{0xF6,0xF4,0x00,0x00,}},
+ {0x9CB8,2,{0xBE,0xA8,0x00,0x00,}},
+ {0x9CB9,2,{0xF7,0x93,0x00,0x00,}},
+ {0x9CBA,2,{0xF6,0xF5,0x00,0x00,}},
+ {0x9CBB,2,{0xF6,0xF6,0x00,0x00,}},
+ {0x9CBC,2,{0xF6,0xF7,0x00,0x00,}},
+ {0x9CBD,2,{0xF6,0xF8,0x00,0x00,}},
+ {0x9CBE,2,{0xF7,0x94,0x00,0x00,}},
+ {0x9CBF,2,{0xF7,0x95,0x00,0x00,}},
+ {0x9CC0,2,{0xF7,0x96,0x00,0x00,}},
+ {0x9CC1,2,{0xF7,0x97,0x00,0x00,}},
+ {0x9CC2,2,{0xF7,0x98,0x00,0x00,}},
+ {0x9CC3,2,{0xC8,0xFA,0x00,0x00,}},
+ {0x9CC4,2,{0xF6,0xF9,0x00,0x00,}},
+ {0x9CC5,2,{0xF6,0xFA,0x00,0x00,}},
+ {0x9CC6,2,{0xF6,0xFB,0x00,0x00,}},
+ {0x9CC7,2,{0xF6,0xFC,0x00,0x00,}},
+ {0x9CC8,2,{0xF7,0x99,0x00,0x00,}},
+ {0x9CC9,2,{0xF7,0x9A,0x00,0x00,}},
+ {0x9CCA,2,{0xF6,0xFD,0x00,0x00,}},
+ {0x9CCB,2,{0xF6,0xFE,0x00,0x00,}},
+ {0x9CCC,2,{0xF7,0xA1,0x00,0x00,}},
+ {0x9CCD,2,{0xF7,0xA2,0x00,0x00,}},
+ {0x9CCE,2,{0xF7,0xA3,0x00,0x00,}},
+ {0x9CCF,2,{0xF7,0xA4,0x00,0x00,}},
+ {0x9CD0,2,{0xF7,0xA5,0x00,0x00,}},
+ {0x9CD1,2,{0xF7,0x9B,0x00,0x00,}},
+ {0x9CD2,2,{0xF7,0x9C,0x00,0x00,}},
+ {0x9CD3,2,{0xF7,0xA6,0x00,0x00,}},
+ {0x9CD4,2,{0xF7,0xA7,0x00,0x00,}},
+ {0x9CD5,2,{0xF7,0xA8,0x00,0x00,}},
+ {0x9CD6,2,{0xB1,0xEE,0x00,0x00,}},
+ {0x9CD7,2,{0xF7,0xA9,0x00,0x00,}},
+ {0x9CD8,2,{0xF7,0xAA,0x00,0x00,}},
+ {0x9CD9,2,{0xF7,0xAB,0x00,0x00,}},
+ {0x9CDA,2,{0xF7,0x9D,0x00,0x00,}},
+ {0x9CDB,2,{0xF7,0x9E,0x00,0x00,}},
+ {0x9CDC,2,{0xF7,0xAC,0x00,0x00,}},
+ {0x9CDD,2,{0xF7,0xAD,0x00,0x00,}},
+ {0x9CDE,2,{0xC1,0xDB,0x00,0x00,}},
+ {0x9CDF,2,{0xF7,0xAE,0x00,0x00,}},
+ {0x9CE0,2,{0xF7,0x9F,0x00,0x00,}},
+ {0x9CE1,2,{0xF7,0xA0,0x00,0x00,}},
+ {0x9CE2,2,{0xF7,0xAF,0x00,0x00,}},
+ {0x9CE3,2,{0xF8,0x40,0x00,0x00,}},
+ {0x9CE4,2,{0xF8,0x41,0x00,0x00,}},
+ {0x9CE5,2,{0xF8,0x42,0x00,0x00,}},
+ {0x9CE6,2,{0xF8,0x43,0x00,0x00,}},
+ {0x9CE7,2,{0xF8,0x44,0x00,0x00,}},
+ {0x9CE8,2,{0xF8,0x45,0x00,0x00,}},
+ {0x9CE9,2,{0xF8,0x46,0x00,0x00,}},
+ {0x9CEA,2,{0xF8,0x47,0x00,0x00,}},
+ {0x9CEB,2,{0xF8,0x48,0x00,0x00,}},
+ {0x9CEC,2,{0xF8,0x49,0x00,0x00,}},
+ {0x9CED,2,{0xF8,0x4A,0x00,0x00,}},
+ {0x9CEE,2,{0xF8,0x4B,0x00,0x00,}},
+ {0x9CEF,2,{0xF8,0x4C,0x00,0x00,}},
+ {0x9CF0,2,{0xF8,0x4D,0x00,0x00,}},
+ {0x9CF1,2,{0xF8,0x4E,0x00,0x00,}},
+ {0x9CF2,2,{0xF8,0x4F,0x00,0x00,}},
+ {0x9CF3,2,{0xF8,0x50,0x00,0x00,}},
+ {0x9CF4,2,{0xF8,0x51,0x00,0x00,}},
+ {0x9CF5,2,{0xF8,0x52,0x00,0x00,}},
+ {0x9CF6,2,{0xF8,0x53,0x00,0x00,}},
+ {0x9CF7,2,{0xF8,0x54,0x00,0x00,}},
+ {0x9CF8,2,{0xF8,0x55,0x00,0x00,}},
+ {0x9CF9,2,{0xF8,0x56,0x00,0x00,}},
+ {0x9CFA,2,{0xF8,0x57,0x00,0x00,}},
+ {0x9CFB,2,{0xF8,0x58,0x00,0x00,}},
+ {0x9CFC,2,{0xF8,0x59,0x00,0x00,}},
+ {0x9CFD,2,{0xF8,0x5A,0x00,0x00,}},
+ {0x9CFE,2,{0xF8,0x5B,0x00,0x00,}},
+ {0x9CFF,2,{0xF8,0x5C,0x00,0x00,}},
+ {0x9D00,2,{0xF8,0x5D,0x00,0x00,}},
+ {0x9D01,2,{0xF8,0x5E,0x00,0x00,}},
+ {0x9D02,2,{0xF8,0x5F,0x00,0x00,}},
+ {0x9D03,2,{0xF8,0x60,0x00,0x00,}},
+ {0x9D04,2,{0xF8,0x61,0x00,0x00,}},
+ {0x9D05,2,{0xF8,0x62,0x00,0x00,}},
+ {0x9D06,2,{0xF8,0x63,0x00,0x00,}},
+ {0x9D07,2,{0xF8,0x64,0x00,0x00,}},
+ {0x9D08,2,{0xF8,0x65,0x00,0x00,}},
+ {0x9D09,2,{0xF8,0x66,0x00,0x00,}},
+ {0x9D0A,2,{0xF8,0x67,0x00,0x00,}},
+ {0x9D0B,2,{0xF8,0x68,0x00,0x00,}},
+ {0x9D0C,2,{0xF8,0x69,0x00,0x00,}},
+ {0x9D0D,2,{0xF8,0x6A,0x00,0x00,}},
+ {0x9D0E,2,{0xF8,0x6B,0x00,0x00,}},
+ {0x9D0F,2,{0xF8,0x6C,0x00,0x00,}},
+ {0x9D10,2,{0xF8,0x6D,0x00,0x00,}},
+ {0x9D11,2,{0xF8,0x6E,0x00,0x00,}},
+ {0x9D12,2,{0xF8,0x6F,0x00,0x00,}},
+ {0x9D13,2,{0xF8,0x70,0x00,0x00,}},
+ {0x9D14,2,{0xF8,0x71,0x00,0x00,}},
+ {0x9D15,2,{0xF8,0x72,0x00,0x00,}},
+ {0x9D16,2,{0xF8,0x73,0x00,0x00,}},
+ {0x9D17,2,{0xF8,0x74,0x00,0x00,}},
+ {0x9D18,2,{0xF8,0x75,0x00,0x00,}},
+ {0x9D19,2,{0xF8,0x76,0x00,0x00,}},
+ {0x9D1A,2,{0xF8,0x77,0x00,0x00,}},
+ {0x9D1B,2,{0xF8,0x78,0x00,0x00,}},
+ {0x9D1C,2,{0xF8,0x79,0x00,0x00,}},
+ {0x9D1D,2,{0xF8,0x7A,0x00,0x00,}},
+ {0x9D1E,2,{0xF8,0x7B,0x00,0x00,}},
+ {0x9D1F,2,{0xF8,0x7C,0x00,0x00,}},
+ {0x9D20,2,{0xF8,0x7D,0x00,0x00,}},
+ {0x9D21,2,{0xF8,0x7E,0x00,0x00,}},
+ {0x9D22,2,{0xF8,0x80,0x00,0x00,}},
+ {0x9D23,2,{0xF8,0x81,0x00,0x00,}},
+ {0x9D24,2,{0xF8,0x82,0x00,0x00,}},
+ {0x9D25,2,{0xF8,0x83,0x00,0x00,}},
+ {0x9D26,2,{0xF8,0x84,0x00,0x00,}},
+ {0x9D27,2,{0xF8,0x85,0x00,0x00,}},
+ {0x9D28,2,{0xF8,0x86,0x00,0x00,}},
+ {0x9D29,2,{0xF8,0x87,0x00,0x00,}},
+ {0x9D2A,2,{0xF8,0x88,0x00,0x00,}},
+ {0x9D2B,2,{0xF8,0x89,0x00,0x00,}},
+ {0x9D2C,2,{0xF8,0x8A,0x00,0x00,}},
+ {0x9D2D,2,{0xF8,0x8B,0x00,0x00,}},
+ {0x9D2E,2,{0xF8,0x8C,0x00,0x00,}},
+ {0x9D2F,2,{0xF8,0x8D,0x00,0x00,}},
+ {0x9D30,2,{0xF8,0x8E,0x00,0x00,}},
+ {0x9D31,2,{0xF8,0x8F,0x00,0x00,}},
+ {0x9D32,2,{0xF8,0x90,0x00,0x00,}},
+ {0x9D33,2,{0xF8,0x91,0x00,0x00,}},
+ {0x9D34,2,{0xF8,0x92,0x00,0x00,}},
+ {0x9D35,2,{0xF8,0x93,0x00,0x00,}},
+ {0x9D36,2,{0xF8,0x94,0x00,0x00,}},
+ {0x9D37,2,{0xF8,0x95,0x00,0x00,}},
+ {0x9D38,2,{0xF8,0x96,0x00,0x00,}},
+ {0x9D39,2,{0xF8,0x97,0x00,0x00,}},
+ {0x9D3A,2,{0xF8,0x98,0x00,0x00,}},
+ {0x9D3B,2,{0xF8,0x99,0x00,0x00,}},
+ {0x9D3C,2,{0xF8,0x9A,0x00,0x00,}},
+ {0x9D3D,2,{0xF8,0x9B,0x00,0x00,}},
+ {0x9D3E,2,{0xF8,0x9C,0x00,0x00,}},
+ {0x9D3F,2,{0xF8,0x9D,0x00,0x00,}},
+ {0x9D40,2,{0xF8,0x9E,0x00,0x00,}},
+ {0x9D41,2,{0xF8,0x9F,0x00,0x00,}},
+ {0x9D42,2,{0xF8,0xA0,0x00,0x00,}},
+ {0x9D43,2,{0xF9,0x40,0x00,0x00,}},
+ {0x9D44,2,{0xF9,0x41,0x00,0x00,}},
+ {0x9D45,2,{0xF9,0x42,0x00,0x00,}},
+ {0x9D46,2,{0xF9,0x43,0x00,0x00,}},
+ {0x9D47,2,{0xF9,0x44,0x00,0x00,}},
+ {0x9D48,2,{0xF9,0x45,0x00,0x00,}},
+ {0x9D49,2,{0xF9,0x46,0x00,0x00,}},
+ {0x9D4A,2,{0xF9,0x47,0x00,0x00,}},
+ {0x9D4B,2,{0xF9,0x48,0x00,0x00,}},
+ {0x9D4C,2,{0xF9,0x49,0x00,0x00,}},
+ {0x9D4D,2,{0xF9,0x4A,0x00,0x00,}},
+ {0x9D4E,2,{0xF9,0x4B,0x00,0x00,}},
+ {0x9D4F,2,{0xF9,0x4C,0x00,0x00,}},
+ {0x9D50,2,{0xF9,0x4D,0x00,0x00,}},
+ {0x9D51,2,{0xF9,0x4E,0x00,0x00,}},
+ {0x9D52,2,{0xF9,0x4F,0x00,0x00,}},
+ {0x9D53,2,{0xF9,0x50,0x00,0x00,}},
+ {0x9D54,2,{0xF9,0x51,0x00,0x00,}},
+ {0x9D55,2,{0xF9,0x52,0x00,0x00,}},
+ {0x9D56,2,{0xF9,0x53,0x00,0x00,}},
+ {0x9D57,2,{0xF9,0x54,0x00,0x00,}},
+ {0x9D58,2,{0xF9,0x55,0x00,0x00,}},
+ {0x9D59,2,{0xF9,0x56,0x00,0x00,}},
+ {0x9D5A,2,{0xF9,0x57,0x00,0x00,}},
+ {0x9D5B,2,{0xF9,0x58,0x00,0x00,}},
+ {0x9D5C,2,{0xF9,0x59,0x00,0x00,}},
+ {0x9D5D,2,{0xF9,0x5A,0x00,0x00,}},
+ {0x9D5E,2,{0xF9,0x5B,0x00,0x00,}},
+ {0x9D5F,2,{0xF9,0x5C,0x00,0x00,}},
+ {0x9D60,2,{0xF9,0x5D,0x00,0x00,}},
+ {0x9D61,2,{0xF9,0x5E,0x00,0x00,}},
+ {0x9D62,2,{0xF9,0x5F,0x00,0x00,}},
+ {0x9D63,2,{0xF9,0x60,0x00,0x00,}},
+ {0x9D64,2,{0xF9,0x61,0x00,0x00,}},
+ {0x9D65,2,{0xF9,0x62,0x00,0x00,}},
+ {0x9D66,2,{0xF9,0x63,0x00,0x00,}},
+ {0x9D67,2,{0xF9,0x64,0x00,0x00,}},
+ {0x9D68,2,{0xF9,0x65,0x00,0x00,}},
+ {0x9D69,2,{0xF9,0x66,0x00,0x00,}},
+ {0x9D6A,2,{0xF9,0x67,0x00,0x00,}},
+ {0x9D6B,2,{0xF9,0x68,0x00,0x00,}},
+ {0x9D6C,2,{0xF9,0x69,0x00,0x00,}},
+ {0x9D6D,2,{0xF9,0x6A,0x00,0x00,}},
+ {0x9D6E,2,{0xF9,0x6B,0x00,0x00,}},
+ {0x9D6F,2,{0xF9,0x6C,0x00,0x00,}},
+ {0x9D70,2,{0xF9,0x6D,0x00,0x00,}},
+ {0x9D71,2,{0xF9,0x6E,0x00,0x00,}},
+ {0x9D72,2,{0xF9,0x6F,0x00,0x00,}},
+ {0x9D73,2,{0xF9,0x70,0x00,0x00,}},
+ {0x9D74,2,{0xF9,0x71,0x00,0x00,}},
+ {0x9D75,2,{0xF9,0x72,0x00,0x00,}},
+ {0x9D76,2,{0xF9,0x73,0x00,0x00,}},
+ {0x9D77,2,{0xF9,0x74,0x00,0x00,}},
+ {0x9D78,2,{0xF9,0x75,0x00,0x00,}},
+ {0x9D79,2,{0xF9,0x76,0x00,0x00,}},
+ {0x9D7A,2,{0xF9,0x77,0x00,0x00,}},
+ {0x9D7B,2,{0xF9,0x78,0x00,0x00,}},
+ {0x9D7C,2,{0xF9,0x79,0x00,0x00,}},
+ {0x9D7D,2,{0xF9,0x7A,0x00,0x00,}},
+ {0x9D7E,2,{0xF9,0x7B,0x00,0x00,}},
+ {0x9D7F,2,{0xF9,0x7C,0x00,0x00,}},
+ {0x9D80,2,{0xF9,0x7D,0x00,0x00,}},
+ {0x9D81,2,{0xF9,0x7E,0x00,0x00,}},
+ {0x9D82,2,{0xF9,0x80,0x00,0x00,}},
+ {0x9D83,2,{0xF9,0x81,0x00,0x00,}},
+ {0x9D84,2,{0xF9,0x82,0x00,0x00,}},
+ {0x9D85,2,{0xF9,0x83,0x00,0x00,}},
+ {0x9D86,2,{0xF9,0x84,0x00,0x00,}},
+ {0x9D87,2,{0xF9,0x85,0x00,0x00,}},
+ {0x9D88,2,{0xF9,0x86,0x00,0x00,}},
+ {0x9D89,2,{0xF9,0x87,0x00,0x00,}},
+ {0x9D8A,2,{0xF9,0x88,0x00,0x00,}},
+ {0x9D8B,2,{0xF9,0x89,0x00,0x00,}},
+ {0x9D8C,2,{0xF9,0x8A,0x00,0x00,}},
+ {0x9D8D,2,{0xF9,0x8B,0x00,0x00,}},
+ {0x9D8E,2,{0xF9,0x8C,0x00,0x00,}},
+ {0x9D8F,2,{0xF9,0x8D,0x00,0x00,}},
+ {0x9D90,2,{0xF9,0x8E,0x00,0x00,}},
+ {0x9D91,2,{0xF9,0x8F,0x00,0x00,}},
+ {0x9D92,2,{0xF9,0x90,0x00,0x00,}},
+ {0x9D93,2,{0xF9,0x91,0x00,0x00,}},
+ {0x9D94,2,{0xF9,0x92,0x00,0x00,}},
+ {0x9D95,2,{0xF9,0x93,0x00,0x00,}},
+ {0x9D96,2,{0xF9,0x94,0x00,0x00,}},
+ {0x9D97,2,{0xF9,0x95,0x00,0x00,}},
+ {0x9D98,2,{0xF9,0x96,0x00,0x00,}},
+ {0x9D99,2,{0xF9,0x97,0x00,0x00,}},
+ {0x9D9A,2,{0xF9,0x98,0x00,0x00,}},
+ {0x9D9B,2,{0xF9,0x99,0x00,0x00,}},
+ {0x9D9C,2,{0xF9,0x9A,0x00,0x00,}},
+ {0x9D9D,2,{0xF9,0x9B,0x00,0x00,}},
+ {0x9D9E,2,{0xF9,0x9C,0x00,0x00,}},
+ {0x9D9F,2,{0xF9,0x9D,0x00,0x00,}},
+ {0x9DA0,2,{0xF9,0x9E,0x00,0x00,}},
+ {0x9DA1,2,{0xF9,0x9F,0x00,0x00,}},
+ {0x9DA2,2,{0xF9,0xA0,0x00,0x00,}},
+ {0x9DA3,2,{0xFA,0x40,0x00,0x00,}},
+ {0x9DA4,2,{0xFA,0x41,0x00,0x00,}},
+ {0x9DA5,2,{0xFA,0x42,0x00,0x00,}},
+ {0x9DA6,2,{0xFA,0x43,0x00,0x00,}},
+ {0x9DA7,2,{0xFA,0x44,0x00,0x00,}},
+ {0x9DA8,2,{0xFA,0x45,0x00,0x00,}},
+ {0x9DA9,2,{0xFA,0x46,0x00,0x00,}},
+ {0x9DAA,2,{0xFA,0x47,0x00,0x00,}},
+ {0x9DAB,2,{0xFA,0x48,0x00,0x00,}},
+ {0x9DAC,2,{0xFA,0x49,0x00,0x00,}},
+ {0x9DAD,2,{0xFA,0x4A,0x00,0x00,}},
+ {0x9DAE,2,{0xFA,0x4B,0x00,0x00,}},
+ {0x9DAF,2,{0xFA,0x4C,0x00,0x00,}},
+ {0x9DB0,2,{0xFA,0x4D,0x00,0x00,}},
+ {0x9DB1,2,{0xFA,0x4E,0x00,0x00,}},
+ {0x9DB2,2,{0xFA,0x4F,0x00,0x00,}},
+ {0x9DB3,2,{0xFA,0x50,0x00,0x00,}},
+ {0x9DB4,2,{0xFA,0x51,0x00,0x00,}},
+ {0x9DB5,2,{0xFA,0x52,0x00,0x00,}},
+ {0x9DB6,2,{0xFA,0x53,0x00,0x00,}},
+ {0x9DB7,2,{0xFA,0x54,0x00,0x00,}},
+ {0x9DB8,2,{0xFA,0x55,0x00,0x00,}},
+ {0x9DB9,2,{0xFA,0x56,0x00,0x00,}},
+ {0x9DBA,2,{0xFA,0x57,0x00,0x00,}},
+ {0x9DBB,2,{0xFA,0x58,0x00,0x00,}},
+ {0x9DBC,2,{0xFA,0x59,0x00,0x00,}},
+ {0x9DBD,2,{0xFA,0x5A,0x00,0x00,}},
+ {0x9DBE,2,{0xFA,0x5B,0x00,0x00,}},
+ {0x9DBF,2,{0xFA,0x5C,0x00,0x00,}},
+ {0x9DC0,2,{0xFA,0x5D,0x00,0x00,}},
+ {0x9DC1,2,{0xFA,0x5E,0x00,0x00,}},
+ {0x9DC2,2,{0xFA,0x5F,0x00,0x00,}},
+ {0x9DC3,2,{0xFA,0x60,0x00,0x00,}},
+ {0x9DC4,2,{0xFA,0x61,0x00,0x00,}},
+ {0x9DC5,2,{0xFA,0x62,0x00,0x00,}},
+ {0x9DC6,2,{0xFA,0x63,0x00,0x00,}},
+ {0x9DC7,2,{0xFA,0x64,0x00,0x00,}},
+ {0x9DC8,2,{0xFA,0x65,0x00,0x00,}},
+ {0x9DC9,2,{0xFA,0x66,0x00,0x00,}},
+ {0x9DCA,2,{0xFA,0x67,0x00,0x00,}},
+ {0x9DCB,2,{0xFA,0x68,0x00,0x00,}},
+ {0x9DCC,2,{0xFA,0x69,0x00,0x00,}},
+ {0x9DCD,2,{0xFA,0x6A,0x00,0x00,}},
+ {0x9DCE,2,{0xFA,0x6B,0x00,0x00,}},
+ {0x9DCF,2,{0xFA,0x6C,0x00,0x00,}},
+ {0x9DD0,2,{0xFA,0x6D,0x00,0x00,}},
+ {0x9DD1,2,{0xFA,0x6E,0x00,0x00,}},
+ {0x9DD2,2,{0xFA,0x6F,0x00,0x00,}},
+ {0x9DD3,2,{0xFA,0x70,0x00,0x00,}},
+ {0x9DD4,2,{0xFA,0x71,0x00,0x00,}},
+ {0x9DD5,2,{0xFA,0x72,0x00,0x00,}},
+ {0x9DD6,2,{0xFA,0x73,0x00,0x00,}},
+ {0x9DD7,2,{0xFA,0x74,0x00,0x00,}},
+ {0x9DD8,2,{0xFA,0x75,0x00,0x00,}},
+ {0x9DD9,2,{0xFA,0x76,0x00,0x00,}},
+ {0x9DDA,2,{0xFA,0x77,0x00,0x00,}},
+ {0x9DDB,2,{0xFA,0x78,0x00,0x00,}},
+ {0x9DDC,2,{0xFA,0x79,0x00,0x00,}},
+ {0x9DDD,2,{0xFA,0x7A,0x00,0x00,}},
+ {0x9DDE,2,{0xFA,0x7B,0x00,0x00,}},
+ {0x9DDF,2,{0xFA,0x7C,0x00,0x00,}},
+ {0x9DE0,2,{0xFA,0x7D,0x00,0x00,}},
+ {0x9DE1,2,{0xFA,0x7E,0x00,0x00,}},
+ {0x9DE2,2,{0xFA,0x80,0x00,0x00,}},
+ {0x9DE3,2,{0xFA,0x81,0x00,0x00,}},
+ {0x9DE4,2,{0xFA,0x82,0x00,0x00,}},
+ {0x9DE5,2,{0xFA,0x83,0x00,0x00,}},
+ {0x9DE6,2,{0xFA,0x84,0x00,0x00,}},
+ {0x9DE7,2,{0xFA,0x85,0x00,0x00,}},
+ {0x9DE8,2,{0xFA,0x86,0x00,0x00,}},
+ {0x9DE9,2,{0xFA,0x87,0x00,0x00,}},
+ {0x9DEA,2,{0xFA,0x88,0x00,0x00,}},
+ {0x9DEB,2,{0xFA,0x89,0x00,0x00,}},
+ {0x9DEC,2,{0xFA,0x8A,0x00,0x00,}},
+ {0x9DED,2,{0xFA,0x8B,0x00,0x00,}},
+ {0x9DEE,2,{0xFA,0x8C,0x00,0x00,}},
+ {0x9DEF,2,{0xFA,0x8D,0x00,0x00,}},
+ {0x9DF0,2,{0xFA,0x8E,0x00,0x00,}},
+ {0x9DF1,2,{0xFA,0x8F,0x00,0x00,}},
+ {0x9DF2,2,{0xFA,0x90,0x00,0x00,}},
+ {0x9DF3,2,{0xFA,0x91,0x00,0x00,}},
+ {0x9DF4,2,{0xFA,0x92,0x00,0x00,}},
+ {0x9DF5,2,{0xFA,0x93,0x00,0x00,}},
+ {0x9DF6,2,{0xFA,0x94,0x00,0x00,}},
+ {0x9DF7,2,{0xFA,0x95,0x00,0x00,}},
+ {0x9DF8,2,{0xFA,0x96,0x00,0x00,}},
+ {0x9DF9,2,{0xFA,0x97,0x00,0x00,}},
+ {0x9DFA,2,{0xFA,0x98,0x00,0x00,}},
+ {0x9DFB,2,{0xFA,0x99,0x00,0x00,}},
+ {0x9DFC,2,{0xFA,0x9A,0x00,0x00,}},
+ {0x9DFD,2,{0xFA,0x9B,0x00,0x00,}},
+ {0x9DFE,2,{0xFA,0x9C,0x00,0x00,}},
+ {0x9DFF,2,{0xFA,0x9D,0x00,0x00,}},
+ {0x9E00,2,{0xFA,0x9E,0x00,0x00,}},
+ {0x9E01,2,{0xFA,0x9F,0x00,0x00,}},
+ {0x9E02,2,{0xFA,0xA0,0x00,0x00,}},
+ {0x9E03,2,{0xFB,0x40,0x00,0x00,}},
+ {0x9E04,2,{0xFB,0x41,0x00,0x00,}},
+ {0x9E05,2,{0xFB,0x42,0x00,0x00,}},
+ {0x9E06,2,{0xFB,0x43,0x00,0x00,}},
+ {0x9E07,2,{0xFB,0x44,0x00,0x00,}},
+ {0x9E08,2,{0xFB,0x45,0x00,0x00,}},
+ {0x9E09,2,{0xFB,0x46,0x00,0x00,}},
+ {0x9E0A,2,{0xFB,0x47,0x00,0x00,}},
+ {0x9E0B,2,{0xFB,0x48,0x00,0x00,}},
+ {0x9E0C,2,{0xFB,0x49,0x00,0x00,}},
+ {0x9E0D,2,{0xFB,0x4A,0x00,0x00,}},
+ {0x9E0E,2,{0xFB,0x4B,0x00,0x00,}},
+ {0x9E0F,2,{0xFB,0x4C,0x00,0x00,}},
+ {0x9E10,2,{0xFB,0x4D,0x00,0x00,}},
+ {0x9E11,2,{0xFB,0x4E,0x00,0x00,}},
+ {0x9E12,2,{0xFB,0x4F,0x00,0x00,}},
+ {0x9E13,2,{0xFB,0x50,0x00,0x00,}},
+ {0x9E14,2,{0xFB,0x51,0x00,0x00,}},
+ {0x9E15,2,{0xFB,0x52,0x00,0x00,}},
+ {0x9E16,2,{0xFB,0x53,0x00,0x00,}},
+ {0x9E17,2,{0xFB,0x54,0x00,0x00,}},
+ {0x9E18,2,{0xFB,0x55,0x00,0x00,}},
+ {0x9E19,2,{0xFB,0x56,0x00,0x00,}},
+ {0x9E1A,2,{0xFB,0x57,0x00,0x00,}},
+ {0x9E1B,2,{0xFB,0x58,0x00,0x00,}},
+ {0x9E1C,2,{0xFB,0x59,0x00,0x00,}},
+ {0x9E1D,2,{0xFB,0x5A,0x00,0x00,}},
+ {0x9E1E,2,{0xFB,0x5B,0x00,0x00,}},
+ {0x9E1F,2,{0xC4,0xF1,0x00,0x00,}},
+ {0x9E20,2,{0xF0,0xAF,0x00,0x00,}},
+ {0x9E21,2,{0xBC,0xA6,0x00,0x00,}},
+ {0x9E22,2,{0xF0,0xB0,0x00,0x00,}},
+ {0x9E23,2,{0xC3,0xF9,0x00,0x00,}},
+ {0x9E24,2,{0xFB,0x5C,0x00,0x00,}},
+ {0x9E25,2,{0xC5,0xB8,0x00,0x00,}},
+ {0x9E26,2,{0xD1,0xBB,0x00,0x00,}},
+ {0x9E27,2,{0xFB,0x5D,0x00,0x00,}},
+ {0x9E28,2,{0xF0,0xB1,0x00,0x00,}},
+ {0x9E29,2,{0xF0,0xB2,0x00,0x00,}},
+ {0x9E2A,2,{0xF0,0xB3,0x00,0x00,}},
+ {0x9E2B,2,{0xF0,0xB4,0x00,0x00,}},
+ {0x9E2C,2,{0xF0,0xB5,0x00,0x00,}},
+ {0x9E2D,2,{0xD1,0xBC,0x00,0x00,}},
+ {0x9E2E,2,{0xFB,0x5E,0x00,0x00,}},
+ {0x9E2F,2,{0xD1,0xEC,0x00,0x00,}},
+ {0x9E30,2,{0xFB,0x5F,0x00,0x00,}},
+ {0x9E31,2,{0xF0,0xB7,0x00,0x00,}},
+ {0x9E32,2,{0xF0,0xB6,0x00,0x00,}},
+ {0x9E33,2,{0xD4,0xA7,0x00,0x00,}},
+ {0x9E34,2,{0xFB,0x60,0x00,0x00,}},
+ {0x9E35,2,{0xCD,0xD2,0x00,0x00,}},
+ {0x9E36,2,{0xF0,0xB8,0x00,0x00,}},
+ {0x9E37,2,{0xF0,0xBA,0x00,0x00,}},
+ {0x9E38,2,{0xF0,0xB9,0x00,0x00,}},
+ {0x9E39,2,{0xF0,0xBB,0x00,0x00,}},
+ {0x9E3A,2,{0xF0,0xBC,0x00,0x00,}},
+ {0x9E3B,2,{0xFB,0x61,0x00,0x00,}},
+ {0x9E3C,2,{0xFB,0x62,0x00,0x00,}},
+ {0x9E3D,2,{0xB8,0xEB,0x00,0x00,}},
+ {0x9E3E,2,{0xF0,0xBD,0x00,0x00,}},
+ {0x9E3F,2,{0xBA,0xE8,0x00,0x00,}},
+ {0x9E40,2,{0xFB,0x63,0x00,0x00,}},
+ {0x9E41,2,{0xF0,0xBE,0x00,0x00,}},
+ {0x9E42,2,{0xF0,0xBF,0x00,0x00,}},
+ {0x9E43,2,{0xBE,0xE9,0x00,0x00,}},
+ {0x9E44,2,{0xF0,0xC0,0x00,0x00,}},
+ {0x9E45,2,{0xB6,0xEC,0x00,0x00,}},
+ {0x9E46,2,{0xF0,0xC1,0x00,0x00,}},
+ {0x9E47,2,{0xF0,0xC2,0x00,0x00,}},
+ {0x9E48,2,{0xF0,0xC3,0x00,0x00,}},
+ {0x9E49,2,{0xF0,0xC4,0x00,0x00,}},
+ {0x9E4A,2,{0xC8,0xB5,0x00,0x00,}},
+ {0x9E4B,2,{0xF0,0xC5,0x00,0x00,}},
+ {0x9E4C,2,{0xF0,0xC6,0x00,0x00,}},
+ {0x9E4D,2,{0xFB,0x64,0x00,0x00,}},
+ {0x9E4E,2,{0xF0,0xC7,0x00,0x00,}},
+ {0x9E4F,2,{0xC5,0xF4,0x00,0x00,}},
+ {0x9E50,2,{0xFB,0x65,0x00,0x00,}},
+ {0x9E51,2,{0xF0,0xC8,0x00,0x00,}},
+ {0x9E52,2,{0xFB,0x66,0x00,0x00,}},
+ {0x9E53,2,{0xFB,0x67,0x00,0x00,}},
+ {0x9E54,2,{0xFB,0x68,0x00,0x00,}},
+ {0x9E55,2,{0xF0,0xC9,0x00,0x00,}},
+ {0x9E56,2,{0xFB,0x69,0x00,0x00,}},
+ {0x9E57,2,{0xF0,0xCA,0x00,0x00,}},
+ {0x9E58,2,{0xF7,0xBD,0x00,0x00,}},
+ {0x9E59,2,{0xFB,0x6A,0x00,0x00,}},
+ {0x9E5A,2,{0xF0,0xCB,0x00,0x00,}},
+ {0x9E5B,2,{0xF0,0xCC,0x00,0x00,}},
+ {0x9E5C,2,{0xF0,0xCD,0x00,0x00,}},
+ {0x9E5D,2,{0xFB,0x6B,0x00,0x00,}},
+ {0x9E5E,2,{0xF0,0xCE,0x00,0x00,}},
+ {0x9E5F,2,{0xFB,0x6C,0x00,0x00,}},
+ {0x9E60,2,{0xFB,0x6D,0x00,0x00,}},
+ {0x9E61,2,{0xFB,0x6E,0x00,0x00,}},
+ {0x9E62,2,{0xFB,0x6F,0x00,0x00,}},
+ {0x9E63,2,{0xF0,0xCF,0x00,0x00,}},
+ {0x9E64,2,{0xBA,0xD7,0x00,0x00,}},
+ {0x9E65,2,{0xFB,0x70,0x00,0x00,}},
+ {0x9E66,2,{0xF0,0xD0,0x00,0x00,}},
+ {0x9E67,2,{0xF0,0xD1,0x00,0x00,}},
+ {0x9E68,2,{0xF0,0xD2,0x00,0x00,}},
+ {0x9E69,2,{0xF0,0xD3,0x00,0x00,}},
+ {0x9E6A,2,{0xF0,0xD4,0x00,0x00,}},
+ {0x9E6B,2,{0xF0,0xD5,0x00,0x00,}},
+ {0x9E6C,2,{0xF0,0xD6,0x00,0x00,}},
+ {0x9E6D,2,{0xF0,0xD8,0x00,0x00,}},
+ {0x9E6E,2,{0xFB,0x71,0x00,0x00,}},
+ {0x9E6F,2,{0xFB,0x72,0x00,0x00,}},
+ {0x9E70,2,{0xD3,0xA5,0x00,0x00,}},
+ {0x9E71,2,{0xF0,0xD7,0x00,0x00,}},
+ {0x9E72,2,{0xFB,0x73,0x00,0x00,}},
+ {0x9E73,2,{0xF0,0xD9,0x00,0x00,}},
+ {0x9E74,2,{0xFB,0x74,0x00,0x00,}},
+ {0x9E75,2,{0xFB,0x75,0x00,0x00,}},
+ {0x9E76,2,{0xFB,0x76,0x00,0x00,}},
+ {0x9E77,2,{0xFB,0x77,0x00,0x00,}},
+ {0x9E78,2,{0xFB,0x78,0x00,0x00,}},
+ {0x9E79,2,{0xFB,0x79,0x00,0x00,}},
+ {0x9E7A,2,{0xFB,0x7A,0x00,0x00,}},
+ {0x9E7B,2,{0xFB,0x7B,0x00,0x00,}},
+ {0x9E7C,2,{0xFB,0x7C,0x00,0x00,}},
+ {0x9E7D,2,{0xFB,0x7D,0x00,0x00,}},
+ {0x9E7E,2,{0xF5,0xBA,0x00,0x00,}},
+ {0x9E7F,2,{0xC2,0xB9,0x00,0x00,}},
+ {0x9E80,2,{0xFB,0x7E,0x00,0x00,}},
+ {0x9E81,2,{0xFB,0x80,0x00,0x00,}},
+ {0x9E82,2,{0xF7,0xE4,0x00,0x00,}},
+ {0x9E83,2,{0xFB,0x81,0x00,0x00,}},
+ {0x9E84,2,{0xFB,0x82,0x00,0x00,}},
+ {0x9E85,2,{0xFB,0x83,0x00,0x00,}},
+ {0x9E86,2,{0xFB,0x84,0x00,0x00,}},
+ {0x9E87,2,{0xF7,0xE5,0x00,0x00,}},
+ {0x9E88,2,{0xF7,0xE6,0x00,0x00,}},
+ {0x9E89,2,{0xFB,0x85,0x00,0x00,}},
+ {0x9E8A,2,{0xFB,0x86,0x00,0x00,}},
+ {0x9E8B,2,{0xF7,0xE7,0x00,0x00,}},
+ {0x9E8C,2,{0xFB,0x87,0x00,0x00,}},
+ {0x9E8D,2,{0xFB,0x88,0x00,0x00,}},
+ {0x9E8E,2,{0xFB,0x89,0x00,0x00,}},
+ {0x9E8F,2,{0xFB,0x8A,0x00,0x00,}},
+ {0x9E90,2,{0xFB,0x8B,0x00,0x00,}},
+ {0x9E91,2,{0xFB,0x8C,0x00,0x00,}},
+ {0x9E92,2,{0xF7,0xE8,0x00,0x00,}},
+ {0x9E93,2,{0xC2,0xB4,0x00,0x00,}},
+ {0x9E94,2,{0xFB,0x8D,0x00,0x00,}},
+ {0x9E95,2,{0xFB,0x8E,0x00,0x00,}},
+ {0x9E96,2,{0xFB,0x8F,0x00,0x00,}},
+ {0x9E97,2,{0xFB,0x90,0x00,0x00,}},
+ {0x9E98,2,{0xFB,0x91,0x00,0x00,}},
+ {0x9E99,2,{0xFB,0x92,0x00,0x00,}},
+ {0x9E9A,2,{0xFB,0x93,0x00,0x00,}},
+ {0x9E9B,2,{0xFB,0x94,0x00,0x00,}},
+ {0x9E9C,2,{0xFB,0x95,0x00,0x00,}},
+ {0x9E9D,2,{0xF7,0xEA,0x00,0x00,}},
+ {0x9E9E,2,{0xFB,0x96,0x00,0x00,}},
+ {0x9E9F,2,{0xF7,0xEB,0x00,0x00,}},
+ {0x9EA0,2,{0xFB,0x97,0x00,0x00,}},
+ {0x9EA1,2,{0xFB,0x98,0x00,0x00,}},
+ {0x9EA2,2,{0xFB,0x99,0x00,0x00,}},
+ {0x9EA3,2,{0xFB,0x9A,0x00,0x00,}},
+ {0x9EA4,2,{0xFB,0x9B,0x00,0x00,}},
+ {0x9EA5,2,{0xFB,0x9C,0x00,0x00,}},
+ {0x9EA6,2,{0xC2,0xF3,0x00,0x00,}},
+ {0x9EA7,2,{0xFB,0x9D,0x00,0x00,}},
+ {0x9EA8,2,{0xFB,0x9E,0x00,0x00,}},
+ {0x9EA9,2,{0xFB,0x9F,0x00,0x00,}},
+ {0x9EAA,2,{0xFB,0xA0,0x00,0x00,}},
+ {0x9EAB,2,{0xFC,0x40,0x00,0x00,}},
+ {0x9EAC,2,{0xFC,0x41,0x00,0x00,}},
+ {0x9EAD,2,{0xFC,0x42,0x00,0x00,}},
+ {0x9EAE,2,{0xFC,0x43,0x00,0x00,}},
+ {0x9EAF,2,{0xFC,0x44,0x00,0x00,}},
+ {0x9EB0,2,{0xFC,0x45,0x00,0x00,}},
+ {0x9EB1,2,{0xFC,0x46,0x00,0x00,}},
+ {0x9EB2,2,{0xFC,0x47,0x00,0x00,}},
+ {0x9EB3,2,{0xFC,0x48,0x00,0x00,}},
+ {0x9EB4,2,{0xF4,0xF0,0x00,0x00,}},
+ {0x9EB5,2,{0xFC,0x49,0x00,0x00,}},
+ {0x9EB6,2,{0xFC,0x4A,0x00,0x00,}},
+ {0x9EB7,2,{0xFC,0x4B,0x00,0x00,}},
+ {0x9EB8,2,{0xF4,0xEF,0x00,0x00,}},
+ {0x9EB9,2,{0xFC,0x4C,0x00,0x00,}},
+ {0x9EBA,2,{0xFC,0x4D,0x00,0x00,}},
+ {0x9EBB,2,{0xC2,0xE9,0x00,0x00,}},
+ {0x9EBC,2,{0xFC,0x4E,0x00,0x00,}},
+ {0x9EBD,2,{0xF7,0xE1,0x00,0x00,}},
+ {0x9EBE,2,{0xF7,0xE2,0x00,0x00,}},
+ {0x9EBF,2,{0xFC,0x4F,0x00,0x00,}},
+ {0x9EC0,2,{0xFC,0x50,0x00,0x00,}},
+ {0x9EC1,2,{0xFC,0x51,0x00,0x00,}},
+ {0x9EC2,2,{0xFC,0x52,0x00,0x00,}},
+ {0x9EC3,2,{0xFC,0x53,0x00,0x00,}},
+ {0x9EC4,2,{0xBB,0xC6,0x00,0x00,}},
+ {0x9EC5,2,{0xFC,0x54,0x00,0x00,}},
+ {0x9EC6,2,{0xFC,0x55,0x00,0x00,}},
+ {0x9EC7,2,{0xFC,0x56,0x00,0x00,}},
+ {0x9EC8,2,{0xFC,0x57,0x00,0x00,}},
+ {0x9EC9,2,{0xD9,0xE4,0x00,0x00,}},
+ {0x9ECA,2,{0xFC,0x58,0x00,0x00,}},
+ {0x9ECB,2,{0xFC,0x59,0x00,0x00,}},
+ {0x9ECC,2,{0xFC,0x5A,0x00,0x00,}},
+ {0x9ECD,2,{0xCA,0xF2,0x00,0x00,}},
+ {0x9ECE,2,{0xC0,0xE8,0x00,0x00,}},
+ {0x9ECF,2,{0xF0,0xA4,0x00,0x00,}},
+ {0x9ED0,2,{0xFC,0x5B,0x00,0x00,}},
+ {0x9ED1,2,{0xBA,0xDA,0x00,0x00,}},
+ {0x9ED2,2,{0xFC,0x5C,0x00,0x00,}},
+ {0x9ED3,2,{0xFC,0x5D,0x00,0x00,}},
+ {0x9ED4,2,{0xC7,0xAD,0x00,0x00,}},
+ {0x9ED5,2,{0xFC,0x5E,0x00,0x00,}},
+ {0x9ED6,2,{0xFC,0x5F,0x00,0x00,}},
+ {0x9ED7,2,{0xFC,0x60,0x00,0x00,}},
+ {0x9ED8,2,{0xC4,0xAC,0x00,0x00,}},
+ {0x9ED9,2,{0xFC,0x61,0x00,0x00,}},
+ {0x9EDA,2,{0xFC,0x62,0x00,0x00,}},
+ {0x9EDB,2,{0xF7,0xEC,0x00,0x00,}},
+ {0x9EDC,2,{0xF7,0xED,0x00,0x00,}},
+ {0x9EDD,2,{0xF7,0xEE,0x00,0x00,}},
+ {0x9EDE,2,{0xFC,0x63,0x00,0x00,}},
+ {0x9EDF,2,{0xF7,0xF0,0x00,0x00,}},
+ {0x9EE0,2,{0xF7,0xEF,0x00,0x00,}},
+ {0x9EE1,2,{0xFC,0x64,0x00,0x00,}},
+ {0x9EE2,2,{0xF7,0xF1,0x00,0x00,}},
+ {0x9EE3,2,{0xFC,0x65,0x00,0x00,}},
+ {0x9EE4,2,{0xFC,0x66,0x00,0x00,}},
+ {0x9EE5,2,{0xF7,0xF4,0x00,0x00,}},
+ {0x9EE6,2,{0xFC,0x67,0x00,0x00,}},
+ {0x9EE7,2,{0xF7,0xF3,0x00,0x00,}},
+ {0x9EE8,2,{0xFC,0x68,0x00,0x00,}},
+ {0x9EE9,2,{0xF7,0xF2,0x00,0x00,}},
+ {0x9EEA,2,{0xF7,0xF5,0x00,0x00,}},
+ {0x9EEB,2,{0xFC,0x69,0x00,0x00,}},
+ {0x9EEC,2,{0xFC,0x6A,0x00,0x00,}},
+ {0x9EED,2,{0xFC,0x6B,0x00,0x00,}},
+ {0x9EEE,2,{0xFC,0x6C,0x00,0x00,}},
+ {0x9EEF,2,{0xF7,0xF6,0x00,0x00,}},
+ {0x9EF0,2,{0xFC,0x6D,0x00,0x00,}},
+ {0x9EF1,2,{0xFC,0x6E,0x00,0x00,}},
+ {0x9EF2,2,{0xFC,0x6F,0x00,0x00,}},
+ {0x9EF3,2,{0xFC,0x70,0x00,0x00,}},
+ {0x9EF4,2,{0xFC,0x71,0x00,0x00,}},
+ {0x9EF5,2,{0xFC,0x72,0x00,0x00,}},
+ {0x9EF6,2,{0xFC,0x73,0x00,0x00,}},
+ {0x9EF7,2,{0xFC,0x74,0x00,0x00,}},
+ {0x9EF8,2,{0xFC,0x75,0x00,0x00,}},
+ {0x9EF9,2,{0xED,0xE9,0x00,0x00,}},
+ {0x9EFA,2,{0xFC,0x76,0x00,0x00,}},
+ {0x9EFB,2,{0xED,0xEA,0x00,0x00,}},
+ {0x9EFC,2,{0xED,0xEB,0x00,0x00,}},
+ {0x9EFD,2,{0xFC,0x77,0x00,0x00,}},
+ {0x9EFE,2,{0xF6,0xBC,0x00,0x00,}},
+ {0x9EFF,2,{0xFC,0x78,0x00,0x00,}},
+ {0x9F00,2,{0xFC,0x79,0x00,0x00,}},
+ {0x9F01,2,{0xFC,0x7A,0x00,0x00,}},
+ {0x9F02,2,{0xFC,0x7B,0x00,0x00,}},
+ {0x9F03,2,{0xFC,0x7C,0x00,0x00,}},
+ {0x9F04,2,{0xFC,0x7D,0x00,0x00,}},
+ {0x9F05,2,{0xFC,0x7E,0x00,0x00,}},
+ {0x9F06,2,{0xFC,0x80,0x00,0x00,}},
+ {0x9F07,2,{0xFC,0x81,0x00,0x00,}},
+ {0x9F08,2,{0xFC,0x82,0x00,0x00,}},
+ {0x9F09,2,{0xFC,0x83,0x00,0x00,}},
+ {0x9F0A,2,{0xFC,0x84,0x00,0x00,}},
+ {0x9F0B,2,{0xF6,0xBD,0x00,0x00,}},
+ {0x9F0C,2,{0xFC,0x85,0x00,0x00,}},
+ {0x9F0D,2,{0xF6,0xBE,0x00,0x00,}},
+ {0x9F0E,2,{0xB6,0xA6,0x00,0x00,}},
+ {0x9F0F,2,{0xFC,0x86,0x00,0x00,}},
+ {0x9F10,2,{0xD8,0xBE,0x00,0x00,}},
+ {0x9F11,2,{0xFC,0x87,0x00,0x00,}},
+ {0x9F12,2,{0xFC,0x88,0x00,0x00,}},
+ {0x9F13,2,{0xB9,0xC4,0x00,0x00,}},
+ {0x9F14,2,{0xFC,0x89,0x00,0x00,}},
+ {0x9F15,2,{0xFC,0x8A,0x00,0x00,}},
+ {0x9F16,2,{0xFC,0x8B,0x00,0x00,}},
+ {0x9F17,2,{0xD8,0xBB,0x00,0x00,}},
+ {0x9F18,2,{0xFC,0x8C,0x00,0x00,}},
+ {0x9F19,2,{0xDC,0xB1,0x00,0x00,}},
+ {0x9F1A,2,{0xFC,0x8D,0x00,0x00,}},
+ {0x9F1B,2,{0xFC,0x8E,0x00,0x00,}},
+ {0x9F1C,2,{0xFC,0x8F,0x00,0x00,}},
+ {0x9F1D,2,{0xFC,0x90,0x00,0x00,}},
+ {0x9F1E,2,{0xFC,0x91,0x00,0x00,}},
+ {0x9F1F,2,{0xFC,0x92,0x00,0x00,}},
+ {0x9F20,2,{0xCA,0xF3,0x00,0x00,}},
+ {0x9F21,2,{0xFC,0x93,0x00,0x00,}},
+ {0x9F22,2,{0xF7,0xF7,0x00,0x00,}},
+ {0x9F23,2,{0xFC,0x94,0x00,0x00,}},
+ {0x9F24,2,{0xFC,0x95,0x00,0x00,}},
+ {0x9F25,2,{0xFC,0x96,0x00,0x00,}},
+ {0x9F26,2,{0xFC,0x97,0x00,0x00,}},
+ {0x9F27,2,{0xFC,0x98,0x00,0x00,}},
+ {0x9F28,2,{0xFC,0x99,0x00,0x00,}},
+ {0x9F29,2,{0xFC,0x9A,0x00,0x00,}},
+ {0x9F2A,2,{0xFC,0x9B,0x00,0x00,}},
+ {0x9F2B,2,{0xFC,0x9C,0x00,0x00,}},
+ {0x9F2C,2,{0xF7,0xF8,0x00,0x00,}},
+ {0x9F2D,2,{0xFC,0x9D,0x00,0x00,}},
+ {0x9F2E,2,{0xFC,0x9E,0x00,0x00,}},
+ {0x9F2F,2,{0xF7,0xF9,0x00,0x00,}},
+ {0x9F30,2,{0xFC,0x9F,0x00,0x00,}},
+ {0x9F31,2,{0xFC,0xA0,0x00,0x00,}},
+ {0x9F32,2,{0xFD,0x40,0x00,0x00,}},
+ {0x9F33,2,{0xFD,0x41,0x00,0x00,}},
+ {0x9F34,2,{0xFD,0x42,0x00,0x00,}},
+ {0x9F35,2,{0xFD,0x43,0x00,0x00,}},
+ {0x9F36,2,{0xFD,0x44,0x00,0x00,}},
+ {0x9F37,2,{0xF7,0xFB,0x00,0x00,}},
+ {0x9F38,2,{0xFD,0x45,0x00,0x00,}},
+ {0x9F39,2,{0xF7,0xFA,0x00,0x00,}},
+ {0x9F3A,2,{0xFD,0x46,0x00,0x00,}},
+ {0x9F3B,2,{0xB1,0xC7,0x00,0x00,}},
+ {0x9F3C,2,{0xFD,0x47,0x00,0x00,}},
+ {0x9F3D,2,{0xF7,0xFC,0x00,0x00,}},
+ {0x9F3E,2,{0xF7,0xFD,0x00,0x00,}},
+ {0x9F3F,2,{0xFD,0x48,0x00,0x00,}},
+ {0x9F40,2,{0xFD,0x49,0x00,0x00,}},
+ {0x9F41,2,{0xFD,0x4A,0x00,0x00,}},
+ {0x9F42,2,{0xFD,0x4B,0x00,0x00,}},
+ {0x9F43,2,{0xFD,0x4C,0x00,0x00,}},
+ {0x9F44,2,{0xF7,0xFE,0x00,0x00,}},
+ {0x9F45,2,{0xFD,0x4D,0x00,0x00,}},
+ {0x9F46,2,{0xFD,0x4E,0x00,0x00,}},
+ {0x9F47,2,{0xFD,0x4F,0x00,0x00,}},
+ {0x9F48,2,{0xFD,0x50,0x00,0x00,}},
+ {0x9F49,2,{0xFD,0x51,0x00,0x00,}},
+ {0x9F4A,2,{0xFD,0x52,0x00,0x00,}},
+ {0x9F4B,2,{0xFD,0x53,0x00,0x00,}},
+ {0x9F4C,2,{0xFD,0x54,0x00,0x00,}},
+ {0x9F4D,2,{0xFD,0x55,0x00,0x00,}},
+ {0x9F4E,2,{0xFD,0x56,0x00,0x00,}},
+ {0x9F4F,2,{0xFD,0x57,0x00,0x00,}},
+ {0x9F50,2,{0xC6,0xEB,0x00,0x00,}},
+ {0x9F51,2,{0xEC,0xB4,0x00,0x00,}},
+ {0x9F52,2,{0xFD,0x58,0x00,0x00,}},
+ {0x9F53,2,{0xFD,0x59,0x00,0x00,}},
+ {0x9F54,2,{0xFD,0x5A,0x00,0x00,}},
+ {0x9F55,2,{0xFD,0x5B,0x00,0x00,}},
+ {0x9F56,2,{0xFD,0x5C,0x00,0x00,}},
+ {0x9F57,2,{0xFD,0x5D,0x00,0x00,}},
+ {0x9F58,2,{0xFD,0x5E,0x00,0x00,}},
+ {0x9F59,2,{0xFD,0x5F,0x00,0x00,}},
+ {0x9F5A,2,{0xFD,0x60,0x00,0x00,}},
+ {0x9F5B,2,{0xFD,0x61,0x00,0x00,}},
+ {0x9F5C,2,{0xFD,0x62,0x00,0x00,}},
+ {0x9F5D,2,{0xFD,0x63,0x00,0x00,}},
+ {0x9F5E,2,{0xFD,0x64,0x00,0x00,}},
+ {0x9F5F,2,{0xFD,0x65,0x00,0x00,}},
+ {0x9F60,2,{0xFD,0x66,0x00,0x00,}},
+ {0x9F61,2,{0xFD,0x67,0x00,0x00,}},
+ {0x9F62,2,{0xFD,0x68,0x00,0x00,}},
+ {0x9F63,2,{0xFD,0x69,0x00,0x00,}},
+ {0x9F64,2,{0xFD,0x6A,0x00,0x00,}},
+ {0x9F65,2,{0xFD,0x6B,0x00,0x00,}},
+ {0x9F66,2,{0xFD,0x6C,0x00,0x00,}},
+ {0x9F67,2,{0xFD,0x6D,0x00,0x00,}},
+ {0x9F68,2,{0xFD,0x6E,0x00,0x00,}},
+ {0x9F69,2,{0xFD,0x6F,0x00,0x00,}},
+ {0x9F6A,2,{0xFD,0x70,0x00,0x00,}},
+ {0x9F6B,2,{0xFD,0x71,0x00,0x00,}},
+ {0x9F6C,2,{0xFD,0x72,0x00,0x00,}},
+ {0x9F6D,2,{0xFD,0x73,0x00,0x00,}},
+ {0x9F6E,2,{0xFD,0x74,0x00,0x00,}},
+ {0x9F6F,2,{0xFD,0x75,0x00,0x00,}},
+ {0x9F70,2,{0xFD,0x76,0x00,0x00,}},
+ {0x9F71,2,{0xFD,0x77,0x00,0x00,}},
+ {0x9F72,2,{0xFD,0x78,0x00,0x00,}},
+ {0x9F73,2,{0xFD,0x79,0x00,0x00,}},
+ {0x9F74,2,{0xFD,0x7A,0x00,0x00,}},
+ {0x9F75,2,{0xFD,0x7B,0x00,0x00,}},
+ {0x9F76,2,{0xFD,0x7C,0x00,0x00,}},
+ {0x9F77,2,{0xFD,0x7D,0x00,0x00,}},
+ {0x9F78,2,{0xFD,0x7E,0x00,0x00,}},
+ {0x9F79,2,{0xFD,0x80,0x00,0x00,}},
+ {0x9F7A,2,{0xFD,0x81,0x00,0x00,}},
+ {0x9F7B,2,{0xFD,0x82,0x00,0x00,}},
+ {0x9F7C,2,{0xFD,0x83,0x00,0x00,}},
+ {0x9F7D,2,{0xFD,0x84,0x00,0x00,}},
+ {0x9F7E,2,{0xFD,0x85,0x00,0x00,}},
+ {0x9F7F,2,{0xB3,0xDD,0x00,0x00,}},
+ {0x9F80,2,{0xF6,0xB3,0x00,0x00,}},
+ {0x9F81,2,{0xFD,0x86,0x00,0x00,}},
+ {0x9F82,2,{0xFD,0x87,0x00,0x00,}},
+ {0x9F83,2,{0xF6,0xB4,0x00,0x00,}},
+ {0x9F84,2,{0xC1,0xE4,0x00,0x00,}},
+ {0x9F85,2,{0xF6,0xB5,0x00,0x00,}},
+ {0x9F86,2,{0xF6,0xB6,0x00,0x00,}},
+ {0x9F87,2,{0xF6,0xB7,0x00,0x00,}},
+ {0x9F88,2,{0xF6,0xB8,0x00,0x00,}},
+ {0x9F89,2,{0xF6,0xB9,0x00,0x00,}},
+ {0x9F8A,2,{0xF6,0xBA,0x00,0x00,}},
+ {0x9F8B,2,{0xC8,0xA3,0x00,0x00,}},
+ {0x9F8C,2,{0xF6,0xBB,0x00,0x00,}},
+ {0x9F8D,2,{0xFD,0x88,0x00,0x00,}},
+ {0x9F8E,2,{0xFD,0x89,0x00,0x00,}},
+ {0x9F8F,2,{0xFD,0x8A,0x00,0x00,}},
+ {0x9F90,2,{0xFD,0x8B,0x00,0x00,}},
+ {0x9F91,2,{0xFD,0x8C,0x00,0x00,}},
+ {0x9F92,2,{0xFD,0x8D,0x00,0x00,}},
+ {0x9F93,2,{0xFD,0x8E,0x00,0x00,}},
+ {0x9F94,2,{0xFD,0x8F,0x00,0x00,}},
+ {0x9F95,2,{0xFD,0x90,0x00,0x00,}},
+ {0x9F96,2,{0xFD,0x91,0x00,0x00,}},
+ {0x9F97,2,{0xFD,0x92,0x00,0x00,}},
+ {0x9F98,2,{0xFD,0x93,0x00,0x00,}},
+ {0x9F99,2,{0xC1,0xFA,0x00,0x00,}},
+ {0x9F9A,2,{0xB9,0xA8,0x00,0x00,}},
+ {0x9F9B,2,{0xED,0xE8,0x00,0x00,}},
+ {0x9F9C,2,{0xFD,0x94,0x00,0x00,}},
+ {0x9F9D,2,{0xFD,0x95,0x00,0x00,}},
+ {0x9F9E,2,{0xFD,0x96,0x00,0x00,}},
+ {0x9F9F,2,{0xB9,0xEA,0x00,0x00,}},
+ {0x9FA0,2,{0xD9,0xDF,0x00,0x00,}},
+ {0x9FA1,2,{0xFD,0x97,0x00,0x00,}},
+ {0x9FA2,2,{0xFD,0x98,0x00,0x00,}},
+ {0x9FA3,2,{0xFD,0x99,0x00,0x00,}},
+ {0x9FA4,2,{0xFD,0x9A,0x00,0x00,}},
+ {0x9FA5,2,{0xFD,0x9B,0x00,0x00,}},
+ {0xE000,2,{0xAA,0xA1,0x00,0x00,}},
+ {0xE001,2,{0xAA,0xA2,0x00,0x00,}},
+ {0xE002,2,{0xAA,0xA3,0x00,0x00,}},
+ {0xE003,2,{0xAA,0xA4,0x00,0x00,}},
+ {0xE004,2,{0xAA,0xA5,0x00,0x00,}},
+ {0xE005,2,{0xAA,0xA6,0x00,0x00,}},
+ {0xE006,2,{0xAA,0xA7,0x00,0x00,}},
+ {0xE007,2,{0xAA,0xA8,0x00,0x00,}},
+ {0xE008,2,{0xAA,0xA9,0x00,0x00,}},
+ {0xE009,2,{0xAA,0xAA,0x00,0x00,}},
+ {0xE00A,2,{0xAA,0xAB,0x00,0x00,}},
+ {0xE00B,2,{0xAA,0xAC,0x00,0x00,}},
+ {0xE00C,2,{0xAA,0xAD,0x00,0x00,}},
+ {0xE00D,2,{0xAA,0xAE,0x00,0x00,}},
+ {0xE00E,2,{0xAA,0xAF,0x00,0x00,}},
+ {0xE00F,2,{0xAA,0xB0,0x00,0x00,}},
+ {0xE010,2,{0xAA,0xB1,0x00,0x00,}},
+ {0xE011,2,{0xAA,0xB2,0x00,0x00,}},
+ {0xE012,2,{0xAA,0xB3,0x00,0x00,}},
+ {0xE013,2,{0xAA,0xB4,0x00,0x00,}},
+ {0xE014,2,{0xAA,0xB5,0x00,0x00,}},
+ {0xE015,2,{0xAA,0xB6,0x00,0x00,}},
+ {0xE016,2,{0xAA,0xB7,0x00,0x00,}},
+ {0xE017,2,{0xAA,0xB8,0x00,0x00,}},
+ {0xE018,2,{0xAA,0xB9,0x00,0x00,}},
+ {0xE019,2,{0xAA,0xBA,0x00,0x00,}},
+ {0xE01A,2,{0xAA,0xBB,0x00,0x00,}},
+ {0xE01B,2,{0xAA,0xBC,0x00,0x00,}},
+ {0xE01C,2,{0xAA,0xBD,0x00,0x00,}},
+ {0xE01D,2,{0xAA,0xBE,0x00,0x00,}},
+ {0xE01E,2,{0xAA,0xBF,0x00,0x00,}},
+ {0xE01F,2,{0xAA,0xC0,0x00,0x00,}},
+ {0xE020,2,{0xAA,0xC1,0x00,0x00,}},
+ {0xE021,2,{0xAA,0xC2,0x00,0x00,}},
+ {0xE022,2,{0xAA,0xC3,0x00,0x00,}},
+ {0xE023,2,{0xAA,0xC4,0x00,0x00,}},
+ {0xE024,2,{0xAA,0xC5,0x00,0x00,}},
+ {0xE025,2,{0xAA,0xC6,0x00,0x00,}},
+ {0xE026,2,{0xAA,0xC7,0x00,0x00,}},
+ {0xE027,2,{0xAA,0xC8,0x00,0x00,}},
+ {0xE028,2,{0xAA,0xC9,0x00,0x00,}},
+ {0xE029,2,{0xAA,0xCA,0x00,0x00,}},
+ {0xE02A,2,{0xAA,0xCB,0x00,0x00,}},
+ {0xE02B,2,{0xAA,0xCC,0x00,0x00,}},
+ {0xE02C,2,{0xAA,0xCD,0x00,0x00,}},
+ {0xE02D,2,{0xAA,0xCE,0x00,0x00,}},
+ {0xE02E,2,{0xAA,0xCF,0x00,0x00,}},
+ {0xE02F,2,{0xAA,0xD0,0x00,0x00,}},
+ {0xE030,2,{0xAA,0xD1,0x00,0x00,}},
+ {0xE031,2,{0xAA,0xD2,0x00,0x00,}},
+ {0xE032,2,{0xAA,0xD3,0x00,0x00,}},
+ {0xE033,2,{0xAA,0xD4,0x00,0x00,}},
+ {0xE034,2,{0xAA,0xD5,0x00,0x00,}},
+ {0xE035,2,{0xAA,0xD6,0x00,0x00,}},
+ {0xE036,2,{0xAA,0xD7,0x00,0x00,}},
+ {0xE037,2,{0xAA,0xD8,0x00,0x00,}},
+ {0xE038,2,{0xAA,0xD9,0x00,0x00,}},
+ {0xE039,2,{0xAA,0xDA,0x00,0x00,}},
+ {0xE03A,2,{0xAA,0xDB,0x00,0x00,}},
+ {0xE03B,2,{0xAA,0xDC,0x00,0x00,}},
+ {0xE03C,2,{0xAA,0xDD,0x00,0x00,}},
+ {0xE03D,2,{0xAA,0xDE,0x00,0x00,}},
+ {0xE03E,2,{0xAA,0xDF,0x00,0x00,}},
+ {0xE03F,2,{0xAA,0xE0,0x00,0x00,}},
+ {0xE040,2,{0xAA,0xE1,0x00,0x00,}},
+ {0xE041,2,{0xAA,0xE2,0x00,0x00,}},
+ {0xE042,2,{0xAA,0xE3,0x00,0x00,}},
+ {0xE043,2,{0xAA,0xE4,0x00,0x00,}},
+ {0xE044,2,{0xAA,0xE5,0x00,0x00,}},
+ {0xE045,2,{0xAA,0xE6,0x00,0x00,}},
+ {0xE046,2,{0xAA,0xE7,0x00,0x00,}},
+ {0xE047,2,{0xAA,0xE8,0x00,0x00,}},
+ {0xE048,2,{0xAA,0xE9,0x00,0x00,}},
+ {0xE049,2,{0xAA,0xEA,0x00,0x00,}},
+ {0xE04A,2,{0xAA,0xEB,0x00,0x00,}},
+ {0xE04B,2,{0xAA,0xEC,0x00,0x00,}},
+ {0xE04C,2,{0xAA,0xED,0x00,0x00,}},
+ {0xE04D,2,{0xAA,0xEE,0x00,0x00,}},
+ {0xE04E,2,{0xAA,0xEF,0x00,0x00,}},
+ {0xE04F,2,{0xAA,0xF0,0x00,0x00,}},
+ {0xE050,2,{0xAA,0xF1,0x00,0x00,}},
+ {0xE051,2,{0xAA,0xF2,0x00,0x00,}},
+ {0xE052,2,{0xAA,0xF3,0x00,0x00,}},
+ {0xE053,2,{0xAA,0xF4,0x00,0x00,}},
+ {0xE054,2,{0xAA,0xF5,0x00,0x00,}},
+ {0xE055,2,{0xAA,0xF6,0x00,0x00,}},
+ {0xE056,2,{0xAA,0xF7,0x00,0x00,}},
+ {0xE057,2,{0xAA,0xF8,0x00,0x00,}},
+ {0xE058,2,{0xAA,0xF9,0x00,0x00,}},
+ {0xE059,2,{0xAA,0xFA,0x00,0x00,}},
+ {0xE05A,2,{0xAA,0xFB,0x00,0x00,}},
+ {0xE05B,2,{0xAA,0xFC,0x00,0x00,}},
+ {0xE05C,2,{0xAA,0xFD,0x00,0x00,}},
+ {0xE05D,2,{0xAA,0xFE,0x00,0x00,}},
+ {0xE05E,2,{0xAB,0xA1,0x00,0x00,}},
+ {0xE05F,2,{0xAB,0xA2,0x00,0x00,}},
+ {0xE060,2,{0xAB,0xA3,0x00,0x00,}},
+ {0xE061,2,{0xAB,0xA4,0x00,0x00,}},
+ {0xE062,2,{0xAB,0xA5,0x00,0x00,}},
+ {0xE063,2,{0xAB,0xA6,0x00,0x00,}},
+ {0xE064,2,{0xAB,0xA7,0x00,0x00,}},
+ {0xE065,2,{0xAB,0xA8,0x00,0x00,}},
+ {0xE066,2,{0xAB,0xA9,0x00,0x00,}},
+ {0xE067,2,{0xAB,0xAA,0x00,0x00,}},
+ {0xE068,2,{0xAB,0xAB,0x00,0x00,}},
+ {0xE069,2,{0xAB,0xAC,0x00,0x00,}},
+ {0xE06A,2,{0xAB,0xAD,0x00,0x00,}},
+ {0xE06B,2,{0xAB,0xAE,0x00,0x00,}},
+ {0xE06C,2,{0xAB,0xAF,0x00,0x00,}},
+ {0xE06D,2,{0xAB,0xB0,0x00,0x00,}},
+ {0xE06E,2,{0xAB,0xB1,0x00,0x00,}},
+ {0xE06F,2,{0xAB,0xB2,0x00,0x00,}},
+ {0xE070,2,{0xAB,0xB3,0x00,0x00,}},
+ {0xE071,2,{0xAB,0xB4,0x00,0x00,}},
+ {0xE072,2,{0xAB,0xB5,0x00,0x00,}},
+ {0xE073,2,{0xAB,0xB6,0x00,0x00,}},
+ {0xE074,2,{0xAB,0xB7,0x00,0x00,}},
+ {0xE075,2,{0xAB,0xB8,0x00,0x00,}},
+ {0xE076,2,{0xAB,0xB9,0x00,0x00,}},
+ {0xE077,2,{0xAB,0xBA,0x00,0x00,}},
+ {0xE078,2,{0xAB,0xBB,0x00,0x00,}},
+ {0xE079,2,{0xAB,0xBC,0x00,0x00,}},
+ {0xE07A,2,{0xAB,0xBD,0x00,0x00,}},
+ {0xE07B,2,{0xAB,0xBE,0x00,0x00,}},
+ {0xE07C,2,{0xAB,0xBF,0x00,0x00,}},
+ {0xE07D,2,{0xAB,0xC0,0x00,0x00,}},
+ {0xE07E,2,{0xAB,0xC1,0x00,0x00,}},
+ {0xE07F,2,{0xAB,0xC2,0x00,0x00,}},
+ {0xE080,2,{0xAB,0xC3,0x00,0x00,}},
+ {0xE081,2,{0xAB,0xC4,0x00,0x00,}},
+ {0xE082,2,{0xAB,0xC5,0x00,0x00,}},
+ {0xE083,2,{0xAB,0xC6,0x00,0x00,}},
+ {0xE084,2,{0xAB,0xC7,0x00,0x00,}},
+ {0xE085,2,{0xAB,0xC8,0x00,0x00,}},
+ {0xE086,2,{0xAB,0xC9,0x00,0x00,}},
+ {0xE087,2,{0xAB,0xCA,0x00,0x00,}},
+ {0xE088,2,{0xAB,0xCB,0x00,0x00,}},
+ {0xE089,2,{0xAB,0xCC,0x00,0x00,}},
+ {0xE08A,2,{0xAB,0xCD,0x00,0x00,}},
+ {0xE08B,2,{0xAB,0xCE,0x00,0x00,}},
+ {0xE08C,2,{0xAB,0xCF,0x00,0x00,}},
+ {0xE08D,2,{0xAB,0xD0,0x00,0x00,}},
+ {0xE08E,2,{0xAB,0xD1,0x00,0x00,}},
+ {0xE08F,2,{0xAB,0xD2,0x00,0x00,}},
+ {0xE090,2,{0xAB,0xD3,0x00,0x00,}},
+ {0xE091,2,{0xAB,0xD4,0x00,0x00,}},
+ {0xE092,2,{0xAB,0xD5,0x00,0x00,}},
+ {0xE093,2,{0xAB,0xD6,0x00,0x00,}},
+ {0xE094,2,{0xAB,0xD7,0x00,0x00,}},
+ {0xE095,2,{0xAB,0xD8,0x00,0x00,}},
+ {0xE096,2,{0xAB,0xD9,0x00,0x00,}},
+ {0xE097,2,{0xAB,0xDA,0x00,0x00,}},
+ {0xE098,2,{0xAB,0xDB,0x00,0x00,}},
+ {0xE099,2,{0xAB,0xDC,0x00,0x00,}},
+ {0xE09A,2,{0xAB,0xDD,0x00,0x00,}},
+ {0xE09B,2,{0xAB,0xDE,0x00,0x00,}},
+ {0xE09C,2,{0xAB,0xDF,0x00,0x00,}},
+ {0xE09D,2,{0xAB,0xE0,0x00,0x00,}},
+ {0xE09E,2,{0xAB,0xE1,0x00,0x00,}},
+ {0xE09F,2,{0xAB,0xE2,0x00,0x00,}},
+ {0xE0A0,2,{0xAB,0xE3,0x00,0x00,}},
+ {0xE0A1,2,{0xAB,0xE4,0x00,0x00,}},
+ {0xE0A2,2,{0xAB,0xE5,0x00,0x00,}},
+ {0xE0A3,2,{0xAB,0xE6,0x00,0x00,}},
+ {0xE0A4,2,{0xAB,0xE7,0x00,0x00,}},
+ {0xE0A5,2,{0xAB,0xE8,0x00,0x00,}},
+ {0xE0A6,2,{0xAB,0xE9,0x00,0x00,}},
+ {0xE0A7,2,{0xAB,0xEA,0x00,0x00,}},
+ {0xE0A8,2,{0xAB,0xEB,0x00,0x00,}},
+ {0xE0A9,2,{0xAB,0xEC,0x00,0x00,}},
+ {0xE0AA,2,{0xAB,0xED,0x00,0x00,}},
+ {0xE0AB,2,{0xAB,0xEE,0x00,0x00,}},
+ {0xE0AC,2,{0xAB,0xEF,0x00,0x00,}},
+ {0xE0AD,2,{0xAB,0xF0,0x00,0x00,}},
+ {0xE0AE,2,{0xAB,0xF1,0x00,0x00,}},
+ {0xE0AF,2,{0xAB,0xF2,0x00,0x00,}},
+ {0xE0B0,2,{0xAB,0xF3,0x00,0x00,}},
+ {0xE0B1,2,{0xAB,0xF4,0x00,0x00,}},
+ {0xE0B2,2,{0xAB,0xF5,0x00,0x00,}},
+ {0xE0B3,2,{0xAB,0xF6,0x00,0x00,}},
+ {0xE0B4,2,{0xAB,0xF7,0x00,0x00,}},
+ {0xE0B5,2,{0xAB,0xF8,0x00,0x00,}},
+ {0xE0B6,2,{0xAB,0xF9,0x00,0x00,}},
+ {0xE0B7,2,{0xAB,0xFA,0x00,0x00,}},
+ {0xE0B8,2,{0xAB,0xFB,0x00,0x00,}},
+ {0xE0B9,2,{0xAB,0xFC,0x00,0x00,}},
+ {0xE0BA,2,{0xAB,0xFD,0x00,0x00,}},
+ {0xE0BB,2,{0xAB,0xFE,0x00,0x00,}},
+ {0xE0BC,2,{0xAC,0xA1,0x00,0x00,}},
+ {0xE0BD,2,{0xAC,0xA2,0x00,0x00,}},
+ {0xE0BE,2,{0xAC,0xA3,0x00,0x00,}},
+ {0xE0BF,2,{0xAC,0xA4,0x00,0x00,}},
+ {0xE0C0,2,{0xAC,0xA5,0x00,0x00,}},
+ {0xE0C1,2,{0xAC,0xA6,0x00,0x00,}},
+ {0xE0C2,2,{0xAC,0xA7,0x00,0x00,}},
+ {0xE0C3,2,{0xAC,0xA8,0x00,0x00,}},
+ {0xE0C4,2,{0xAC,0xA9,0x00,0x00,}},
+ {0xE0C5,2,{0xAC,0xAA,0x00,0x00,}},
+ {0xE0C6,2,{0xAC,0xAB,0x00,0x00,}},
+ {0xE0C7,2,{0xAC,0xAC,0x00,0x00,}},
+ {0xE0C8,2,{0xAC,0xAD,0x00,0x00,}},
+ {0xE0C9,2,{0xAC,0xAE,0x00,0x00,}},
+ {0xE0CA,2,{0xAC,0xAF,0x00,0x00,}},
+ {0xE0CB,2,{0xAC,0xB0,0x00,0x00,}},
+ {0xE0CC,2,{0xAC,0xB1,0x00,0x00,}},
+ {0xE0CD,2,{0xAC,0xB2,0x00,0x00,}},
+ {0xE0CE,2,{0xAC,0xB3,0x00,0x00,}},
+ {0xE0CF,2,{0xAC,0xB4,0x00,0x00,}},
+ {0xE0D0,2,{0xAC,0xB5,0x00,0x00,}},
+ {0xE0D1,2,{0xAC,0xB6,0x00,0x00,}},
+ {0xE0D2,2,{0xAC,0xB7,0x00,0x00,}},
+ {0xE0D3,2,{0xAC,0xB8,0x00,0x00,}},
+ {0xE0D4,2,{0xAC,0xB9,0x00,0x00,}},
+ {0xE0D5,2,{0xAC,0xBA,0x00,0x00,}},
+ {0xE0D6,2,{0xAC,0xBB,0x00,0x00,}},
+ {0xE0D7,2,{0xAC,0xBC,0x00,0x00,}},
+ {0xE0D8,2,{0xAC,0xBD,0x00,0x00,}},
+ {0xE0D9,2,{0xAC,0xBE,0x00,0x00,}},
+ {0xE0DA,2,{0xAC,0xBF,0x00,0x00,}},
+ {0xE0DB,2,{0xAC,0xC0,0x00,0x00,}},
+ {0xE0DC,2,{0xAC,0xC1,0x00,0x00,}},
+ {0xE0DD,2,{0xAC,0xC2,0x00,0x00,}},
+ {0xE0DE,2,{0xAC,0xC3,0x00,0x00,}},
+ {0xE0DF,2,{0xAC,0xC4,0x00,0x00,}},
+ {0xE0E0,2,{0xAC,0xC5,0x00,0x00,}},
+ {0xE0E1,2,{0xAC,0xC6,0x00,0x00,}},
+ {0xE0E2,2,{0xAC,0xC7,0x00,0x00,}},
+ {0xE0E3,2,{0xAC,0xC8,0x00,0x00,}},
+ {0xE0E4,2,{0xAC,0xC9,0x00,0x00,}},
+ {0xE0E5,2,{0xAC,0xCA,0x00,0x00,}},
+ {0xE0E6,2,{0xAC,0xCB,0x00,0x00,}},
+ {0xE0E7,2,{0xAC,0xCC,0x00,0x00,}},
+ {0xE0E8,2,{0xAC,0xCD,0x00,0x00,}},
+ {0xE0E9,2,{0xAC,0xCE,0x00,0x00,}},
+ {0xE0EA,2,{0xAC,0xCF,0x00,0x00,}},
+ {0xE0EB,2,{0xAC,0xD0,0x00,0x00,}},
+ {0xE0EC,2,{0xAC,0xD1,0x00,0x00,}},
+ {0xE0ED,2,{0xAC,0xD2,0x00,0x00,}},
+ {0xE0EE,2,{0xAC,0xD3,0x00,0x00,}},
+ {0xE0EF,2,{0xAC,0xD4,0x00,0x00,}},
+ {0xE0F0,2,{0xAC,0xD5,0x00,0x00,}},
+ {0xE0F1,2,{0xAC,0xD6,0x00,0x00,}},
+ {0xE0F2,2,{0xAC,0xD7,0x00,0x00,}},
+ {0xE0F3,2,{0xAC,0xD8,0x00,0x00,}},
+ {0xE0F4,2,{0xAC,0xD9,0x00,0x00,}},
+ {0xE0F5,2,{0xAC,0xDA,0x00,0x00,}},
+ {0xE0F6,2,{0xAC,0xDB,0x00,0x00,}},
+ {0xE0F7,2,{0xAC,0xDC,0x00,0x00,}},
+ {0xE0F8,2,{0xAC,0xDD,0x00,0x00,}},
+ {0xE0F9,2,{0xAC,0xDE,0x00,0x00,}},
+ {0xE0FA,2,{0xAC,0xDF,0x00,0x00,}},
+ {0xE0FB,2,{0xAC,0xE0,0x00,0x00,}},
+ {0xE0FC,2,{0xAC,0xE1,0x00,0x00,}},
+ {0xE0FD,2,{0xAC,0xE2,0x00,0x00,}},
+ {0xE0FE,2,{0xAC,0xE3,0x00,0x00,}},
+ {0xE0FF,2,{0xAC,0xE4,0x00,0x00,}},
+ {0xE100,2,{0xAC,0xE5,0x00,0x00,}},
+ {0xE101,2,{0xAC,0xE6,0x00,0x00,}},
+ {0xE102,2,{0xAC,0xE7,0x00,0x00,}},
+ {0xE103,2,{0xAC,0xE8,0x00,0x00,}},
+ {0xE104,2,{0xAC,0xE9,0x00,0x00,}},
+ {0xE105,2,{0xAC,0xEA,0x00,0x00,}},
+ {0xE106,2,{0xAC,0xEB,0x00,0x00,}},
+ {0xE107,2,{0xAC,0xEC,0x00,0x00,}},
+ {0xE108,2,{0xAC,0xED,0x00,0x00,}},
+ {0xE109,2,{0xAC,0xEE,0x00,0x00,}},
+ {0xE10A,2,{0xAC,0xEF,0x00,0x00,}},
+ {0xE10B,2,{0xAC,0xF0,0x00,0x00,}},
+ {0xE10C,2,{0xAC,0xF1,0x00,0x00,}},
+ {0xE10D,2,{0xAC,0xF2,0x00,0x00,}},
+ {0xE10E,2,{0xAC,0xF3,0x00,0x00,}},
+ {0xE10F,2,{0xAC,0xF4,0x00,0x00,}},
+ {0xE110,2,{0xAC,0xF5,0x00,0x00,}},
+ {0xE111,2,{0xAC,0xF6,0x00,0x00,}},
+ {0xE112,2,{0xAC,0xF7,0x00,0x00,}},
+ {0xE113,2,{0xAC,0xF8,0x00,0x00,}},
+ {0xE114,2,{0xAC,0xF9,0x00,0x00,}},
+ {0xE115,2,{0xAC,0xFA,0x00,0x00,}},
+ {0xE116,2,{0xAC,0xFB,0x00,0x00,}},
+ {0xE117,2,{0xAC,0xFC,0x00,0x00,}},
+ {0xE118,2,{0xAC,0xFD,0x00,0x00,}},
+ {0xE119,2,{0xAC,0xFE,0x00,0x00,}},
+ {0xE11A,2,{0xAD,0xA1,0x00,0x00,}},
+ {0xE11B,2,{0xAD,0xA2,0x00,0x00,}},
+ {0xE11C,2,{0xAD,0xA3,0x00,0x00,}},
+ {0xE11D,2,{0xAD,0xA4,0x00,0x00,}},
+ {0xE11E,2,{0xAD,0xA5,0x00,0x00,}},
+ {0xE11F,2,{0xAD,0xA6,0x00,0x00,}},
+ {0xE120,2,{0xAD,0xA7,0x00,0x00,}},
+ {0xE121,2,{0xAD,0xA8,0x00,0x00,}},
+ {0xE122,2,{0xAD,0xA9,0x00,0x00,}},
+ {0xE123,2,{0xAD,0xAA,0x00,0x00,}},
+ {0xE124,2,{0xAD,0xAB,0x00,0x00,}},
+ {0xE125,2,{0xAD,0xAC,0x00,0x00,}},
+ {0xE126,2,{0xAD,0xAD,0x00,0x00,}},
+ {0xE127,2,{0xAD,0xAE,0x00,0x00,}},
+ {0xE128,2,{0xAD,0xAF,0x00,0x00,}},
+ {0xE129,2,{0xAD,0xB0,0x00,0x00,}},
+ {0xE12A,2,{0xAD,0xB1,0x00,0x00,}},
+ {0xE12B,2,{0xAD,0xB2,0x00,0x00,}},
+ {0xE12C,2,{0xAD,0xB3,0x00,0x00,}},
+ {0xE12D,2,{0xAD,0xB4,0x00,0x00,}},
+ {0xE12E,2,{0xAD,0xB5,0x00,0x00,}},
+ {0xE12F,2,{0xAD,0xB6,0x00,0x00,}},
+ {0xE130,2,{0xAD,0xB7,0x00,0x00,}},
+ {0xE131,2,{0xAD,0xB8,0x00,0x00,}},
+ {0xE132,2,{0xAD,0xB9,0x00,0x00,}},
+ {0xE133,2,{0xAD,0xBA,0x00,0x00,}},
+ {0xE134,2,{0xAD,0xBB,0x00,0x00,}},
+ {0xE135,2,{0xAD,0xBC,0x00,0x00,}},
+ {0xE136,2,{0xAD,0xBD,0x00,0x00,}},
+ {0xE137,2,{0xAD,0xBE,0x00,0x00,}},
+ {0xE138,2,{0xAD,0xBF,0x00,0x00,}},
+ {0xE139,2,{0xAD,0xC0,0x00,0x00,}},
+ {0xE13A,2,{0xAD,0xC1,0x00,0x00,}},
+ {0xE13B,2,{0xAD,0xC2,0x00,0x00,}},
+ {0xE13C,2,{0xAD,0xC3,0x00,0x00,}},
+ {0xE13D,2,{0xAD,0xC4,0x00,0x00,}},
+ {0xE13E,2,{0xAD,0xC5,0x00,0x00,}},
+ {0xE13F,2,{0xAD,0xC6,0x00,0x00,}},
+ {0xE140,2,{0xAD,0xC7,0x00,0x00,}},
+ {0xE141,2,{0xAD,0xC8,0x00,0x00,}},
+ {0xE142,2,{0xAD,0xC9,0x00,0x00,}},
+ {0xE143,2,{0xAD,0xCA,0x00,0x00,}},
+ {0xE144,2,{0xAD,0xCB,0x00,0x00,}},
+ {0xE145,2,{0xAD,0xCC,0x00,0x00,}},
+ {0xE146,2,{0xAD,0xCD,0x00,0x00,}},
+ {0xE147,2,{0xAD,0xCE,0x00,0x00,}},
+ {0xE148,2,{0xAD,0xCF,0x00,0x00,}},
+ {0xE149,2,{0xAD,0xD0,0x00,0x00,}},
+ {0xE14A,2,{0xAD,0xD1,0x00,0x00,}},
+ {0xE14B,2,{0xAD,0xD2,0x00,0x00,}},
+ {0xE14C,2,{0xAD,0xD3,0x00,0x00,}},
+ {0xE14D,2,{0xAD,0xD4,0x00,0x00,}},
+ {0xE14E,2,{0xAD,0xD5,0x00,0x00,}},
+ {0xE14F,2,{0xAD,0xD6,0x00,0x00,}},
+ {0xE150,2,{0xAD,0xD7,0x00,0x00,}},
+ {0xE151,2,{0xAD,0xD8,0x00,0x00,}},
+ {0xE152,2,{0xAD,0xD9,0x00,0x00,}},
+ {0xE153,2,{0xAD,0xDA,0x00,0x00,}},
+ {0xE154,2,{0xAD,0xDB,0x00,0x00,}},
+ {0xE155,2,{0xAD,0xDC,0x00,0x00,}},
+ {0xE156,2,{0xAD,0xDD,0x00,0x00,}},
+ {0xE157,2,{0xAD,0xDE,0x00,0x00,}},
+ {0xE158,2,{0xAD,0xDF,0x00,0x00,}},
+ {0xE159,2,{0xAD,0xE0,0x00,0x00,}},
+ {0xE15A,2,{0xAD,0xE1,0x00,0x00,}},
+ {0xE15B,2,{0xAD,0xE2,0x00,0x00,}},
+ {0xE15C,2,{0xAD,0xE3,0x00,0x00,}},
+ {0xE15D,2,{0xAD,0xE4,0x00,0x00,}},
+ {0xE15E,2,{0xAD,0xE5,0x00,0x00,}},
+ {0xE15F,2,{0xAD,0xE6,0x00,0x00,}},
+ {0xE160,2,{0xAD,0xE7,0x00,0x00,}},
+ {0xE161,2,{0xAD,0xE8,0x00,0x00,}},
+ {0xE162,2,{0xAD,0xE9,0x00,0x00,}},
+ {0xE163,2,{0xAD,0xEA,0x00,0x00,}},
+ {0xE164,2,{0xAD,0xEB,0x00,0x00,}},
+ {0xE165,2,{0xAD,0xEC,0x00,0x00,}},
+ {0xE166,2,{0xAD,0xED,0x00,0x00,}},
+ {0xE167,2,{0xAD,0xEE,0x00,0x00,}},
+ {0xE168,2,{0xAD,0xEF,0x00,0x00,}},
+ {0xE169,2,{0xAD,0xF0,0x00,0x00,}},
+ {0xE16A,2,{0xAD,0xF1,0x00,0x00,}},
+ {0xE16B,2,{0xAD,0xF2,0x00,0x00,}},
+ {0xE16C,2,{0xAD,0xF3,0x00,0x00,}},
+ {0xE16D,2,{0xAD,0xF4,0x00,0x00,}},
+ {0xE16E,2,{0xAD,0xF5,0x00,0x00,}},
+ {0xE16F,2,{0xAD,0xF6,0x00,0x00,}},
+ {0xE170,2,{0xAD,0xF7,0x00,0x00,}},
+ {0xE171,2,{0xAD,0xF8,0x00,0x00,}},
+ {0xE172,2,{0xAD,0xF9,0x00,0x00,}},
+ {0xE173,2,{0xAD,0xFA,0x00,0x00,}},
+ {0xE174,2,{0xAD,0xFB,0x00,0x00,}},
+ {0xE175,2,{0xAD,0xFC,0x00,0x00,}},
+ {0xE176,2,{0xAD,0xFD,0x00,0x00,}},
+ {0xE177,2,{0xAD,0xFE,0x00,0x00,}},
+ {0xE178,2,{0xAE,0xA1,0x00,0x00,}},
+ {0xE179,2,{0xAE,0xA2,0x00,0x00,}},
+ {0xE17A,2,{0xAE,0xA3,0x00,0x00,}},
+ {0xE17B,2,{0xAE,0xA4,0x00,0x00,}},
+ {0xE17C,2,{0xAE,0xA5,0x00,0x00,}},
+ {0xE17D,2,{0xAE,0xA6,0x00,0x00,}},
+ {0xE17E,2,{0xAE,0xA7,0x00,0x00,}},
+ {0xE17F,2,{0xAE,0xA8,0x00,0x00,}},
+ {0xE180,2,{0xAE,0xA9,0x00,0x00,}},
+ {0xE181,2,{0xAE,0xAA,0x00,0x00,}},
+ {0xE182,2,{0xAE,0xAB,0x00,0x00,}},
+ {0xE183,2,{0xAE,0xAC,0x00,0x00,}},
+ {0xE184,2,{0xAE,0xAD,0x00,0x00,}},
+ {0xE185,2,{0xAE,0xAE,0x00,0x00,}},
+ {0xE186,2,{0xAE,0xAF,0x00,0x00,}},
+ {0xE187,2,{0xAE,0xB0,0x00,0x00,}},
+ {0xE188,2,{0xAE,0xB1,0x00,0x00,}},
+ {0xE189,2,{0xAE,0xB2,0x00,0x00,}},
+ {0xE18A,2,{0xAE,0xB3,0x00,0x00,}},
+ {0xE18B,2,{0xAE,0xB4,0x00,0x00,}},
+ {0xE18C,2,{0xAE,0xB5,0x00,0x00,}},
+ {0xE18D,2,{0xAE,0xB6,0x00,0x00,}},
+ {0xE18E,2,{0xAE,0xB7,0x00,0x00,}},
+ {0xE18F,2,{0xAE,0xB8,0x00,0x00,}},
+ {0xE190,2,{0xAE,0xB9,0x00,0x00,}},
+ {0xE191,2,{0xAE,0xBA,0x00,0x00,}},
+ {0xE192,2,{0xAE,0xBB,0x00,0x00,}},
+ {0xE193,2,{0xAE,0xBC,0x00,0x00,}},
+ {0xE194,2,{0xAE,0xBD,0x00,0x00,}},
+ {0xE195,2,{0xAE,0xBE,0x00,0x00,}},
+ {0xE196,2,{0xAE,0xBF,0x00,0x00,}},
+ {0xE197,2,{0xAE,0xC0,0x00,0x00,}},
+ {0xE198,2,{0xAE,0xC1,0x00,0x00,}},
+ {0xE199,2,{0xAE,0xC2,0x00,0x00,}},
+ {0xE19A,2,{0xAE,0xC3,0x00,0x00,}},
+ {0xE19B,2,{0xAE,0xC4,0x00,0x00,}},
+ {0xE19C,2,{0xAE,0xC5,0x00,0x00,}},
+ {0xE19D,2,{0xAE,0xC6,0x00,0x00,}},
+ {0xE19E,2,{0xAE,0xC7,0x00,0x00,}},
+ {0xE19F,2,{0xAE,0xC8,0x00,0x00,}},
+ {0xE1A0,2,{0xAE,0xC9,0x00,0x00,}},
+ {0xE1A1,2,{0xAE,0xCA,0x00,0x00,}},
+ {0xE1A2,2,{0xAE,0xCB,0x00,0x00,}},
+ {0xE1A3,2,{0xAE,0xCC,0x00,0x00,}},
+ {0xE1A4,2,{0xAE,0xCD,0x00,0x00,}},
+ {0xE1A5,2,{0xAE,0xCE,0x00,0x00,}},
+ {0xE1A6,2,{0xAE,0xCF,0x00,0x00,}},
+ {0xE1A7,2,{0xAE,0xD0,0x00,0x00,}},
+ {0xE1A8,2,{0xAE,0xD1,0x00,0x00,}},
+ {0xE1A9,2,{0xAE,0xD2,0x00,0x00,}},
+ {0xE1AA,2,{0xAE,0xD3,0x00,0x00,}},
+ {0xE1AB,2,{0xAE,0xD4,0x00,0x00,}},
+ {0xE1AC,2,{0xAE,0xD5,0x00,0x00,}},
+ {0xE1AD,2,{0xAE,0xD6,0x00,0x00,}},
+ {0xE1AE,2,{0xAE,0xD7,0x00,0x00,}},
+ {0xE1AF,2,{0xAE,0xD8,0x00,0x00,}},
+ {0xE1B0,2,{0xAE,0xD9,0x00,0x00,}},
+ {0xE1B1,2,{0xAE,0xDA,0x00,0x00,}},
+ {0xE1B2,2,{0xAE,0xDB,0x00,0x00,}},
+ {0xE1B3,2,{0xAE,0xDC,0x00,0x00,}},
+ {0xE1B4,2,{0xAE,0xDD,0x00,0x00,}},
+ {0xE1B5,2,{0xAE,0xDE,0x00,0x00,}},
+ {0xE1B6,2,{0xAE,0xDF,0x00,0x00,}},
+ {0xE1B7,2,{0xAE,0xE0,0x00,0x00,}},
+ {0xE1B8,2,{0xAE,0xE1,0x00,0x00,}},
+ {0xE1B9,2,{0xAE,0xE2,0x00,0x00,}},
+ {0xE1BA,2,{0xAE,0xE3,0x00,0x00,}},
+ {0xE1BB,2,{0xAE,0xE4,0x00,0x00,}},
+ {0xE1BC,2,{0xAE,0xE5,0x00,0x00,}},
+ {0xE1BD,2,{0xAE,0xE6,0x00,0x00,}},
+ {0xE1BE,2,{0xAE,0xE7,0x00,0x00,}},
+ {0xE1BF,2,{0xAE,0xE8,0x00,0x00,}},
+ {0xE1C0,2,{0xAE,0xE9,0x00,0x00,}},
+ {0xE1C1,2,{0xAE,0xEA,0x00,0x00,}},
+ {0xE1C2,2,{0xAE,0xEB,0x00,0x00,}},
+ {0xE1C3,2,{0xAE,0xEC,0x00,0x00,}},
+ {0xE1C4,2,{0xAE,0xED,0x00,0x00,}},
+ {0xE1C5,2,{0xAE,0xEE,0x00,0x00,}},
+ {0xE1C6,2,{0xAE,0xEF,0x00,0x00,}},
+ {0xE1C7,2,{0xAE,0xF0,0x00,0x00,}},
+ {0xE1C8,2,{0xAE,0xF1,0x00,0x00,}},
+ {0xE1C9,2,{0xAE,0xF2,0x00,0x00,}},
+ {0xE1CA,2,{0xAE,0xF3,0x00,0x00,}},
+ {0xE1CB,2,{0xAE,0xF4,0x00,0x00,}},
+ {0xE1CC,2,{0xAE,0xF5,0x00,0x00,}},
+ {0xE1CD,2,{0xAE,0xF6,0x00,0x00,}},
+ {0xE1CE,2,{0xAE,0xF7,0x00,0x00,}},
+ {0xE1CF,2,{0xAE,0xF8,0x00,0x00,}},
+ {0xE1D0,2,{0xAE,0xF9,0x00,0x00,}},
+ {0xE1D1,2,{0xAE,0xFA,0x00,0x00,}},
+ {0xE1D2,2,{0xAE,0xFB,0x00,0x00,}},
+ {0xE1D3,2,{0xAE,0xFC,0x00,0x00,}},
+ {0xE1D4,2,{0xAE,0xFD,0x00,0x00,}},
+ {0xE1D5,2,{0xAE,0xFE,0x00,0x00,}},
+ {0xE1D6,2,{0xAF,0xA1,0x00,0x00,}},
+ {0xE1D7,2,{0xAF,0xA2,0x00,0x00,}},
+ {0xE1D8,2,{0xAF,0xA3,0x00,0x00,}},
+ {0xE1D9,2,{0xAF,0xA4,0x00,0x00,}},
+ {0xE1DA,2,{0xAF,0xA5,0x00,0x00,}},
+ {0xE1DB,2,{0xAF,0xA6,0x00,0x00,}},
+ {0xE1DC,2,{0xAF,0xA7,0x00,0x00,}},
+ {0xE1DD,2,{0xAF,0xA8,0x00,0x00,}},
+ {0xE1DE,2,{0xAF,0xA9,0x00,0x00,}},
+ {0xE1DF,2,{0xAF,0xAA,0x00,0x00,}},
+ {0xE1E0,2,{0xAF,0xAB,0x00,0x00,}},
+ {0xE1E1,2,{0xAF,0xAC,0x00,0x00,}},
+ {0xE1E2,2,{0xAF,0xAD,0x00,0x00,}},
+ {0xE1E3,2,{0xAF,0xAE,0x00,0x00,}},
+ {0xE1E4,2,{0xAF,0xAF,0x00,0x00,}},
+ {0xE1E5,2,{0xAF,0xB0,0x00,0x00,}},
+ {0xE1E6,2,{0xAF,0xB1,0x00,0x00,}},
+ {0xE1E7,2,{0xAF,0xB2,0x00,0x00,}},
+ {0xE1E8,2,{0xAF,0xB3,0x00,0x00,}},
+ {0xE1E9,2,{0xAF,0xB4,0x00,0x00,}},
+ {0xE1EA,2,{0xAF,0xB5,0x00,0x00,}},
+ {0xE1EB,2,{0xAF,0xB6,0x00,0x00,}},
+ {0xE1EC,2,{0xAF,0xB7,0x00,0x00,}},
+ {0xE1ED,2,{0xAF,0xB8,0x00,0x00,}},
+ {0xE1EE,2,{0xAF,0xB9,0x00,0x00,}},
+ {0xE1EF,2,{0xAF,0xBA,0x00,0x00,}},
+ {0xE1F0,2,{0xAF,0xBB,0x00,0x00,}},
+ {0xE1F1,2,{0xAF,0xBC,0x00,0x00,}},
+ {0xE1F2,2,{0xAF,0xBD,0x00,0x00,}},
+ {0xE1F3,2,{0xAF,0xBE,0x00,0x00,}},
+ {0xE1F4,2,{0xAF,0xBF,0x00,0x00,}},
+ {0xE1F5,2,{0xAF,0xC0,0x00,0x00,}},
+ {0xE1F6,2,{0xAF,0xC1,0x00,0x00,}},
+ {0xE1F7,2,{0xAF,0xC2,0x00,0x00,}},
+ {0xE1F8,2,{0xAF,0xC3,0x00,0x00,}},
+ {0xE1F9,2,{0xAF,0xC4,0x00,0x00,}},
+ {0xE1FA,2,{0xAF,0xC5,0x00,0x00,}},
+ {0xE1FB,2,{0xAF,0xC6,0x00,0x00,}},
+ {0xE1FC,2,{0xAF,0xC7,0x00,0x00,}},
+ {0xE1FD,2,{0xAF,0xC8,0x00,0x00,}},
+ {0xE1FE,2,{0xAF,0xC9,0x00,0x00,}},
+ {0xE1FF,2,{0xAF,0xCA,0x00,0x00,}},
+ {0xE200,2,{0xAF,0xCB,0x00,0x00,}},
+ {0xE201,2,{0xAF,0xCC,0x00,0x00,}},
+ {0xE202,2,{0xAF,0xCD,0x00,0x00,}},
+ {0xE203,2,{0xAF,0xCE,0x00,0x00,}},
+ {0xE204,2,{0xAF,0xCF,0x00,0x00,}},
+ {0xE205,2,{0xAF,0xD0,0x00,0x00,}},
+ {0xE206,2,{0xAF,0xD1,0x00,0x00,}},
+ {0xE207,2,{0xAF,0xD2,0x00,0x00,}},
+ {0xE208,2,{0xAF,0xD3,0x00,0x00,}},
+ {0xE209,2,{0xAF,0xD4,0x00,0x00,}},
+ {0xE20A,2,{0xAF,0xD5,0x00,0x00,}},
+ {0xE20B,2,{0xAF,0xD6,0x00,0x00,}},
+ {0xE20C,2,{0xAF,0xD7,0x00,0x00,}},
+ {0xE20D,2,{0xAF,0xD8,0x00,0x00,}},
+ {0xE20E,2,{0xAF,0xD9,0x00,0x00,}},
+ {0xE20F,2,{0xAF,0xDA,0x00,0x00,}},
+ {0xE210,2,{0xAF,0xDB,0x00,0x00,}},
+ {0xE211,2,{0xAF,0xDC,0x00,0x00,}},
+ {0xE212,2,{0xAF,0xDD,0x00,0x00,}},
+ {0xE213,2,{0xAF,0xDE,0x00,0x00,}},
+ {0xE214,2,{0xAF,0xDF,0x00,0x00,}},
+ {0xE215,2,{0xAF,0xE0,0x00,0x00,}},
+ {0xE216,2,{0xAF,0xE1,0x00,0x00,}},
+ {0xE217,2,{0xAF,0xE2,0x00,0x00,}},
+ {0xE218,2,{0xAF,0xE3,0x00,0x00,}},
+ {0xE219,2,{0xAF,0xE4,0x00,0x00,}},
+ {0xE21A,2,{0xAF,0xE5,0x00,0x00,}},
+ {0xE21B,2,{0xAF,0xE6,0x00,0x00,}},
+ {0xE21C,2,{0xAF,0xE7,0x00,0x00,}},
+ {0xE21D,2,{0xAF,0xE8,0x00,0x00,}},
+ {0xE21E,2,{0xAF,0xE9,0x00,0x00,}},
+ {0xE21F,2,{0xAF,0xEA,0x00,0x00,}},
+ {0xE220,2,{0xAF,0xEB,0x00,0x00,}},
+ {0xE221,2,{0xAF,0xEC,0x00,0x00,}},
+ {0xE222,2,{0xAF,0xED,0x00,0x00,}},
+ {0xE223,2,{0xAF,0xEE,0x00,0x00,}},
+ {0xE224,2,{0xAF,0xEF,0x00,0x00,}},
+ {0xE225,2,{0xAF,0xF0,0x00,0x00,}},
+ {0xE226,2,{0xAF,0xF1,0x00,0x00,}},
+ {0xE227,2,{0xAF,0xF2,0x00,0x00,}},
+ {0xE228,2,{0xAF,0xF3,0x00,0x00,}},
+ {0xE229,2,{0xAF,0xF4,0x00,0x00,}},
+ {0xE22A,2,{0xAF,0xF5,0x00,0x00,}},
+ {0xE22B,2,{0xAF,0xF6,0x00,0x00,}},
+ {0xE22C,2,{0xAF,0xF7,0x00,0x00,}},
+ {0xE22D,2,{0xAF,0xF8,0x00,0x00,}},
+ {0xE22E,2,{0xAF,0xF9,0x00,0x00,}},
+ {0xE22F,2,{0xAF,0xFA,0x00,0x00,}},
+ {0xE230,2,{0xAF,0xFB,0x00,0x00,}},
+ {0xE231,2,{0xAF,0xFC,0x00,0x00,}},
+ {0xE232,2,{0xAF,0xFD,0x00,0x00,}},
+ {0xE233,2,{0xAF,0xFE,0x00,0x00,}},
+ {0xE234,2,{0xF8,0xA1,0x00,0x00,}},
+ {0xE235,2,{0xF8,0xA2,0x00,0x00,}},
+ {0xE236,2,{0xF8,0xA3,0x00,0x00,}},
+ {0xE237,2,{0xF8,0xA4,0x00,0x00,}},
+ {0xE238,2,{0xF8,0xA5,0x00,0x00,}},
+ {0xE239,2,{0xF8,0xA6,0x00,0x00,}},
+ {0xE23A,2,{0xF8,0xA7,0x00,0x00,}},
+ {0xE23B,2,{0xF8,0xA8,0x00,0x00,}},
+ {0xE23C,2,{0xF8,0xA9,0x00,0x00,}},
+ {0xE23D,2,{0xF8,0xAA,0x00,0x00,}},
+ {0xE23E,2,{0xF8,0xAB,0x00,0x00,}},
+ {0xE23F,2,{0xF8,0xAC,0x00,0x00,}},
+ {0xE240,2,{0xF8,0xAD,0x00,0x00,}},
+ {0xE241,2,{0xF8,0xAE,0x00,0x00,}},
+ {0xE242,2,{0xF8,0xAF,0x00,0x00,}},
+ {0xE243,2,{0xF8,0xB0,0x00,0x00,}},
+ {0xE244,2,{0xF8,0xB1,0x00,0x00,}},
+ {0xE245,2,{0xF8,0xB2,0x00,0x00,}},
+ {0xE246,2,{0xF8,0xB3,0x00,0x00,}},
+ {0xE247,2,{0xF8,0xB4,0x00,0x00,}},
+ {0xE248,2,{0xF8,0xB5,0x00,0x00,}},
+ {0xE249,2,{0xF8,0xB6,0x00,0x00,}},
+ {0xE24A,2,{0xF8,0xB7,0x00,0x00,}},
+ {0xE24B,2,{0xF8,0xB8,0x00,0x00,}},
+ {0xE24C,2,{0xF8,0xB9,0x00,0x00,}},
+ {0xE24D,2,{0xF8,0xBA,0x00,0x00,}},
+ {0xE24E,2,{0xF8,0xBB,0x00,0x00,}},
+ {0xE24F,2,{0xF8,0xBC,0x00,0x00,}},
+ {0xE250,2,{0xF8,0xBD,0x00,0x00,}},
+ {0xE251,2,{0xF8,0xBE,0x00,0x00,}},
+ {0xE252,2,{0xF8,0xBF,0x00,0x00,}},
+ {0xE253,2,{0xF8,0xC0,0x00,0x00,}},
+ {0xE254,2,{0xF8,0xC1,0x00,0x00,}},
+ {0xE255,2,{0xF8,0xC2,0x00,0x00,}},
+ {0xE256,2,{0xF8,0xC3,0x00,0x00,}},
+ {0xE257,2,{0xF8,0xC4,0x00,0x00,}},
+ {0xE258,2,{0xF8,0xC5,0x00,0x00,}},
+ {0xE259,2,{0xF8,0xC6,0x00,0x00,}},
+ {0xE25A,2,{0xF8,0xC7,0x00,0x00,}},
+ {0xE25B,2,{0xF8,0xC8,0x00,0x00,}},
+ {0xE25C,2,{0xF8,0xC9,0x00,0x00,}},
+ {0xE25D,2,{0xF8,0xCA,0x00,0x00,}},
+ {0xE25E,2,{0xF8,0xCB,0x00,0x00,}},
+ {0xE25F,2,{0xF8,0xCC,0x00,0x00,}},
+ {0xE260,2,{0xF8,0xCD,0x00,0x00,}},
+ {0xE261,2,{0xF8,0xCE,0x00,0x00,}},
+ {0xE262,2,{0xF8,0xCF,0x00,0x00,}},
+ {0xE263,2,{0xF8,0xD0,0x00,0x00,}},
+ {0xE264,2,{0xF8,0xD1,0x00,0x00,}},
+ {0xE265,2,{0xF8,0xD2,0x00,0x00,}},
+ {0xE266,2,{0xF8,0xD3,0x00,0x00,}},
+ {0xE267,2,{0xF8,0xD4,0x00,0x00,}},
+ {0xE268,2,{0xF8,0xD5,0x00,0x00,}},
+ {0xE269,2,{0xF8,0xD6,0x00,0x00,}},
+ {0xE26A,2,{0xF8,0xD7,0x00,0x00,}},
+ {0xE26B,2,{0xF8,0xD8,0x00,0x00,}},
+ {0xE26C,2,{0xF8,0xD9,0x00,0x00,}},
+ {0xE26D,2,{0xF8,0xDA,0x00,0x00,}},
+ {0xE26E,2,{0xF8,0xDB,0x00,0x00,}},
+ {0xE26F,2,{0xF8,0xDC,0x00,0x00,}},
+ {0xE270,2,{0xF8,0xDD,0x00,0x00,}},
+ {0xE271,2,{0xF8,0xDE,0x00,0x00,}},
+ {0xE272,2,{0xF8,0xDF,0x00,0x00,}},
+ {0xE273,2,{0xF8,0xE0,0x00,0x00,}},
+ {0xE274,2,{0xF8,0xE1,0x00,0x00,}},
+ {0xE275,2,{0xF8,0xE2,0x00,0x00,}},
+ {0xE276,2,{0xF8,0xE3,0x00,0x00,}},
+ {0xE277,2,{0xF8,0xE4,0x00,0x00,}},
+ {0xE278,2,{0xF8,0xE5,0x00,0x00,}},
+ {0xE279,2,{0xF8,0xE6,0x00,0x00,}},
+ {0xE27A,2,{0xF8,0xE7,0x00,0x00,}},
+ {0xE27B,2,{0xF8,0xE8,0x00,0x00,}},
+ {0xE27C,2,{0xF8,0xE9,0x00,0x00,}},
+ {0xE27D,2,{0xF8,0xEA,0x00,0x00,}},
+ {0xE27E,2,{0xF8,0xEB,0x00,0x00,}},
+ {0xE27F,2,{0xF8,0xEC,0x00,0x00,}},
+ {0xE280,2,{0xF8,0xED,0x00,0x00,}},
+ {0xE281,2,{0xF8,0xEE,0x00,0x00,}},
+ {0xE282,2,{0xF8,0xEF,0x00,0x00,}},
+ {0xE283,2,{0xF8,0xF0,0x00,0x00,}},
+ {0xE284,2,{0xF8,0xF1,0x00,0x00,}},
+ {0xE285,2,{0xF8,0xF2,0x00,0x00,}},
+ {0xE286,2,{0xF8,0xF3,0x00,0x00,}},
+ {0xE287,2,{0xF8,0xF4,0x00,0x00,}},
+ {0xE288,2,{0xF8,0xF5,0x00,0x00,}},
+ {0xE289,2,{0xF8,0xF6,0x00,0x00,}},
+ {0xE28A,2,{0xF8,0xF7,0x00,0x00,}},
+ {0xE28B,2,{0xF8,0xF8,0x00,0x00,}},
+ {0xE28C,2,{0xF8,0xF9,0x00,0x00,}},
+ {0xE28D,2,{0xF8,0xFA,0x00,0x00,}},
+ {0xE28E,2,{0xF8,0xFB,0x00,0x00,}},
+ {0xE28F,2,{0xF8,0xFC,0x00,0x00,}},
+ {0xE290,2,{0xF8,0xFD,0x00,0x00,}},
+ {0xE291,2,{0xF8,0xFE,0x00,0x00,}},
+ {0xE292,2,{0xF9,0xA1,0x00,0x00,}},
+ {0xE293,2,{0xF9,0xA2,0x00,0x00,}},
+ {0xE294,2,{0xF9,0xA3,0x00,0x00,}},
+ {0xE295,2,{0xF9,0xA4,0x00,0x00,}},
+ {0xE296,2,{0xF9,0xA5,0x00,0x00,}},
+ {0xE297,2,{0xF9,0xA6,0x00,0x00,}},
+ {0xE298,2,{0xF9,0xA7,0x00,0x00,}},
+ {0xE299,2,{0xF9,0xA8,0x00,0x00,}},
+ {0xE29A,2,{0xF9,0xA9,0x00,0x00,}},
+ {0xE29B,2,{0xF9,0xAA,0x00,0x00,}},
+ {0xE29C,2,{0xF9,0xAB,0x00,0x00,}},
+ {0xE29D,2,{0xF9,0xAC,0x00,0x00,}},
+ {0xE29E,2,{0xF9,0xAD,0x00,0x00,}},
+ {0xE29F,2,{0xF9,0xAE,0x00,0x00,}},
+ {0xE2A0,2,{0xF9,0xAF,0x00,0x00,}},
+ {0xE2A1,2,{0xF9,0xB0,0x00,0x00,}},
+ {0xE2A2,2,{0xF9,0xB1,0x00,0x00,}},
+ {0xE2A3,2,{0xF9,0xB2,0x00,0x00,}},
+ {0xE2A4,2,{0xF9,0xB3,0x00,0x00,}},
+ {0xE2A5,2,{0xF9,0xB4,0x00,0x00,}},
+ {0xE2A6,2,{0xF9,0xB5,0x00,0x00,}},
+ {0xE2A7,2,{0xF9,0xB6,0x00,0x00,}},
+ {0xE2A8,2,{0xF9,0xB7,0x00,0x00,}},
+ {0xE2A9,2,{0xF9,0xB8,0x00,0x00,}},
+ {0xE2AA,2,{0xF9,0xB9,0x00,0x00,}},
+ {0xE2AB,2,{0xF9,0xBA,0x00,0x00,}},
+ {0xE2AC,2,{0xF9,0xBB,0x00,0x00,}},
+ {0xE2AD,2,{0xF9,0xBC,0x00,0x00,}},
+ {0xE2AE,2,{0xF9,0xBD,0x00,0x00,}},
+ {0xE2AF,2,{0xF9,0xBE,0x00,0x00,}},
+ {0xE2B0,2,{0xF9,0xBF,0x00,0x00,}},
+ {0xE2B1,2,{0xF9,0xC0,0x00,0x00,}},
+ {0xE2B2,2,{0xF9,0xC1,0x00,0x00,}},
+ {0xE2B3,2,{0xF9,0xC2,0x00,0x00,}},
+ {0xE2B4,2,{0xF9,0xC3,0x00,0x00,}},
+ {0xE2B5,2,{0xF9,0xC4,0x00,0x00,}},
+ {0xE2B6,2,{0xF9,0xC5,0x00,0x00,}},
+ {0xE2B7,2,{0xF9,0xC6,0x00,0x00,}},
+ {0xE2B8,2,{0xF9,0xC7,0x00,0x00,}},
+ {0xE2B9,2,{0xF9,0xC8,0x00,0x00,}},
+ {0xE2BA,2,{0xF9,0xC9,0x00,0x00,}},
+ {0xE2BB,2,{0xF9,0xCA,0x00,0x00,}},
+ {0xE2BC,2,{0xF9,0xCB,0x00,0x00,}},
+ {0xE2BD,2,{0xF9,0xCC,0x00,0x00,}},
+ {0xE2BE,2,{0xF9,0xCD,0x00,0x00,}},
+ {0xE2BF,2,{0xF9,0xCE,0x00,0x00,}},
+ {0xE2C0,2,{0xF9,0xCF,0x00,0x00,}},
+ {0xE2C1,2,{0xF9,0xD0,0x00,0x00,}},
+ {0xE2C2,2,{0xF9,0xD1,0x00,0x00,}},
+ {0xE2C3,2,{0xF9,0xD2,0x00,0x00,}},
+ {0xE2C4,2,{0xF9,0xD3,0x00,0x00,}},
+ {0xE2C5,2,{0xF9,0xD4,0x00,0x00,}},
+ {0xE2C6,2,{0xF9,0xD5,0x00,0x00,}},
+ {0xE2C7,2,{0xF9,0xD6,0x00,0x00,}},
+ {0xE2C8,2,{0xF9,0xD7,0x00,0x00,}},
+ {0xE2C9,2,{0xF9,0xD8,0x00,0x00,}},
+ {0xE2CA,2,{0xF9,0xD9,0x00,0x00,}},
+ {0xE2CB,2,{0xF9,0xDA,0x00,0x00,}},
+ {0xE2CC,2,{0xF9,0xDB,0x00,0x00,}},
+ {0xE2CD,2,{0xF9,0xDC,0x00,0x00,}},
+ {0xE2CE,2,{0xF9,0xDD,0x00,0x00,}},
+ {0xE2CF,2,{0xF9,0xDE,0x00,0x00,}},
+ {0xE2D0,2,{0xF9,0xDF,0x00,0x00,}},
+ {0xE2D1,2,{0xF9,0xE0,0x00,0x00,}},
+ {0xE2D2,2,{0xF9,0xE1,0x00,0x00,}},
+ {0xE2D3,2,{0xF9,0xE2,0x00,0x00,}},
+ {0xE2D4,2,{0xF9,0xE3,0x00,0x00,}},
+ {0xE2D5,2,{0xF9,0xE4,0x00,0x00,}},
+ {0xE2D6,2,{0xF9,0xE5,0x00,0x00,}},
+ {0xE2D7,2,{0xF9,0xE6,0x00,0x00,}},
+ {0xE2D8,2,{0xF9,0xE7,0x00,0x00,}},
+ {0xE2D9,2,{0xF9,0xE8,0x00,0x00,}},
+ {0xE2DA,2,{0xF9,0xE9,0x00,0x00,}},
+ {0xE2DB,2,{0xF9,0xEA,0x00,0x00,}},
+ {0xE2DC,2,{0xF9,0xEB,0x00,0x00,}},
+ {0xE2DD,2,{0xF9,0xEC,0x00,0x00,}},
+ {0xE2DE,2,{0xF9,0xED,0x00,0x00,}},
+ {0xE2DF,2,{0xF9,0xEE,0x00,0x00,}},
+ {0xE2E0,2,{0xF9,0xEF,0x00,0x00,}},
+ {0xE2E1,2,{0xF9,0xF0,0x00,0x00,}},
+ {0xE2E2,2,{0xF9,0xF1,0x00,0x00,}},
+ {0xE2E3,2,{0xF9,0xF2,0x00,0x00,}},
+ {0xE2E4,2,{0xF9,0xF3,0x00,0x00,}},
+ {0xE2E5,2,{0xF9,0xF4,0x00,0x00,}},
+ {0xE2E6,2,{0xF9,0xF5,0x00,0x00,}},
+ {0xE2E7,2,{0xF9,0xF6,0x00,0x00,}},
+ {0xE2E8,2,{0xF9,0xF7,0x00,0x00,}},
+ {0xE2E9,2,{0xF9,0xF8,0x00,0x00,}},
+ {0xE2EA,2,{0xF9,0xF9,0x00,0x00,}},
+ {0xE2EB,2,{0xF9,0xFA,0x00,0x00,}},
+ {0xE2EC,2,{0xF9,0xFB,0x00,0x00,}},
+ {0xE2ED,2,{0xF9,0xFC,0x00,0x00,}},
+ {0xE2EE,2,{0xF9,0xFD,0x00,0x00,}},
+ {0xE2EF,2,{0xF9,0xFE,0x00,0x00,}},
+ {0xE2F0,2,{0xFA,0xA1,0x00,0x00,}},
+ {0xE2F1,2,{0xFA,0xA2,0x00,0x00,}},
+ {0xE2F2,2,{0xFA,0xA3,0x00,0x00,}},
+ {0xE2F3,2,{0xFA,0xA4,0x00,0x00,}},
+ {0xE2F4,2,{0xFA,0xA5,0x00,0x00,}},
+ {0xE2F5,2,{0xFA,0xA6,0x00,0x00,}},
+ {0xE2F6,2,{0xFA,0xA7,0x00,0x00,}},
+ {0xE2F7,2,{0xFA,0xA8,0x00,0x00,}},
+ {0xE2F8,2,{0xFA,0xA9,0x00,0x00,}},
+ {0xE2F9,2,{0xFA,0xAA,0x00,0x00,}},
+ {0xE2FA,2,{0xFA,0xAB,0x00,0x00,}},
+ {0xE2FB,2,{0xFA,0xAC,0x00,0x00,}},
+ {0xE2FC,2,{0xFA,0xAD,0x00,0x00,}},
+ {0xE2FD,2,{0xFA,0xAE,0x00,0x00,}},
+ {0xE2FE,2,{0xFA,0xAF,0x00,0x00,}},
+ {0xE2FF,2,{0xFA,0xB0,0x00,0x00,}},
+ {0xE300,2,{0xFA,0xB1,0x00,0x00,}},
+ {0xE301,2,{0xFA,0xB2,0x00,0x00,}},
+ {0xE302,2,{0xFA,0xB3,0x00,0x00,}},
+ {0xE303,2,{0xFA,0xB4,0x00,0x00,}},
+ {0xE304,2,{0xFA,0xB5,0x00,0x00,}},
+ {0xE305,2,{0xFA,0xB6,0x00,0x00,}},
+ {0xE306,2,{0xFA,0xB7,0x00,0x00,}},
+ {0xE307,2,{0xFA,0xB8,0x00,0x00,}},
+ {0xE308,2,{0xFA,0xB9,0x00,0x00,}},
+ {0xE309,2,{0xFA,0xBA,0x00,0x00,}},
+ {0xE30A,2,{0xFA,0xBB,0x00,0x00,}},
+ {0xE30B,2,{0xFA,0xBC,0x00,0x00,}},
+ {0xE30C,2,{0xFA,0xBD,0x00,0x00,}},
+ {0xE30D,2,{0xFA,0xBE,0x00,0x00,}},
+ {0xE30E,2,{0xFA,0xBF,0x00,0x00,}},
+ {0xE30F,2,{0xFA,0xC0,0x00,0x00,}},
+ {0xE310,2,{0xFA,0xC1,0x00,0x00,}},
+ {0xE311,2,{0xFA,0xC2,0x00,0x00,}},
+ {0xE312,2,{0xFA,0xC3,0x00,0x00,}},
+ {0xE313,2,{0xFA,0xC4,0x00,0x00,}},
+ {0xE314,2,{0xFA,0xC5,0x00,0x00,}},
+ {0xE315,2,{0xFA,0xC6,0x00,0x00,}},
+ {0xE316,2,{0xFA,0xC7,0x00,0x00,}},
+ {0xE317,2,{0xFA,0xC8,0x00,0x00,}},
+ {0xE318,2,{0xFA,0xC9,0x00,0x00,}},
+ {0xE319,2,{0xFA,0xCA,0x00,0x00,}},
+ {0xE31A,2,{0xFA,0xCB,0x00,0x00,}},
+ {0xE31B,2,{0xFA,0xCC,0x00,0x00,}},
+ {0xE31C,2,{0xFA,0xCD,0x00,0x00,}},
+ {0xE31D,2,{0xFA,0xCE,0x00,0x00,}},
+ {0xE31E,2,{0xFA,0xCF,0x00,0x00,}},
+ {0xE31F,2,{0xFA,0xD0,0x00,0x00,}},
+ {0xE320,2,{0xFA,0xD1,0x00,0x00,}},
+ {0xE321,2,{0xFA,0xD2,0x00,0x00,}},
+ {0xE322,2,{0xFA,0xD3,0x00,0x00,}},
+ {0xE323,2,{0xFA,0xD4,0x00,0x00,}},
+ {0xE324,2,{0xFA,0xD5,0x00,0x00,}},
+ {0xE325,2,{0xFA,0xD6,0x00,0x00,}},
+ {0xE326,2,{0xFA,0xD7,0x00,0x00,}},
+ {0xE327,2,{0xFA,0xD8,0x00,0x00,}},
+ {0xE328,2,{0xFA,0xD9,0x00,0x00,}},
+ {0xE329,2,{0xFA,0xDA,0x00,0x00,}},
+ {0xE32A,2,{0xFA,0xDB,0x00,0x00,}},
+ {0xE32B,2,{0xFA,0xDC,0x00,0x00,}},
+ {0xE32C,2,{0xFA,0xDD,0x00,0x00,}},
+ {0xE32D,2,{0xFA,0xDE,0x00,0x00,}},
+ {0xE32E,2,{0xFA,0xDF,0x00,0x00,}},
+ {0xE32F,2,{0xFA,0xE0,0x00,0x00,}},
+ {0xE330,2,{0xFA,0xE1,0x00,0x00,}},
+ {0xE331,2,{0xFA,0xE2,0x00,0x00,}},
+ {0xE332,2,{0xFA,0xE3,0x00,0x00,}},
+ {0xE333,2,{0xFA,0xE4,0x00,0x00,}},
+ {0xE334,2,{0xFA,0xE5,0x00,0x00,}},
+ {0xE335,2,{0xFA,0xE6,0x00,0x00,}},
+ {0xE336,2,{0xFA,0xE7,0x00,0x00,}},
+ {0xE337,2,{0xFA,0xE8,0x00,0x00,}},
+ {0xE338,2,{0xFA,0xE9,0x00,0x00,}},
+ {0xE339,2,{0xFA,0xEA,0x00,0x00,}},
+ {0xE33A,2,{0xFA,0xEB,0x00,0x00,}},
+ {0xE33B,2,{0xFA,0xEC,0x00,0x00,}},
+ {0xE33C,2,{0xFA,0xED,0x00,0x00,}},
+ {0xE33D,2,{0xFA,0xEE,0x00,0x00,}},
+ {0xE33E,2,{0xFA,0xEF,0x00,0x00,}},
+ {0xE33F,2,{0xFA,0xF0,0x00,0x00,}},
+ {0xE340,2,{0xFA,0xF1,0x00,0x00,}},
+ {0xE341,2,{0xFA,0xF2,0x00,0x00,}},
+ {0xE342,2,{0xFA,0xF3,0x00,0x00,}},
+ {0xE343,2,{0xFA,0xF4,0x00,0x00,}},
+ {0xE344,2,{0xFA,0xF5,0x00,0x00,}},
+ {0xE345,2,{0xFA,0xF6,0x00,0x00,}},
+ {0xE346,2,{0xFA,0xF7,0x00,0x00,}},
+ {0xE347,2,{0xFA,0xF8,0x00,0x00,}},
+ {0xE348,2,{0xFA,0xF9,0x00,0x00,}},
+ {0xE349,2,{0xFA,0xFA,0x00,0x00,}},
+ {0xE34A,2,{0xFA,0xFB,0x00,0x00,}},
+ {0xE34B,2,{0xFA,0xFC,0x00,0x00,}},
+ {0xE34C,2,{0xFA,0xFD,0x00,0x00,}},
+ {0xE34D,2,{0xFA,0xFE,0x00,0x00,}},
+ {0xE34E,2,{0xFB,0xA1,0x00,0x00,}},
+ {0xE34F,2,{0xFB,0xA2,0x00,0x00,}},
+ {0xE350,2,{0xFB,0xA3,0x00,0x00,}},
+ {0xE351,2,{0xFB,0xA4,0x00,0x00,}},
+ {0xE352,2,{0xFB,0xA5,0x00,0x00,}},
+ {0xE353,2,{0xFB,0xA6,0x00,0x00,}},
+ {0xE354,2,{0xFB,0xA7,0x00,0x00,}},
+ {0xE355,2,{0xFB,0xA8,0x00,0x00,}},
+ {0xE356,2,{0xFB,0xA9,0x00,0x00,}},
+ {0xE357,2,{0xFB,0xAA,0x00,0x00,}},
+ {0xE358,2,{0xFB,0xAB,0x00,0x00,}},
+ {0xE359,2,{0xFB,0xAC,0x00,0x00,}},
+ {0xE35A,2,{0xFB,0xAD,0x00,0x00,}},
+ {0xE35B,2,{0xFB,0xAE,0x00,0x00,}},
+ {0xE35C,2,{0xFB,0xAF,0x00,0x00,}},
+ {0xE35D,2,{0xFB,0xB0,0x00,0x00,}},
+ {0xE35E,2,{0xFB,0xB1,0x00,0x00,}},
+ {0xE35F,2,{0xFB,0xB2,0x00,0x00,}},
+ {0xE360,2,{0xFB,0xB3,0x00,0x00,}},
+ {0xE361,2,{0xFB,0xB4,0x00,0x00,}},
+ {0xE362,2,{0xFB,0xB5,0x00,0x00,}},
+ {0xE363,2,{0xFB,0xB6,0x00,0x00,}},
+ {0xE364,2,{0xFB,0xB7,0x00,0x00,}},
+ {0xE365,2,{0xFB,0xB8,0x00,0x00,}},
+ {0xE366,2,{0xFB,0xB9,0x00,0x00,}},
+ {0xE367,2,{0xFB,0xBA,0x00,0x00,}},
+ {0xE368,2,{0xFB,0xBB,0x00,0x00,}},
+ {0xE369,2,{0xFB,0xBC,0x00,0x00,}},
+ {0xE36A,2,{0xFB,0xBD,0x00,0x00,}},
+ {0xE36B,2,{0xFB,0xBE,0x00,0x00,}},
+ {0xE36C,2,{0xFB,0xBF,0x00,0x00,}},
+ {0xE36D,2,{0xFB,0xC0,0x00,0x00,}},
+ {0xE36E,2,{0xFB,0xC1,0x00,0x00,}},
+ {0xE36F,2,{0xFB,0xC2,0x00,0x00,}},
+ {0xE370,2,{0xFB,0xC3,0x00,0x00,}},
+ {0xE371,2,{0xFB,0xC4,0x00,0x00,}},
+ {0xE372,2,{0xFB,0xC5,0x00,0x00,}},
+ {0xE373,2,{0xFB,0xC6,0x00,0x00,}},
+ {0xE374,2,{0xFB,0xC7,0x00,0x00,}},
+ {0xE375,2,{0xFB,0xC8,0x00,0x00,}},
+ {0xE376,2,{0xFB,0xC9,0x00,0x00,}},
+ {0xE377,2,{0xFB,0xCA,0x00,0x00,}},
+ {0xE378,2,{0xFB,0xCB,0x00,0x00,}},
+ {0xE379,2,{0xFB,0xCC,0x00,0x00,}},
+ {0xE37A,2,{0xFB,0xCD,0x00,0x00,}},
+ {0xE37B,2,{0xFB,0xCE,0x00,0x00,}},
+ {0xE37C,2,{0xFB,0xCF,0x00,0x00,}},
+ {0xE37D,2,{0xFB,0xD0,0x00,0x00,}},
+ {0xE37E,2,{0xFB,0xD1,0x00,0x00,}},
+ {0xE37F,2,{0xFB,0xD2,0x00,0x00,}},
+ {0xE380,2,{0xFB,0xD3,0x00,0x00,}},
+ {0xE381,2,{0xFB,0xD4,0x00,0x00,}},
+ {0xE382,2,{0xFB,0xD5,0x00,0x00,}},
+ {0xE383,2,{0xFB,0xD6,0x00,0x00,}},
+ {0xE384,2,{0xFB,0xD7,0x00,0x00,}},
+ {0xE385,2,{0xFB,0xD8,0x00,0x00,}},
+ {0xE386,2,{0xFB,0xD9,0x00,0x00,}},
+ {0xE387,2,{0xFB,0xDA,0x00,0x00,}},
+ {0xE388,2,{0xFB,0xDB,0x00,0x00,}},
+ {0xE389,2,{0xFB,0xDC,0x00,0x00,}},
+ {0xE38A,2,{0xFB,0xDD,0x00,0x00,}},
+ {0xE38B,2,{0xFB,0xDE,0x00,0x00,}},
+ {0xE38C,2,{0xFB,0xDF,0x00,0x00,}},
+ {0xE38D,2,{0xFB,0xE0,0x00,0x00,}},
+ {0xE38E,2,{0xFB,0xE1,0x00,0x00,}},
+ {0xE38F,2,{0xFB,0xE2,0x00,0x00,}},
+ {0xE390,2,{0xFB,0xE3,0x00,0x00,}},
+ {0xE391,2,{0xFB,0xE4,0x00,0x00,}},
+ {0xE392,2,{0xFB,0xE5,0x00,0x00,}},
+ {0xE393,2,{0xFB,0xE6,0x00,0x00,}},
+ {0xE394,2,{0xFB,0xE7,0x00,0x00,}},
+ {0xE395,2,{0xFB,0xE8,0x00,0x00,}},
+ {0xE396,2,{0xFB,0xE9,0x00,0x00,}},
+ {0xE397,2,{0xFB,0xEA,0x00,0x00,}},
+ {0xE398,2,{0xFB,0xEB,0x00,0x00,}},
+ {0xE399,2,{0xFB,0xEC,0x00,0x00,}},
+ {0xE39A,2,{0xFB,0xED,0x00,0x00,}},
+ {0xE39B,2,{0xFB,0xEE,0x00,0x00,}},
+ {0xE39C,2,{0xFB,0xEF,0x00,0x00,}},
+ {0xE39D,2,{0xFB,0xF0,0x00,0x00,}},
+ {0xE39E,2,{0xFB,0xF1,0x00,0x00,}},
+ {0xE39F,2,{0xFB,0xF2,0x00,0x00,}},
+ {0xE3A0,2,{0xFB,0xF3,0x00,0x00,}},
+ {0xE3A1,2,{0xFB,0xF4,0x00,0x00,}},
+ {0xE3A2,2,{0xFB,0xF5,0x00,0x00,}},
+ {0xE3A3,2,{0xFB,0xF6,0x00,0x00,}},
+ {0xE3A4,2,{0xFB,0xF7,0x00,0x00,}},
+ {0xE3A5,2,{0xFB,0xF8,0x00,0x00,}},
+ {0xE3A6,2,{0xFB,0xF9,0x00,0x00,}},
+ {0xE3A7,2,{0xFB,0xFA,0x00,0x00,}},
+ {0xE3A8,2,{0xFB,0xFB,0x00,0x00,}},
+ {0xE3A9,2,{0xFB,0xFC,0x00,0x00,}},
+ {0xE3AA,2,{0xFB,0xFD,0x00,0x00,}},
+ {0xE3AB,2,{0xFB,0xFE,0x00,0x00,}},
+ {0xE3AC,2,{0xFC,0xA1,0x00,0x00,}},
+ {0xE3AD,2,{0xFC,0xA2,0x00,0x00,}},
+ {0xE3AE,2,{0xFC,0xA3,0x00,0x00,}},
+ {0xE3AF,2,{0xFC,0xA4,0x00,0x00,}},
+ {0xE3B0,2,{0xFC,0xA5,0x00,0x00,}},
+ {0xE3B1,2,{0xFC,0xA6,0x00,0x00,}},
+ {0xE3B2,2,{0xFC,0xA7,0x00,0x00,}},
+ {0xE3B3,2,{0xFC,0xA8,0x00,0x00,}},
+ {0xE3B4,2,{0xFC,0xA9,0x00,0x00,}},
+ {0xE3B5,2,{0xFC,0xAA,0x00,0x00,}},
+ {0xE3B6,2,{0xFC,0xAB,0x00,0x00,}},
+ {0xE3B7,2,{0xFC,0xAC,0x00,0x00,}},
+ {0xE3B8,2,{0xFC,0xAD,0x00,0x00,}},
+ {0xE3B9,2,{0xFC,0xAE,0x00,0x00,}},
+ {0xE3BA,2,{0xFC,0xAF,0x00,0x00,}},
+ {0xE3BB,2,{0xFC,0xB0,0x00,0x00,}},
+ {0xE3BC,2,{0xFC,0xB1,0x00,0x00,}},
+ {0xE3BD,2,{0xFC,0xB2,0x00,0x00,}},
+ {0xE3BE,2,{0xFC,0xB3,0x00,0x00,}},
+ {0xE3BF,2,{0xFC,0xB4,0x00,0x00,}},
+ {0xE3C0,2,{0xFC,0xB5,0x00,0x00,}},
+ {0xE3C1,2,{0xFC,0xB6,0x00,0x00,}},
+ {0xE3C2,2,{0xFC,0xB7,0x00,0x00,}},
+ {0xE3C3,2,{0xFC,0xB8,0x00,0x00,}},
+ {0xE3C4,2,{0xFC,0xB9,0x00,0x00,}},
+ {0xE3C5,2,{0xFC,0xBA,0x00,0x00,}},
+ {0xE3C6,2,{0xFC,0xBB,0x00,0x00,}},
+ {0xE3C7,2,{0xFC,0xBC,0x00,0x00,}},
+ {0xE3C8,2,{0xFC,0xBD,0x00,0x00,}},
+ {0xE3C9,2,{0xFC,0xBE,0x00,0x00,}},
+ {0xE3CA,2,{0xFC,0xBF,0x00,0x00,}},
+ {0xE3CB,2,{0xFC,0xC0,0x00,0x00,}},
+ {0xE3CC,2,{0xFC,0xC1,0x00,0x00,}},
+ {0xE3CD,2,{0xFC,0xC2,0x00,0x00,}},
+ {0xE3CE,2,{0xFC,0xC3,0x00,0x00,}},
+ {0xE3CF,2,{0xFC,0xC4,0x00,0x00,}},
+ {0xE3D0,2,{0xFC,0xC5,0x00,0x00,}},
+ {0xE3D1,2,{0xFC,0xC6,0x00,0x00,}},
+ {0xE3D2,2,{0xFC,0xC7,0x00,0x00,}},
+ {0xE3D3,2,{0xFC,0xC8,0x00,0x00,}},
+ {0xE3D4,2,{0xFC,0xC9,0x00,0x00,}},
+ {0xE3D5,2,{0xFC,0xCA,0x00,0x00,}},
+ {0xE3D6,2,{0xFC,0xCB,0x00,0x00,}},
+ {0xE3D7,2,{0xFC,0xCC,0x00,0x00,}},
+ {0xE3D8,2,{0xFC,0xCD,0x00,0x00,}},
+ {0xE3D9,2,{0xFC,0xCE,0x00,0x00,}},
+ {0xE3DA,2,{0xFC,0xCF,0x00,0x00,}},
+ {0xE3DB,2,{0xFC,0xD0,0x00,0x00,}},
+ {0xE3DC,2,{0xFC,0xD1,0x00,0x00,}},
+ {0xE3DD,2,{0xFC,0xD2,0x00,0x00,}},
+ {0xE3DE,2,{0xFC,0xD3,0x00,0x00,}},
+ {0xE3DF,2,{0xFC,0xD4,0x00,0x00,}},
+ {0xE3E0,2,{0xFC,0xD5,0x00,0x00,}},
+ {0xE3E1,2,{0xFC,0xD6,0x00,0x00,}},
+ {0xE3E2,2,{0xFC,0xD7,0x00,0x00,}},
+ {0xE3E3,2,{0xFC,0xD8,0x00,0x00,}},
+ {0xE3E4,2,{0xFC,0xD9,0x00,0x00,}},
+ {0xE3E5,2,{0xFC,0xDA,0x00,0x00,}},
+ {0xE3E6,2,{0xFC,0xDB,0x00,0x00,}},
+ {0xE3E7,2,{0xFC,0xDC,0x00,0x00,}},
+ {0xE3E8,2,{0xFC,0xDD,0x00,0x00,}},
+ {0xE3E9,2,{0xFC,0xDE,0x00,0x00,}},
+ {0xE3EA,2,{0xFC,0xDF,0x00,0x00,}},
+ {0xE3EB,2,{0xFC,0xE0,0x00,0x00,}},
+ {0xE3EC,2,{0xFC,0xE1,0x00,0x00,}},
+ {0xE3ED,2,{0xFC,0xE2,0x00,0x00,}},
+ {0xE3EE,2,{0xFC,0xE3,0x00,0x00,}},
+ {0xE3EF,2,{0xFC,0xE4,0x00,0x00,}},
+ {0xE3F0,2,{0xFC,0xE5,0x00,0x00,}},
+ {0xE3F1,2,{0xFC,0xE6,0x00,0x00,}},
+ {0xE3F2,2,{0xFC,0xE7,0x00,0x00,}},
+ {0xE3F3,2,{0xFC,0xE8,0x00,0x00,}},
+ {0xE3F4,2,{0xFC,0xE9,0x00,0x00,}},
+ {0xE3F5,2,{0xFC,0xEA,0x00,0x00,}},
+ {0xE3F6,2,{0xFC,0xEB,0x00,0x00,}},
+ {0xE3F7,2,{0xFC,0xEC,0x00,0x00,}},
+ {0xE3F8,2,{0xFC,0xED,0x00,0x00,}},
+ {0xE3F9,2,{0xFC,0xEE,0x00,0x00,}},
+ {0xE3FA,2,{0xFC,0xEF,0x00,0x00,}},
+ {0xE3FB,2,{0xFC,0xF0,0x00,0x00,}},
+ {0xE3FC,2,{0xFC,0xF1,0x00,0x00,}},
+ {0xE3FD,2,{0xFC,0xF2,0x00,0x00,}},
+ {0xE3FE,2,{0xFC,0xF3,0x00,0x00,}},
+ {0xE3FF,2,{0xFC,0xF4,0x00,0x00,}},
+ {0xE400,2,{0xFC,0xF5,0x00,0x00,}},
+ {0xE401,2,{0xFC,0xF6,0x00,0x00,}},
+ {0xE402,2,{0xFC,0xF7,0x00,0x00,}},
+ {0xE403,2,{0xFC,0xF8,0x00,0x00,}},
+ {0xE404,2,{0xFC,0xF9,0x00,0x00,}},
+ {0xE405,2,{0xFC,0xFA,0x00,0x00,}},
+ {0xE406,2,{0xFC,0xFB,0x00,0x00,}},
+ {0xE407,2,{0xFC,0xFC,0x00,0x00,}},
+ {0xE408,2,{0xFC,0xFD,0x00,0x00,}},
+ {0xE409,2,{0xFC,0xFE,0x00,0x00,}},
+ {0xE40A,2,{0xFD,0xA1,0x00,0x00,}},
+ {0xE40B,2,{0xFD,0xA2,0x00,0x00,}},
+ {0xE40C,2,{0xFD,0xA3,0x00,0x00,}},
+ {0xE40D,2,{0xFD,0xA4,0x00,0x00,}},
+ {0xE40E,2,{0xFD,0xA5,0x00,0x00,}},
+ {0xE40F,2,{0xFD,0xA6,0x00,0x00,}},
+ {0xE410,2,{0xFD,0xA7,0x00,0x00,}},
+ {0xE411,2,{0xFD,0xA8,0x00,0x00,}},
+ {0xE412,2,{0xFD,0xA9,0x00,0x00,}},
+ {0xE413,2,{0xFD,0xAA,0x00,0x00,}},
+ {0xE414,2,{0xFD,0xAB,0x00,0x00,}},
+ {0xE415,2,{0xFD,0xAC,0x00,0x00,}},
+ {0xE416,2,{0xFD,0xAD,0x00,0x00,}},
+ {0xE417,2,{0xFD,0xAE,0x00,0x00,}},
+ {0xE418,2,{0xFD,0xAF,0x00,0x00,}},
+ {0xE419,2,{0xFD,0xB0,0x00,0x00,}},
+ {0xE41A,2,{0xFD,0xB1,0x00,0x00,}},
+ {0xE41B,2,{0xFD,0xB2,0x00,0x00,}},
+ {0xE41C,2,{0xFD,0xB3,0x00,0x00,}},
+ {0xE41D,2,{0xFD,0xB4,0x00,0x00,}},
+ {0xE41E,2,{0xFD,0xB5,0x00,0x00,}},
+ {0xE41F,2,{0xFD,0xB6,0x00,0x00,}},
+ {0xE420,2,{0xFD,0xB7,0x00,0x00,}},
+ {0xE421,2,{0xFD,0xB8,0x00,0x00,}},
+ {0xE422,2,{0xFD,0xB9,0x00,0x00,}},
+ {0xE423,2,{0xFD,0xBA,0x00,0x00,}},
+ {0xE424,2,{0xFD,0xBB,0x00,0x00,}},
+ {0xE425,2,{0xFD,0xBC,0x00,0x00,}},
+ {0xE426,2,{0xFD,0xBD,0x00,0x00,}},
+ {0xE427,2,{0xFD,0xBE,0x00,0x00,}},
+ {0xE428,2,{0xFD,0xBF,0x00,0x00,}},
+ {0xE429,2,{0xFD,0xC0,0x00,0x00,}},
+ {0xE42A,2,{0xFD,0xC1,0x00,0x00,}},
+ {0xE42B,2,{0xFD,0xC2,0x00,0x00,}},
+ {0xE42C,2,{0xFD,0xC3,0x00,0x00,}},
+ {0xE42D,2,{0xFD,0xC4,0x00,0x00,}},
+ {0xE42E,2,{0xFD,0xC5,0x00,0x00,}},
+ {0xE42F,2,{0xFD,0xC6,0x00,0x00,}},
+ {0xE430,2,{0xFD,0xC7,0x00,0x00,}},
+ {0xE431,2,{0xFD,0xC8,0x00,0x00,}},
+ {0xE432,2,{0xFD,0xC9,0x00,0x00,}},
+ {0xE433,2,{0xFD,0xCA,0x00,0x00,}},
+ {0xE434,2,{0xFD,0xCB,0x00,0x00,}},
+ {0xE435,2,{0xFD,0xCC,0x00,0x00,}},
+ {0xE436,2,{0xFD,0xCD,0x00,0x00,}},
+ {0xE437,2,{0xFD,0xCE,0x00,0x00,}},
+ {0xE438,2,{0xFD,0xCF,0x00,0x00,}},
+ {0xE439,2,{0xFD,0xD0,0x00,0x00,}},
+ {0xE43A,2,{0xFD,0xD1,0x00,0x00,}},
+ {0xE43B,2,{0xFD,0xD2,0x00,0x00,}},
+ {0xE43C,2,{0xFD,0xD3,0x00,0x00,}},
+ {0xE43D,2,{0xFD,0xD4,0x00,0x00,}},
+ {0xE43E,2,{0xFD,0xD5,0x00,0x00,}},
+ {0xE43F,2,{0xFD,0xD6,0x00,0x00,}},
+ {0xE440,2,{0xFD,0xD7,0x00,0x00,}},
+ {0xE441,2,{0xFD,0xD8,0x00,0x00,}},
+ {0xE442,2,{0xFD,0xD9,0x00,0x00,}},
+ {0xE443,2,{0xFD,0xDA,0x00,0x00,}},
+ {0xE444,2,{0xFD,0xDB,0x00,0x00,}},
+ {0xE445,2,{0xFD,0xDC,0x00,0x00,}},
+ {0xE446,2,{0xFD,0xDD,0x00,0x00,}},
+ {0xE447,2,{0xFD,0xDE,0x00,0x00,}},
+ {0xE448,2,{0xFD,0xDF,0x00,0x00,}},
+ {0xE449,2,{0xFD,0xE0,0x00,0x00,}},
+ {0xE44A,2,{0xFD,0xE1,0x00,0x00,}},
+ {0xE44B,2,{0xFD,0xE2,0x00,0x00,}},
+ {0xE44C,2,{0xFD,0xE3,0x00,0x00,}},
+ {0xE44D,2,{0xFD,0xE4,0x00,0x00,}},
+ {0xE44E,2,{0xFD,0xE5,0x00,0x00,}},
+ {0xE44F,2,{0xFD,0xE6,0x00,0x00,}},
+ {0xE450,2,{0xFD,0xE7,0x00,0x00,}},
+ {0xE451,2,{0xFD,0xE8,0x00,0x00,}},
+ {0xE452,2,{0xFD,0xE9,0x00,0x00,}},
+ {0xE453,2,{0xFD,0xEA,0x00,0x00,}},
+ {0xE454,2,{0xFD,0xEB,0x00,0x00,}},
+ {0xE455,2,{0xFD,0xEC,0x00,0x00,}},
+ {0xE456,2,{0xFD,0xED,0x00,0x00,}},
+ {0xE457,2,{0xFD,0xEE,0x00,0x00,}},
+ {0xE458,2,{0xFD,0xEF,0x00,0x00,}},
+ {0xE459,2,{0xFD,0xF0,0x00,0x00,}},
+ {0xE45A,2,{0xFD,0xF1,0x00,0x00,}},
+ {0xE45B,2,{0xFD,0xF2,0x00,0x00,}},
+ {0xE45C,2,{0xFD,0xF3,0x00,0x00,}},
+ {0xE45D,2,{0xFD,0xF4,0x00,0x00,}},
+ {0xE45E,2,{0xFD,0xF5,0x00,0x00,}},
+ {0xE45F,2,{0xFD,0xF6,0x00,0x00,}},
+ {0xE460,2,{0xFD,0xF7,0x00,0x00,}},
+ {0xE461,2,{0xFD,0xF8,0x00,0x00,}},
+ {0xE462,2,{0xFD,0xF9,0x00,0x00,}},
+ {0xE463,2,{0xFD,0xFA,0x00,0x00,}},
+ {0xE464,2,{0xFD,0xFB,0x00,0x00,}},
+ {0xE465,2,{0xFD,0xFC,0x00,0x00,}},
+ {0xE466,2,{0xFD,0xFD,0x00,0x00,}},
+ {0xE467,2,{0xFD,0xFE,0x00,0x00,}},
+ {0xE468,2,{0xFE,0xA1,0x00,0x00,}},
+ {0xE469,2,{0xFE,0xA2,0x00,0x00,}},
+ {0xE46A,2,{0xFE,0xA3,0x00,0x00,}},
+ {0xE46B,2,{0xFE,0xA4,0x00,0x00,}},
+ {0xE46C,2,{0xFE,0xA5,0x00,0x00,}},
+ {0xE46D,2,{0xFE,0xA6,0x00,0x00,}},
+ {0xE46E,2,{0xFE,0xA7,0x00,0x00,}},
+ {0xE46F,2,{0xFE,0xA8,0x00,0x00,}},
+ {0xE470,2,{0xFE,0xA9,0x00,0x00,}},
+ {0xE471,2,{0xFE,0xAA,0x00,0x00,}},
+ {0xE472,2,{0xFE,0xAB,0x00,0x00,}},
+ {0xE473,2,{0xFE,0xAC,0x00,0x00,}},
+ {0xE474,2,{0xFE,0xAD,0x00,0x00,}},
+ {0xE475,2,{0xFE,0xAE,0x00,0x00,}},
+ {0xE476,2,{0xFE,0xAF,0x00,0x00,}},
+ {0xE477,2,{0xFE,0xB0,0x00,0x00,}},
+ {0xE478,2,{0xFE,0xB1,0x00,0x00,}},
+ {0xE479,2,{0xFE,0xB2,0x00,0x00,}},
+ {0xE47A,2,{0xFE,0xB3,0x00,0x00,}},
+ {0xE47B,2,{0xFE,0xB4,0x00,0x00,}},
+ {0xE47C,2,{0xFE,0xB5,0x00,0x00,}},
+ {0xE47D,2,{0xFE,0xB6,0x00,0x00,}},
+ {0xE47E,2,{0xFE,0xB7,0x00,0x00,}},
+ {0xE47F,2,{0xFE,0xB8,0x00,0x00,}},
+ {0xE480,2,{0xFE,0xB9,0x00,0x00,}},
+ {0xE481,2,{0xFE,0xBA,0x00,0x00,}},
+ {0xE482,2,{0xFE,0xBB,0x00,0x00,}},
+ {0xE483,2,{0xFE,0xBC,0x00,0x00,}},
+ {0xE484,2,{0xFE,0xBD,0x00,0x00,}},
+ {0xE485,2,{0xFE,0xBE,0x00,0x00,}},
+ {0xE486,2,{0xFE,0xBF,0x00,0x00,}},
+ {0xE487,2,{0xFE,0xC0,0x00,0x00,}},
+ {0xE488,2,{0xFE,0xC1,0x00,0x00,}},
+ {0xE489,2,{0xFE,0xC2,0x00,0x00,}},
+ {0xE48A,2,{0xFE,0xC3,0x00,0x00,}},
+ {0xE48B,2,{0xFE,0xC4,0x00,0x00,}},
+ {0xE48C,2,{0xFE,0xC5,0x00,0x00,}},
+ {0xE48D,2,{0xFE,0xC6,0x00,0x00,}},
+ {0xE48E,2,{0xFE,0xC7,0x00,0x00,}},
+ {0xE48F,2,{0xFE,0xC8,0x00,0x00,}},
+ {0xE490,2,{0xFE,0xC9,0x00,0x00,}},
+ {0xE491,2,{0xFE,0xCA,0x00,0x00,}},
+ {0xE492,2,{0xFE,0xCB,0x00,0x00,}},
+ {0xE493,2,{0xFE,0xCC,0x00,0x00,}},
+ {0xE494,2,{0xFE,0xCD,0x00,0x00,}},
+ {0xE495,2,{0xFE,0xCE,0x00,0x00,}},
+ {0xE496,2,{0xFE,0xCF,0x00,0x00,}},
+ {0xE497,2,{0xFE,0xD0,0x00,0x00,}},
+ {0xE498,2,{0xFE,0xD1,0x00,0x00,}},
+ {0xE499,2,{0xFE,0xD2,0x00,0x00,}},
+ {0xE49A,2,{0xFE,0xD3,0x00,0x00,}},
+ {0xE49B,2,{0xFE,0xD4,0x00,0x00,}},
+ {0xE49C,2,{0xFE,0xD5,0x00,0x00,}},
+ {0xE49D,2,{0xFE,0xD6,0x00,0x00,}},
+ {0xE49E,2,{0xFE,0xD7,0x00,0x00,}},
+ {0xE49F,2,{0xFE,0xD8,0x00,0x00,}},
+ {0xE4A0,2,{0xFE,0xD9,0x00,0x00,}},
+ {0xE4A1,2,{0xFE,0xDA,0x00,0x00,}},
+ {0xE4A2,2,{0xFE,0xDB,0x00,0x00,}},
+ {0xE4A3,2,{0xFE,0xDC,0x00,0x00,}},
+ {0xE4A4,2,{0xFE,0xDD,0x00,0x00,}},
+ {0xE4A5,2,{0xFE,0xDE,0x00,0x00,}},
+ {0xE4A6,2,{0xFE,0xDF,0x00,0x00,}},
+ {0xE4A7,2,{0xFE,0xE0,0x00,0x00,}},
+ {0xE4A8,2,{0xFE,0xE1,0x00,0x00,}},
+ {0xE4A9,2,{0xFE,0xE2,0x00,0x00,}},
+ {0xE4AA,2,{0xFE,0xE3,0x00,0x00,}},
+ {0xE4AB,2,{0xFE,0xE4,0x00,0x00,}},
+ {0xE4AC,2,{0xFE,0xE5,0x00,0x00,}},
+ {0xE4AD,2,{0xFE,0xE6,0x00,0x00,}},
+ {0xE4AE,2,{0xFE,0xE7,0x00,0x00,}},
+ {0xE4AF,2,{0xFE,0xE8,0x00,0x00,}},
+ {0xE4B0,2,{0xFE,0xE9,0x00,0x00,}},
+ {0xE4B1,2,{0xFE,0xEA,0x00,0x00,}},
+ {0xE4B2,2,{0xFE,0xEB,0x00,0x00,}},
+ {0xE4B3,2,{0xFE,0xEC,0x00,0x00,}},
+ {0xE4B4,2,{0xFE,0xED,0x00,0x00,}},
+ {0xE4B5,2,{0xFE,0xEE,0x00,0x00,}},
+ {0xE4B6,2,{0xFE,0xEF,0x00,0x00,}},
+ {0xE4B7,2,{0xFE,0xF0,0x00,0x00,}},
+ {0xE4B8,2,{0xFE,0xF1,0x00,0x00,}},
+ {0xE4B9,2,{0xFE,0xF2,0x00,0x00,}},
+ {0xE4BA,2,{0xFE,0xF3,0x00,0x00,}},
+ {0xE4BB,2,{0xFE,0xF4,0x00,0x00,}},
+ {0xE4BC,2,{0xFE,0xF5,0x00,0x00,}},
+ {0xE4BD,2,{0xFE,0xF6,0x00,0x00,}},
+ {0xE4BE,2,{0xFE,0xF7,0x00,0x00,}},
+ {0xE4BF,2,{0xFE,0xF8,0x00,0x00,}},
+ {0xE4C0,2,{0xFE,0xF9,0x00,0x00,}},
+ {0xE4C1,2,{0xFE,0xFA,0x00,0x00,}},
+ {0xE4C2,2,{0xFE,0xFB,0x00,0x00,}},
+ {0xE4C3,2,{0xFE,0xFC,0x00,0x00,}},
+ {0xE4C4,2,{0xFE,0xFD,0x00,0x00,}},
+ {0xE4C5,2,{0xFE,0xFE,0x00,0x00,}},
+ {0xE4C6,2,{0xA1,0x40,0x00,0x00,}},
+ {0xE4C7,2,{0xA1,0x41,0x00,0x00,}},
+ {0xE4C8,2,{0xA1,0x42,0x00,0x00,}},
+ {0xE4C9,2,{0xA1,0x43,0x00,0x00,}},
+ {0xE4CA,2,{0xA1,0x44,0x00,0x00,}},
+ {0xE4CB,2,{0xA1,0x45,0x00,0x00,}},
+ {0xE4CC,2,{0xA1,0x46,0x00,0x00,}},
+ {0xE4CD,2,{0xA1,0x47,0x00,0x00,}},
+ {0xE4CE,2,{0xA1,0x48,0x00,0x00,}},
+ {0xE4CF,2,{0xA1,0x49,0x00,0x00,}},
+ {0xE4D0,2,{0xA1,0x4A,0x00,0x00,}},
+ {0xE4D1,2,{0xA1,0x4B,0x00,0x00,}},
+ {0xE4D2,2,{0xA1,0x4C,0x00,0x00,}},
+ {0xE4D3,2,{0xA1,0x4D,0x00,0x00,}},
+ {0xE4D4,2,{0xA1,0x4E,0x00,0x00,}},
+ {0xE4D5,2,{0xA1,0x4F,0x00,0x00,}},
+ {0xE4D6,2,{0xA1,0x50,0x00,0x00,}},
+ {0xE4D7,2,{0xA1,0x51,0x00,0x00,}},
+ {0xE4D8,2,{0xA1,0x52,0x00,0x00,}},
+ {0xE4D9,2,{0xA1,0x53,0x00,0x00,}},
+ {0xE4DA,2,{0xA1,0x54,0x00,0x00,}},
+ {0xE4DB,2,{0xA1,0x55,0x00,0x00,}},
+ {0xE4DC,2,{0xA1,0x56,0x00,0x00,}},
+ {0xE4DD,2,{0xA1,0x57,0x00,0x00,}},
+ {0xE4DE,2,{0xA1,0x58,0x00,0x00,}},
+ {0xE4DF,2,{0xA1,0x59,0x00,0x00,}},
+ {0xE4E0,2,{0xA1,0x5A,0x00,0x00,}},
+ {0xE4E1,2,{0xA1,0x5B,0x00,0x00,}},
+ {0xE4E2,2,{0xA1,0x5C,0x00,0x00,}},
+ {0xE4E3,2,{0xA1,0x5D,0x00,0x00,}},
+ {0xE4E4,2,{0xA1,0x5E,0x00,0x00,}},
+ {0xE4E5,2,{0xA1,0x5F,0x00,0x00,}},
+ {0xE4E6,2,{0xA1,0x60,0x00,0x00,}},
+ {0xE4E7,2,{0xA1,0x61,0x00,0x00,}},
+ {0xE4E8,2,{0xA1,0x62,0x00,0x00,}},
+ {0xE4E9,2,{0xA1,0x63,0x00,0x00,}},
+ {0xE4EA,2,{0xA1,0x64,0x00,0x00,}},
+ {0xE4EB,2,{0xA1,0x65,0x00,0x00,}},
+ {0xE4EC,2,{0xA1,0x66,0x00,0x00,}},
+ {0xE4ED,2,{0xA1,0x67,0x00,0x00,}},
+ {0xE4EE,2,{0xA1,0x68,0x00,0x00,}},
+ {0xE4EF,2,{0xA1,0x69,0x00,0x00,}},
+ {0xE4F0,2,{0xA1,0x6A,0x00,0x00,}},
+ {0xE4F1,2,{0xA1,0x6B,0x00,0x00,}},
+ {0xE4F2,2,{0xA1,0x6C,0x00,0x00,}},
+ {0xE4F3,2,{0xA1,0x6D,0x00,0x00,}},
+ {0xE4F4,2,{0xA1,0x6E,0x00,0x00,}},
+ {0xE4F5,2,{0xA1,0x6F,0x00,0x00,}},
+ {0xE4F6,2,{0xA1,0x70,0x00,0x00,}},
+ {0xE4F7,2,{0xA1,0x71,0x00,0x00,}},
+ {0xE4F8,2,{0xA1,0x72,0x00,0x00,}},
+ {0xE4F9,2,{0xA1,0x73,0x00,0x00,}},
+ {0xE4FA,2,{0xA1,0x74,0x00,0x00,}},
+ {0xE4FB,2,{0xA1,0x75,0x00,0x00,}},
+ {0xE4FC,2,{0xA1,0x76,0x00,0x00,}},
+ {0xE4FD,2,{0xA1,0x77,0x00,0x00,}},
+ {0xE4FE,2,{0xA1,0x78,0x00,0x00,}},
+ {0xE4FF,2,{0xA1,0x79,0x00,0x00,}},
+ {0xE500,2,{0xA1,0x7A,0x00,0x00,}},
+ {0xE501,2,{0xA1,0x7B,0x00,0x00,}},
+ {0xE502,2,{0xA1,0x7C,0x00,0x00,}},
+ {0xE503,2,{0xA1,0x7D,0x00,0x00,}},
+ {0xE504,2,{0xA1,0x7E,0x00,0x00,}},
+ {0xE505,2,{0xA1,0x80,0x00,0x00,}},
+ {0xE506,2,{0xA1,0x81,0x00,0x00,}},
+ {0xE507,2,{0xA1,0x82,0x00,0x00,}},
+ {0xE508,2,{0xA1,0x83,0x00,0x00,}},
+ {0xE509,2,{0xA1,0x84,0x00,0x00,}},
+ {0xE50A,2,{0xA1,0x85,0x00,0x00,}},
+ {0xE50B,2,{0xA1,0x86,0x00,0x00,}},
+ {0xE50C,2,{0xA1,0x87,0x00,0x00,}},
+ {0xE50D,2,{0xA1,0x88,0x00,0x00,}},
+ {0xE50E,2,{0xA1,0x89,0x00,0x00,}},
+ {0xE50F,2,{0xA1,0x8A,0x00,0x00,}},
+ {0xE510,2,{0xA1,0x8B,0x00,0x00,}},
+ {0xE511,2,{0xA1,0x8C,0x00,0x00,}},
+ {0xE512,2,{0xA1,0x8D,0x00,0x00,}},
+ {0xE513,2,{0xA1,0x8E,0x00,0x00,}},
+ {0xE514,2,{0xA1,0x8F,0x00,0x00,}},
+ {0xE515,2,{0xA1,0x90,0x00,0x00,}},
+ {0xE516,2,{0xA1,0x91,0x00,0x00,}},
+ {0xE517,2,{0xA1,0x92,0x00,0x00,}},
+ {0xE518,2,{0xA1,0x93,0x00,0x00,}},
+ {0xE519,2,{0xA1,0x94,0x00,0x00,}},
+ {0xE51A,2,{0xA1,0x95,0x00,0x00,}},
+ {0xE51B,2,{0xA1,0x96,0x00,0x00,}},
+ {0xE51C,2,{0xA1,0x97,0x00,0x00,}},
+ {0xE51D,2,{0xA1,0x98,0x00,0x00,}},
+ {0xE51E,2,{0xA1,0x99,0x00,0x00,}},
+ {0xE51F,2,{0xA1,0x9A,0x00,0x00,}},
+ {0xE520,2,{0xA1,0x9B,0x00,0x00,}},
+ {0xE521,2,{0xA1,0x9C,0x00,0x00,}},
+ {0xE522,2,{0xA1,0x9D,0x00,0x00,}},
+ {0xE523,2,{0xA1,0x9E,0x00,0x00,}},
+ {0xE524,2,{0xA1,0x9F,0x00,0x00,}},
+ {0xE525,2,{0xA1,0xA0,0x00,0x00,}},
+ {0xE526,2,{0xA2,0x40,0x00,0x00,}},
+ {0xE527,2,{0xA2,0x41,0x00,0x00,}},
+ {0xE528,2,{0xA2,0x42,0x00,0x00,}},
+ {0xE529,2,{0xA2,0x43,0x00,0x00,}},
+ {0xE52A,2,{0xA2,0x44,0x00,0x00,}},
+ {0xE52B,2,{0xA2,0x45,0x00,0x00,}},
+ {0xE52C,2,{0xA2,0x46,0x00,0x00,}},
+ {0xE52D,2,{0xA2,0x47,0x00,0x00,}},
+ {0xE52E,2,{0xA2,0x48,0x00,0x00,}},
+ {0xE52F,2,{0xA2,0x49,0x00,0x00,}},
+ {0xE530,2,{0xA2,0x4A,0x00,0x00,}},
+ {0xE531,2,{0xA2,0x4B,0x00,0x00,}},
+ {0xE532,2,{0xA2,0x4C,0x00,0x00,}},
+ {0xE533,2,{0xA2,0x4D,0x00,0x00,}},
+ {0xE534,2,{0xA2,0x4E,0x00,0x00,}},
+ {0xE535,2,{0xA2,0x4F,0x00,0x00,}},
+ {0xE536,2,{0xA2,0x50,0x00,0x00,}},
+ {0xE537,2,{0xA2,0x51,0x00,0x00,}},
+ {0xE538,2,{0xA2,0x52,0x00,0x00,}},
+ {0xE539,2,{0xA2,0x53,0x00,0x00,}},
+ {0xE53A,2,{0xA2,0x54,0x00,0x00,}},
+ {0xE53B,2,{0xA2,0x55,0x00,0x00,}},
+ {0xE53C,2,{0xA2,0x56,0x00,0x00,}},
+ {0xE53D,2,{0xA2,0x57,0x00,0x00,}},
+ {0xE53E,2,{0xA2,0x58,0x00,0x00,}},
+ {0xE53F,2,{0xA2,0x59,0x00,0x00,}},
+ {0xE540,2,{0xA2,0x5A,0x00,0x00,}},
+ {0xE541,2,{0xA2,0x5B,0x00,0x00,}},
+ {0xE542,2,{0xA2,0x5C,0x00,0x00,}},
+ {0xE543,2,{0xA2,0x5D,0x00,0x00,}},
+ {0xE544,2,{0xA2,0x5E,0x00,0x00,}},
+ {0xE545,2,{0xA2,0x5F,0x00,0x00,}},
+ {0xE546,2,{0xA2,0x60,0x00,0x00,}},
+ {0xE547,2,{0xA2,0x61,0x00,0x00,}},
+ {0xE548,2,{0xA2,0x62,0x00,0x00,}},
+ {0xE549,2,{0xA2,0x63,0x00,0x00,}},
+ {0xE54A,2,{0xA2,0x64,0x00,0x00,}},
+ {0xE54B,2,{0xA2,0x65,0x00,0x00,}},
+ {0xE54C,2,{0xA2,0x66,0x00,0x00,}},
+ {0xE54D,2,{0xA2,0x67,0x00,0x00,}},
+ {0xE54E,2,{0xA2,0x68,0x00,0x00,}},
+ {0xE54F,2,{0xA2,0x69,0x00,0x00,}},
+ {0xE550,2,{0xA2,0x6A,0x00,0x00,}},
+ {0xE551,2,{0xA2,0x6B,0x00,0x00,}},
+ {0xE552,2,{0xA2,0x6C,0x00,0x00,}},
+ {0xE553,2,{0xA2,0x6D,0x00,0x00,}},
+ {0xE554,2,{0xA2,0x6E,0x00,0x00,}},
+ {0xE555,2,{0xA2,0x6F,0x00,0x00,}},
+ {0xE556,2,{0xA2,0x70,0x00,0x00,}},
+ {0xE557,2,{0xA2,0x71,0x00,0x00,}},
+ {0xE558,2,{0xA2,0x72,0x00,0x00,}},
+ {0xE559,2,{0xA2,0x73,0x00,0x00,}},
+ {0xE55A,2,{0xA2,0x74,0x00,0x00,}},
+ {0xE55B,2,{0xA2,0x75,0x00,0x00,}},
+ {0xE55C,2,{0xA2,0x76,0x00,0x00,}},
+ {0xE55D,2,{0xA2,0x77,0x00,0x00,}},
+ {0xE55E,2,{0xA2,0x78,0x00,0x00,}},
+ {0xE55F,2,{0xA2,0x79,0x00,0x00,}},
+ {0xE560,2,{0xA2,0x7A,0x00,0x00,}},
+ {0xE561,2,{0xA2,0x7B,0x00,0x00,}},
+ {0xE562,2,{0xA2,0x7C,0x00,0x00,}},
+ {0xE563,2,{0xA2,0x7D,0x00,0x00,}},
+ {0xE564,2,{0xA2,0x7E,0x00,0x00,}},
+ {0xE565,2,{0xA2,0x80,0x00,0x00,}},
+ {0xE566,2,{0xA2,0x81,0x00,0x00,}},
+ {0xE567,2,{0xA2,0x82,0x00,0x00,}},
+ {0xE568,2,{0xA2,0x83,0x00,0x00,}},
+ {0xE569,2,{0xA2,0x84,0x00,0x00,}},
+ {0xE56A,2,{0xA2,0x85,0x00,0x00,}},
+ {0xE56B,2,{0xA2,0x86,0x00,0x00,}},
+ {0xE56C,2,{0xA2,0x87,0x00,0x00,}},
+ {0xE56D,2,{0xA2,0x88,0x00,0x00,}},
+ {0xE56E,2,{0xA2,0x89,0x00,0x00,}},
+ {0xE56F,2,{0xA2,0x8A,0x00,0x00,}},
+ {0xE570,2,{0xA2,0x8B,0x00,0x00,}},
+ {0xE571,2,{0xA2,0x8C,0x00,0x00,}},
+ {0xE572,2,{0xA2,0x8D,0x00,0x00,}},
+ {0xE573,2,{0xA2,0x8E,0x00,0x00,}},
+ {0xE574,2,{0xA2,0x8F,0x00,0x00,}},
+ {0xE575,2,{0xA2,0x90,0x00,0x00,}},
+ {0xE576,2,{0xA2,0x91,0x00,0x00,}},
+ {0xE577,2,{0xA2,0x92,0x00,0x00,}},
+ {0xE578,2,{0xA2,0x93,0x00,0x00,}},
+ {0xE579,2,{0xA2,0x94,0x00,0x00,}},
+ {0xE57A,2,{0xA2,0x95,0x00,0x00,}},
+ {0xE57B,2,{0xA2,0x96,0x00,0x00,}},
+ {0xE57C,2,{0xA2,0x97,0x00,0x00,}},
+ {0xE57D,2,{0xA2,0x98,0x00,0x00,}},
+ {0xE57E,2,{0xA2,0x99,0x00,0x00,}},
+ {0xE57F,2,{0xA2,0x9A,0x00,0x00,}},
+ {0xE580,2,{0xA2,0x9B,0x00,0x00,}},
+ {0xE581,2,{0xA2,0x9C,0x00,0x00,}},
+ {0xE582,2,{0xA2,0x9D,0x00,0x00,}},
+ {0xE583,2,{0xA2,0x9E,0x00,0x00,}},
+ {0xE584,2,{0xA2,0x9F,0x00,0x00,}},
+ {0xE585,2,{0xA2,0xA0,0x00,0x00,}},
+ {0xE586,2,{0xA3,0x40,0x00,0x00,}},
+ {0xE587,2,{0xA3,0x41,0x00,0x00,}},
+ {0xE588,2,{0xA3,0x42,0x00,0x00,}},
+ {0xE589,2,{0xA3,0x43,0x00,0x00,}},
+ {0xE58A,2,{0xA3,0x44,0x00,0x00,}},
+ {0xE58B,2,{0xA3,0x45,0x00,0x00,}},
+ {0xE58C,2,{0xA3,0x46,0x00,0x00,}},
+ {0xE58D,2,{0xA3,0x47,0x00,0x00,}},
+ {0xE58E,2,{0xA3,0x48,0x00,0x00,}},
+ {0xE58F,2,{0xA3,0x49,0x00,0x00,}},
+ {0xE590,2,{0xA3,0x4A,0x00,0x00,}},
+ {0xE591,2,{0xA3,0x4B,0x00,0x00,}},
+ {0xE592,2,{0xA3,0x4C,0x00,0x00,}},
+ {0xE593,2,{0xA3,0x4D,0x00,0x00,}},
+ {0xE594,2,{0xA3,0x4E,0x00,0x00,}},
+ {0xE595,2,{0xA3,0x4F,0x00,0x00,}},
+ {0xE596,2,{0xA3,0x50,0x00,0x00,}},
+ {0xE597,2,{0xA3,0x51,0x00,0x00,}},
+ {0xE598,2,{0xA3,0x52,0x00,0x00,}},
+ {0xE599,2,{0xA3,0x53,0x00,0x00,}},
+ {0xE59A,2,{0xA3,0x54,0x00,0x00,}},
+ {0xE59B,2,{0xA3,0x55,0x00,0x00,}},
+ {0xE59C,2,{0xA3,0x56,0x00,0x00,}},
+ {0xE59D,2,{0xA3,0x57,0x00,0x00,}},
+ {0xE59E,2,{0xA3,0x58,0x00,0x00,}},
+ {0xE59F,2,{0xA3,0x59,0x00,0x00,}},
+ {0xE5A0,2,{0xA3,0x5A,0x00,0x00,}},
+ {0xE5A1,2,{0xA3,0x5B,0x00,0x00,}},
+ {0xE5A2,2,{0xA3,0x5C,0x00,0x00,}},
+ {0xE5A3,2,{0xA3,0x5D,0x00,0x00,}},
+ {0xE5A4,2,{0xA3,0x5E,0x00,0x00,}},
+ {0xE5A5,2,{0xA3,0x5F,0x00,0x00,}},
+ {0xE5A6,2,{0xA3,0x60,0x00,0x00,}},
+ {0xE5A7,2,{0xA3,0x61,0x00,0x00,}},
+ {0xE5A8,2,{0xA3,0x62,0x00,0x00,}},
+ {0xE5A9,2,{0xA3,0x63,0x00,0x00,}},
+ {0xE5AA,2,{0xA3,0x64,0x00,0x00,}},
+ {0xE5AB,2,{0xA3,0x65,0x00,0x00,}},
+ {0xE5AC,2,{0xA3,0x66,0x00,0x00,}},
+ {0xE5AD,2,{0xA3,0x67,0x00,0x00,}},
+ {0xE5AE,2,{0xA3,0x68,0x00,0x00,}},
+ {0xE5AF,2,{0xA3,0x69,0x00,0x00,}},
+ {0xE5B0,2,{0xA3,0x6A,0x00,0x00,}},
+ {0xE5B1,2,{0xA3,0x6B,0x00,0x00,}},
+ {0xE5B2,2,{0xA3,0x6C,0x00,0x00,}},
+ {0xE5B3,2,{0xA3,0x6D,0x00,0x00,}},
+ {0xE5B4,2,{0xA3,0x6E,0x00,0x00,}},
+ {0xE5B5,2,{0xA3,0x6F,0x00,0x00,}},
+ {0xE5B6,2,{0xA3,0x70,0x00,0x00,}},
+ {0xE5B7,2,{0xA3,0x71,0x00,0x00,}},
+ {0xE5B8,2,{0xA3,0x72,0x00,0x00,}},
+ {0xE5B9,2,{0xA3,0x73,0x00,0x00,}},
+ {0xE5BA,2,{0xA3,0x74,0x00,0x00,}},
+ {0xE5BB,2,{0xA3,0x75,0x00,0x00,}},
+ {0xE5BC,2,{0xA3,0x76,0x00,0x00,}},
+ {0xE5BD,2,{0xA3,0x77,0x00,0x00,}},
+ {0xE5BE,2,{0xA3,0x78,0x00,0x00,}},
+ {0xE5BF,2,{0xA3,0x79,0x00,0x00,}},
+ {0xE5C0,2,{0xA3,0x7A,0x00,0x00,}},
+ {0xE5C1,2,{0xA3,0x7B,0x00,0x00,}},
+ {0xE5C2,2,{0xA3,0x7C,0x00,0x00,}},
+ {0xE5C3,2,{0xA3,0x7D,0x00,0x00,}},
+ {0xE5C4,2,{0xA3,0x7E,0x00,0x00,}},
+ {0xE5C5,2,{0xA3,0x80,0x00,0x00,}},
+ {0xE5C6,2,{0xA3,0x81,0x00,0x00,}},
+ {0xE5C7,2,{0xA3,0x82,0x00,0x00,}},
+ {0xE5C8,2,{0xA3,0x83,0x00,0x00,}},
+ {0xE5C9,2,{0xA3,0x84,0x00,0x00,}},
+ {0xE5CA,2,{0xA3,0x85,0x00,0x00,}},
+ {0xE5CB,2,{0xA3,0x86,0x00,0x00,}},
+ {0xE5CC,2,{0xA3,0x87,0x00,0x00,}},
+ {0xE5CD,2,{0xA3,0x88,0x00,0x00,}},
+ {0xE5CE,2,{0xA3,0x89,0x00,0x00,}},
+ {0xE5CF,2,{0xA3,0x8A,0x00,0x00,}},
+ {0xE5D0,2,{0xA3,0x8B,0x00,0x00,}},
+ {0xE5D1,2,{0xA3,0x8C,0x00,0x00,}},
+ {0xE5D2,2,{0xA3,0x8D,0x00,0x00,}},
+ {0xE5D3,2,{0xA3,0x8E,0x00,0x00,}},
+ {0xE5D4,2,{0xA3,0x8F,0x00,0x00,}},
+ {0xE5D5,2,{0xA3,0x90,0x00,0x00,}},
+ {0xE5D6,2,{0xA3,0x91,0x00,0x00,}},
+ {0xE5D7,2,{0xA3,0x92,0x00,0x00,}},
+ {0xE5D8,2,{0xA3,0x93,0x00,0x00,}},
+ {0xE5D9,2,{0xA3,0x94,0x00,0x00,}},
+ {0xE5DA,2,{0xA3,0x95,0x00,0x00,}},
+ {0xE5DB,2,{0xA3,0x96,0x00,0x00,}},
+ {0xE5DC,2,{0xA3,0x97,0x00,0x00,}},
+ {0xE5DD,2,{0xA3,0x98,0x00,0x00,}},
+ {0xE5DE,2,{0xA3,0x99,0x00,0x00,}},
+ {0xE5DF,2,{0xA3,0x9A,0x00,0x00,}},
+ {0xE5E0,2,{0xA3,0x9B,0x00,0x00,}},
+ {0xE5E1,2,{0xA3,0x9C,0x00,0x00,}},
+ {0xE5E2,2,{0xA3,0x9D,0x00,0x00,}},
+ {0xE5E3,2,{0xA3,0x9E,0x00,0x00,}},
+ {0xE5E4,2,{0xA3,0x9F,0x00,0x00,}},
+ {0xE5E5,2,{0xA3,0xA0,0x00,0x00,}},
+ {0xE5E6,2,{0xA4,0x40,0x00,0x00,}},
+ {0xE5E7,2,{0xA4,0x41,0x00,0x00,}},
+ {0xE5E8,2,{0xA4,0x42,0x00,0x00,}},
+ {0xE5E9,2,{0xA4,0x43,0x00,0x00,}},
+ {0xE5EA,2,{0xA4,0x44,0x00,0x00,}},
+ {0xE5EB,2,{0xA4,0x45,0x00,0x00,}},
+ {0xE5EC,2,{0xA4,0x46,0x00,0x00,}},
+ {0xE5ED,2,{0xA4,0x47,0x00,0x00,}},
+ {0xE5EE,2,{0xA4,0x48,0x00,0x00,}},
+ {0xE5EF,2,{0xA4,0x49,0x00,0x00,}},
+ {0xE5F0,2,{0xA4,0x4A,0x00,0x00,}},
+ {0xE5F1,2,{0xA4,0x4B,0x00,0x00,}},
+ {0xE5F2,2,{0xA4,0x4C,0x00,0x00,}},
+ {0xE5F3,2,{0xA4,0x4D,0x00,0x00,}},
+ {0xE5F4,2,{0xA4,0x4E,0x00,0x00,}},
+ {0xE5F5,2,{0xA4,0x4F,0x00,0x00,}},
+ {0xE5F6,2,{0xA4,0x50,0x00,0x00,}},
+ {0xE5F7,2,{0xA4,0x51,0x00,0x00,}},
+ {0xE5F8,2,{0xA4,0x52,0x00,0x00,}},
+ {0xE5F9,2,{0xA4,0x53,0x00,0x00,}},
+ {0xE5FA,2,{0xA4,0x54,0x00,0x00,}},
+ {0xE5FB,2,{0xA4,0x55,0x00,0x00,}},
+ {0xE5FC,2,{0xA4,0x56,0x00,0x00,}},
+ {0xE5FD,2,{0xA4,0x57,0x00,0x00,}},
+ {0xE5FE,2,{0xA4,0x58,0x00,0x00,}},
+ {0xE5FF,2,{0xA4,0x59,0x00,0x00,}},
+ {0xE600,2,{0xA4,0x5A,0x00,0x00,}},
+ {0xE601,2,{0xA4,0x5B,0x00,0x00,}},
+ {0xE602,2,{0xA4,0x5C,0x00,0x00,}},
+ {0xE603,2,{0xA4,0x5D,0x00,0x00,}},
+ {0xE604,2,{0xA4,0x5E,0x00,0x00,}},
+ {0xE605,2,{0xA4,0x5F,0x00,0x00,}},
+ {0xE606,2,{0xA4,0x60,0x00,0x00,}},
+ {0xE607,2,{0xA4,0x61,0x00,0x00,}},
+ {0xE608,2,{0xA4,0x62,0x00,0x00,}},
+ {0xE609,2,{0xA4,0x63,0x00,0x00,}},
+ {0xE60A,2,{0xA4,0x64,0x00,0x00,}},
+ {0xE60B,2,{0xA4,0x65,0x00,0x00,}},
+ {0xE60C,2,{0xA4,0x66,0x00,0x00,}},
+ {0xE60D,2,{0xA4,0x67,0x00,0x00,}},
+ {0xE60E,2,{0xA4,0x68,0x00,0x00,}},
+ {0xE60F,2,{0xA4,0x69,0x00,0x00,}},
+ {0xE610,2,{0xA4,0x6A,0x00,0x00,}},
+ {0xE611,2,{0xA4,0x6B,0x00,0x00,}},
+ {0xE612,2,{0xA4,0x6C,0x00,0x00,}},
+ {0xE613,2,{0xA4,0x6D,0x00,0x00,}},
+ {0xE614,2,{0xA4,0x6E,0x00,0x00,}},
+ {0xE615,2,{0xA4,0x6F,0x00,0x00,}},
+ {0xE616,2,{0xA4,0x70,0x00,0x00,}},
+ {0xE617,2,{0xA4,0x71,0x00,0x00,}},
+ {0xE618,2,{0xA4,0x72,0x00,0x00,}},
+ {0xE619,2,{0xA4,0x73,0x00,0x00,}},
+ {0xE61A,2,{0xA4,0x74,0x00,0x00,}},
+ {0xE61B,2,{0xA4,0x75,0x00,0x00,}},
+ {0xE61C,2,{0xA4,0x76,0x00,0x00,}},
+ {0xE61D,2,{0xA4,0x77,0x00,0x00,}},
+ {0xE61E,2,{0xA4,0x78,0x00,0x00,}},
+ {0xE61F,2,{0xA4,0x79,0x00,0x00,}},
+ {0xE620,2,{0xA4,0x7A,0x00,0x00,}},
+ {0xE621,2,{0xA4,0x7B,0x00,0x00,}},
+ {0xE622,2,{0xA4,0x7C,0x00,0x00,}},
+ {0xE623,2,{0xA4,0x7D,0x00,0x00,}},
+ {0xE624,2,{0xA4,0x7E,0x00,0x00,}},
+ {0xE625,2,{0xA4,0x80,0x00,0x00,}},
+ {0xE626,2,{0xA4,0x81,0x00,0x00,}},
+ {0xE627,2,{0xA4,0x82,0x00,0x00,}},
+ {0xE628,2,{0xA4,0x83,0x00,0x00,}},
+ {0xE629,2,{0xA4,0x84,0x00,0x00,}},
+ {0xE62A,2,{0xA4,0x85,0x00,0x00,}},
+ {0xE62B,2,{0xA4,0x86,0x00,0x00,}},
+ {0xE62C,2,{0xA4,0x87,0x00,0x00,}},
+ {0xE62D,2,{0xA4,0x88,0x00,0x00,}},
+ {0xE62E,2,{0xA4,0x89,0x00,0x00,}},
+ {0xE62F,2,{0xA4,0x8A,0x00,0x00,}},
+ {0xE630,2,{0xA4,0x8B,0x00,0x00,}},
+ {0xE631,2,{0xA4,0x8C,0x00,0x00,}},
+ {0xE632,2,{0xA4,0x8D,0x00,0x00,}},
+ {0xE633,2,{0xA4,0x8E,0x00,0x00,}},
+ {0xE634,2,{0xA4,0x8F,0x00,0x00,}},
+ {0xE635,2,{0xA4,0x90,0x00,0x00,}},
+ {0xE636,2,{0xA4,0x91,0x00,0x00,}},
+ {0xE637,2,{0xA4,0x92,0x00,0x00,}},
+ {0xE638,2,{0xA4,0x93,0x00,0x00,}},
+ {0xE639,2,{0xA4,0x94,0x00,0x00,}},
+ {0xE63A,2,{0xA4,0x95,0x00,0x00,}},
+ {0xE63B,2,{0xA4,0x96,0x00,0x00,}},
+ {0xE63C,2,{0xA4,0x97,0x00,0x00,}},
+ {0xE63D,2,{0xA4,0x98,0x00,0x00,}},
+ {0xE63E,2,{0xA4,0x99,0x00,0x00,}},
+ {0xE63F,2,{0xA4,0x9A,0x00,0x00,}},
+ {0xE640,2,{0xA4,0x9B,0x00,0x00,}},
+ {0xE641,2,{0xA4,0x9C,0x00,0x00,}},
+ {0xE642,2,{0xA4,0x9D,0x00,0x00,}},
+ {0xE643,2,{0xA4,0x9E,0x00,0x00,}},
+ {0xE644,2,{0xA4,0x9F,0x00,0x00,}},
+ {0xE645,2,{0xA4,0xA0,0x00,0x00,}},
+ {0xE646,2,{0xA5,0x40,0x00,0x00,}},
+ {0xE647,2,{0xA5,0x41,0x00,0x00,}},
+ {0xE648,2,{0xA5,0x42,0x00,0x00,}},
+ {0xE649,2,{0xA5,0x43,0x00,0x00,}},
+ {0xE64A,2,{0xA5,0x44,0x00,0x00,}},
+ {0xE64B,2,{0xA5,0x45,0x00,0x00,}},
+ {0xE64C,2,{0xA5,0x46,0x00,0x00,}},
+ {0xE64D,2,{0xA5,0x47,0x00,0x00,}},
+ {0xE64E,2,{0xA5,0x48,0x00,0x00,}},
+ {0xE64F,2,{0xA5,0x49,0x00,0x00,}},
+ {0xE650,2,{0xA5,0x4A,0x00,0x00,}},
+ {0xE651,2,{0xA5,0x4B,0x00,0x00,}},
+ {0xE652,2,{0xA5,0x4C,0x00,0x00,}},
+ {0xE653,2,{0xA5,0x4D,0x00,0x00,}},
+ {0xE654,2,{0xA5,0x4E,0x00,0x00,}},
+ {0xE655,2,{0xA5,0x4F,0x00,0x00,}},
+ {0xE656,2,{0xA5,0x50,0x00,0x00,}},
+ {0xE657,2,{0xA5,0x51,0x00,0x00,}},
+ {0xE658,2,{0xA5,0x52,0x00,0x00,}},
+ {0xE659,2,{0xA5,0x53,0x00,0x00,}},
+ {0xE65A,2,{0xA5,0x54,0x00,0x00,}},
+ {0xE65B,2,{0xA5,0x55,0x00,0x00,}},
+ {0xE65C,2,{0xA5,0x56,0x00,0x00,}},
+ {0xE65D,2,{0xA5,0x57,0x00,0x00,}},
+ {0xE65E,2,{0xA5,0x58,0x00,0x00,}},
+ {0xE65F,2,{0xA5,0x59,0x00,0x00,}},
+ {0xE660,2,{0xA5,0x5A,0x00,0x00,}},
+ {0xE661,2,{0xA5,0x5B,0x00,0x00,}},
+ {0xE662,2,{0xA5,0x5C,0x00,0x00,}},
+ {0xE663,2,{0xA5,0x5D,0x00,0x00,}},
+ {0xE664,2,{0xA5,0x5E,0x00,0x00,}},
+ {0xE665,2,{0xA5,0x5F,0x00,0x00,}},
+ {0xE666,2,{0xA5,0x60,0x00,0x00,}},
+ {0xE667,2,{0xA5,0x61,0x00,0x00,}},
+ {0xE668,2,{0xA5,0x62,0x00,0x00,}},
+ {0xE669,2,{0xA5,0x63,0x00,0x00,}},
+ {0xE66A,2,{0xA5,0x64,0x00,0x00,}},
+ {0xE66B,2,{0xA5,0x65,0x00,0x00,}},
+ {0xE66C,2,{0xA5,0x66,0x00,0x00,}},
+ {0xE66D,2,{0xA5,0x67,0x00,0x00,}},
+ {0xE66E,2,{0xA5,0x68,0x00,0x00,}},
+ {0xE66F,2,{0xA5,0x69,0x00,0x00,}},
+ {0xE670,2,{0xA5,0x6A,0x00,0x00,}},
+ {0xE671,2,{0xA5,0x6B,0x00,0x00,}},
+ {0xE672,2,{0xA5,0x6C,0x00,0x00,}},
+ {0xE673,2,{0xA5,0x6D,0x00,0x00,}},
+ {0xE674,2,{0xA5,0x6E,0x00,0x00,}},
+ {0xE675,2,{0xA5,0x6F,0x00,0x00,}},
+ {0xE676,2,{0xA5,0x70,0x00,0x00,}},
+ {0xE677,2,{0xA5,0x71,0x00,0x00,}},
+ {0xE678,2,{0xA5,0x72,0x00,0x00,}},
+ {0xE679,2,{0xA5,0x73,0x00,0x00,}},
+ {0xE67A,2,{0xA5,0x74,0x00,0x00,}},
+ {0xE67B,2,{0xA5,0x75,0x00,0x00,}},
+ {0xE67C,2,{0xA5,0x76,0x00,0x00,}},
+ {0xE67D,2,{0xA5,0x77,0x00,0x00,}},
+ {0xE67E,2,{0xA5,0x78,0x00,0x00,}},
+ {0xE67F,2,{0xA5,0x79,0x00,0x00,}},
+ {0xE680,2,{0xA5,0x7A,0x00,0x00,}},
+ {0xE681,2,{0xA5,0x7B,0x00,0x00,}},
+ {0xE682,2,{0xA5,0x7C,0x00,0x00,}},
+ {0xE683,2,{0xA5,0x7D,0x00,0x00,}},
+ {0xE684,2,{0xA5,0x7E,0x00,0x00,}},
+ {0xE685,2,{0xA5,0x80,0x00,0x00,}},
+ {0xE686,2,{0xA5,0x81,0x00,0x00,}},
+ {0xE687,2,{0xA5,0x82,0x00,0x00,}},
+ {0xE688,2,{0xA5,0x83,0x00,0x00,}},
+ {0xE689,2,{0xA5,0x84,0x00,0x00,}},
+ {0xE68A,2,{0xA5,0x85,0x00,0x00,}},
+ {0xE68B,2,{0xA5,0x86,0x00,0x00,}},
+ {0xE68C,2,{0xA5,0x87,0x00,0x00,}},
+ {0xE68D,2,{0xA5,0x88,0x00,0x00,}},
+ {0xE68E,2,{0xA5,0x89,0x00,0x00,}},
+ {0xE68F,2,{0xA5,0x8A,0x00,0x00,}},
+ {0xE690,2,{0xA5,0x8B,0x00,0x00,}},
+ {0xE691,2,{0xA5,0x8C,0x00,0x00,}},
+ {0xE692,2,{0xA5,0x8D,0x00,0x00,}},
+ {0xE693,2,{0xA5,0x8E,0x00,0x00,}},
+ {0xE694,2,{0xA5,0x8F,0x00,0x00,}},
+ {0xE695,2,{0xA5,0x90,0x00,0x00,}},
+ {0xE696,2,{0xA5,0x91,0x00,0x00,}},
+ {0xE697,2,{0xA5,0x92,0x00,0x00,}},
+ {0xE698,2,{0xA5,0x93,0x00,0x00,}},
+ {0xE699,2,{0xA5,0x94,0x00,0x00,}},
+ {0xE69A,2,{0xA5,0x95,0x00,0x00,}},
+ {0xE69B,2,{0xA5,0x96,0x00,0x00,}},
+ {0xE69C,2,{0xA5,0x97,0x00,0x00,}},
+ {0xE69D,2,{0xA5,0x98,0x00,0x00,}},
+ {0xE69E,2,{0xA5,0x99,0x00,0x00,}},
+ {0xE69F,2,{0xA5,0x9A,0x00,0x00,}},
+ {0xE6A0,2,{0xA5,0x9B,0x00,0x00,}},
+ {0xE6A1,2,{0xA5,0x9C,0x00,0x00,}},
+ {0xE6A2,2,{0xA5,0x9D,0x00,0x00,}},
+ {0xE6A3,2,{0xA5,0x9E,0x00,0x00,}},
+ {0xE6A4,2,{0xA5,0x9F,0x00,0x00,}},
+ {0xE6A5,2,{0xA5,0xA0,0x00,0x00,}},
+ {0xE6A6,2,{0xA6,0x40,0x00,0x00,}},
+ {0xE6A7,2,{0xA6,0x41,0x00,0x00,}},
+ {0xE6A8,2,{0xA6,0x42,0x00,0x00,}},
+ {0xE6A9,2,{0xA6,0x43,0x00,0x00,}},
+ {0xE6AA,2,{0xA6,0x44,0x00,0x00,}},
+ {0xE6AB,2,{0xA6,0x45,0x00,0x00,}},
+ {0xE6AC,2,{0xA6,0x46,0x00,0x00,}},
+ {0xE6AD,2,{0xA6,0x47,0x00,0x00,}},
+ {0xE6AE,2,{0xA6,0x48,0x00,0x00,}},
+ {0xE6AF,2,{0xA6,0x49,0x00,0x00,}},
+ {0xE6B0,2,{0xA6,0x4A,0x00,0x00,}},
+ {0xE6B1,2,{0xA6,0x4B,0x00,0x00,}},
+ {0xE6B2,2,{0xA6,0x4C,0x00,0x00,}},
+ {0xE6B3,2,{0xA6,0x4D,0x00,0x00,}},
+ {0xE6B4,2,{0xA6,0x4E,0x00,0x00,}},
+ {0xE6B5,2,{0xA6,0x4F,0x00,0x00,}},
+ {0xE6B6,2,{0xA6,0x50,0x00,0x00,}},
+ {0xE6B7,2,{0xA6,0x51,0x00,0x00,}},
+ {0xE6B8,2,{0xA6,0x52,0x00,0x00,}},
+ {0xE6B9,2,{0xA6,0x53,0x00,0x00,}},
+ {0xE6BA,2,{0xA6,0x54,0x00,0x00,}},
+ {0xE6BB,2,{0xA6,0x55,0x00,0x00,}},
+ {0xE6BC,2,{0xA6,0x56,0x00,0x00,}},
+ {0xE6BD,2,{0xA6,0x57,0x00,0x00,}},
+ {0xE6BE,2,{0xA6,0x58,0x00,0x00,}},
+ {0xE6BF,2,{0xA6,0x59,0x00,0x00,}},
+ {0xE6C0,2,{0xA6,0x5A,0x00,0x00,}},
+ {0xE6C1,2,{0xA6,0x5B,0x00,0x00,}},
+ {0xE6C2,2,{0xA6,0x5C,0x00,0x00,}},
+ {0xE6C3,2,{0xA6,0x5D,0x00,0x00,}},
+ {0xE6C4,2,{0xA6,0x5E,0x00,0x00,}},
+ {0xE6C5,2,{0xA6,0x5F,0x00,0x00,}},
+ {0xE6C6,2,{0xA6,0x60,0x00,0x00,}},
+ {0xE6C7,2,{0xA6,0x61,0x00,0x00,}},
+ {0xE6C8,2,{0xA6,0x62,0x00,0x00,}},
+ {0xE6C9,2,{0xA6,0x63,0x00,0x00,}},
+ {0xE6CA,2,{0xA6,0x64,0x00,0x00,}},
+ {0xE6CB,2,{0xA6,0x65,0x00,0x00,}},
+ {0xE6CC,2,{0xA6,0x66,0x00,0x00,}},
+ {0xE6CD,2,{0xA6,0x67,0x00,0x00,}},
+ {0xE6CE,2,{0xA6,0x68,0x00,0x00,}},
+ {0xE6CF,2,{0xA6,0x69,0x00,0x00,}},
+ {0xE6D0,2,{0xA6,0x6A,0x00,0x00,}},
+ {0xE6D1,2,{0xA6,0x6B,0x00,0x00,}},
+ {0xE6D2,2,{0xA6,0x6C,0x00,0x00,}},
+ {0xE6D3,2,{0xA6,0x6D,0x00,0x00,}},
+ {0xE6D4,2,{0xA6,0x6E,0x00,0x00,}},
+ {0xE6D5,2,{0xA6,0x6F,0x00,0x00,}},
+ {0xE6D6,2,{0xA6,0x70,0x00,0x00,}},
+ {0xE6D7,2,{0xA6,0x71,0x00,0x00,}},
+ {0xE6D8,2,{0xA6,0x72,0x00,0x00,}},
+ {0xE6D9,2,{0xA6,0x73,0x00,0x00,}},
+ {0xE6DA,2,{0xA6,0x74,0x00,0x00,}},
+ {0xE6DB,2,{0xA6,0x75,0x00,0x00,}},
+ {0xE6DC,2,{0xA6,0x76,0x00,0x00,}},
+ {0xE6DD,2,{0xA6,0x77,0x00,0x00,}},
+ {0xE6DE,2,{0xA6,0x78,0x00,0x00,}},
+ {0xE6DF,2,{0xA6,0x79,0x00,0x00,}},
+ {0xE6E0,2,{0xA6,0x7A,0x00,0x00,}},
+ {0xE6E1,2,{0xA6,0x7B,0x00,0x00,}},
+ {0xE6E2,2,{0xA6,0x7C,0x00,0x00,}},
+ {0xE6E3,2,{0xA6,0x7D,0x00,0x00,}},
+ {0xE6E4,2,{0xA6,0x7E,0x00,0x00,}},
+ {0xE6E5,2,{0xA6,0x80,0x00,0x00,}},
+ {0xE6E6,2,{0xA6,0x81,0x00,0x00,}},
+ {0xE6E7,2,{0xA6,0x82,0x00,0x00,}},
+ {0xE6E8,2,{0xA6,0x83,0x00,0x00,}},
+ {0xE6E9,2,{0xA6,0x84,0x00,0x00,}},
+ {0xE6EA,2,{0xA6,0x85,0x00,0x00,}},
+ {0xE6EB,2,{0xA6,0x86,0x00,0x00,}},
+ {0xE6EC,2,{0xA6,0x87,0x00,0x00,}},
+ {0xE6ED,2,{0xA6,0x88,0x00,0x00,}},
+ {0xE6EE,2,{0xA6,0x89,0x00,0x00,}},
+ {0xE6EF,2,{0xA6,0x8A,0x00,0x00,}},
+ {0xE6F0,2,{0xA6,0x8B,0x00,0x00,}},
+ {0xE6F1,2,{0xA6,0x8C,0x00,0x00,}},
+ {0xE6F2,2,{0xA6,0x8D,0x00,0x00,}},
+ {0xE6F3,2,{0xA6,0x8E,0x00,0x00,}},
+ {0xE6F4,2,{0xA6,0x8F,0x00,0x00,}},
+ {0xE6F5,2,{0xA6,0x90,0x00,0x00,}},
+ {0xE6F6,2,{0xA6,0x91,0x00,0x00,}},
+ {0xE6F7,2,{0xA6,0x92,0x00,0x00,}},
+ {0xE6F8,2,{0xA6,0x93,0x00,0x00,}},
+ {0xE6F9,2,{0xA6,0x94,0x00,0x00,}},
+ {0xE6FA,2,{0xA6,0x95,0x00,0x00,}},
+ {0xE6FB,2,{0xA6,0x96,0x00,0x00,}},
+ {0xE6FC,2,{0xA6,0x97,0x00,0x00,}},
+ {0xE6FD,2,{0xA6,0x98,0x00,0x00,}},
+ {0xE6FE,2,{0xA6,0x99,0x00,0x00,}},
+ {0xE6FF,2,{0xA6,0x9A,0x00,0x00,}},
+ {0xE700,2,{0xA6,0x9B,0x00,0x00,}},
+ {0xE701,2,{0xA6,0x9C,0x00,0x00,}},
+ {0xE702,2,{0xA6,0x9D,0x00,0x00,}},
+ {0xE703,2,{0xA6,0x9E,0x00,0x00,}},
+ {0xE704,2,{0xA6,0x9F,0x00,0x00,}},
+ {0xE705,2,{0xA6,0xA0,0x00,0x00,}},
+ {0xE706,2,{0xA7,0x40,0x00,0x00,}},
+ {0xE707,2,{0xA7,0x41,0x00,0x00,}},
+ {0xE708,2,{0xA7,0x42,0x00,0x00,}},
+ {0xE709,2,{0xA7,0x43,0x00,0x00,}},
+ {0xE70A,2,{0xA7,0x44,0x00,0x00,}},
+ {0xE70B,2,{0xA7,0x45,0x00,0x00,}},
+ {0xE70C,2,{0xA7,0x46,0x00,0x00,}},
+ {0xE70D,2,{0xA7,0x47,0x00,0x00,}},
+ {0xE70E,2,{0xA7,0x48,0x00,0x00,}},
+ {0xE70F,2,{0xA7,0x49,0x00,0x00,}},
+ {0xE710,2,{0xA7,0x4A,0x00,0x00,}},
+ {0xE711,2,{0xA7,0x4B,0x00,0x00,}},
+ {0xE712,2,{0xA7,0x4C,0x00,0x00,}},
+ {0xE713,2,{0xA7,0x4D,0x00,0x00,}},
+ {0xE714,2,{0xA7,0x4E,0x00,0x00,}},
+ {0xE715,2,{0xA7,0x4F,0x00,0x00,}},
+ {0xE716,2,{0xA7,0x50,0x00,0x00,}},
+ {0xE717,2,{0xA7,0x51,0x00,0x00,}},
+ {0xE718,2,{0xA7,0x52,0x00,0x00,}},
+ {0xE719,2,{0xA7,0x53,0x00,0x00,}},
+ {0xE71A,2,{0xA7,0x54,0x00,0x00,}},
+ {0xE71B,2,{0xA7,0x55,0x00,0x00,}},
+ {0xE71C,2,{0xA7,0x56,0x00,0x00,}},
+ {0xE71D,2,{0xA7,0x57,0x00,0x00,}},
+ {0xE71E,2,{0xA7,0x58,0x00,0x00,}},
+ {0xE71F,2,{0xA7,0x59,0x00,0x00,}},
+ {0xE720,2,{0xA7,0x5A,0x00,0x00,}},
+ {0xE721,2,{0xA7,0x5B,0x00,0x00,}},
+ {0xE722,2,{0xA7,0x5C,0x00,0x00,}},
+ {0xE723,2,{0xA7,0x5D,0x00,0x00,}},
+ {0xE724,2,{0xA7,0x5E,0x00,0x00,}},
+ {0xE725,2,{0xA7,0x5F,0x00,0x00,}},
+ {0xE726,2,{0xA7,0x60,0x00,0x00,}},
+ {0xE727,2,{0xA7,0x61,0x00,0x00,}},
+ {0xE728,2,{0xA7,0x62,0x00,0x00,}},
+ {0xE729,2,{0xA7,0x63,0x00,0x00,}},
+ {0xE72A,2,{0xA7,0x64,0x00,0x00,}},
+ {0xE72B,2,{0xA7,0x65,0x00,0x00,}},
+ {0xE72C,2,{0xA7,0x66,0x00,0x00,}},
+ {0xE72D,2,{0xA7,0x67,0x00,0x00,}},
+ {0xE72E,2,{0xA7,0x68,0x00,0x00,}},
+ {0xE72F,2,{0xA7,0x69,0x00,0x00,}},
+ {0xE730,2,{0xA7,0x6A,0x00,0x00,}},
+ {0xE731,2,{0xA7,0x6B,0x00,0x00,}},
+ {0xE732,2,{0xA7,0x6C,0x00,0x00,}},
+ {0xE733,2,{0xA7,0x6D,0x00,0x00,}},
+ {0xE734,2,{0xA7,0x6E,0x00,0x00,}},
+ {0xE735,2,{0xA7,0x6F,0x00,0x00,}},
+ {0xE736,2,{0xA7,0x70,0x00,0x00,}},
+ {0xE737,2,{0xA7,0x71,0x00,0x00,}},
+ {0xE738,2,{0xA7,0x72,0x00,0x00,}},
+ {0xE739,2,{0xA7,0x73,0x00,0x00,}},
+ {0xE73A,2,{0xA7,0x74,0x00,0x00,}},
+ {0xE73B,2,{0xA7,0x75,0x00,0x00,}},
+ {0xE73C,2,{0xA7,0x76,0x00,0x00,}},
+ {0xE73D,2,{0xA7,0x77,0x00,0x00,}},
+ {0xE73E,2,{0xA7,0x78,0x00,0x00,}},
+ {0xE73F,2,{0xA7,0x79,0x00,0x00,}},
+ {0xE740,2,{0xA7,0x7A,0x00,0x00,}},
+ {0xE741,2,{0xA7,0x7B,0x00,0x00,}},
+ {0xE742,2,{0xA7,0x7C,0x00,0x00,}},
+ {0xE743,2,{0xA7,0x7D,0x00,0x00,}},
+ {0xE744,2,{0xA7,0x7E,0x00,0x00,}},
+ {0xE745,2,{0xA7,0x80,0x00,0x00,}},
+ {0xE746,2,{0xA7,0x81,0x00,0x00,}},
+ {0xE747,2,{0xA7,0x82,0x00,0x00,}},
+ {0xE748,2,{0xA7,0x83,0x00,0x00,}},
+ {0xE749,2,{0xA7,0x84,0x00,0x00,}},
+ {0xE74A,2,{0xA7,0x85,0x00,0x00,}},
+ {0xE74B,2,{0xA7,0x86,0x00,0x00,}},
+ {0xE74C,2,{0xA7,0x87,0x00,0x00,}},
+ {0xE74D,2,{0xA7,0x88,0x00,0x00,}},
+ {0xE74E,2,{0xA7,0x89,0x00,0x00,}},
+ {0xE74F,2,{0xA7,0x8A,0x00,0x00,}},
+ {0xE750,2,{0xA7,0x8B,0x00,0x00,}},
+ {0xE751,2,{0xA7,0x8C,0x00,0x00,}},
+ {0xE752,2,{0xA7,0x8D,0x00,0x00,}},
+ {0xE753,2,{0xA7,0x8E,0x00,0x00,}},
+ {0xE754,2,{0xA7,0x8F,0x00,0x00,}},
+ {0xE755,2,{0xA7,0x90,0x00,0x00,}},
+ {0xE756,2,{0xA7,0x91,0x00,0x00,}},
+ {0xE757,2,{0xA7,0x92,0x00,0x00,}},
+ {0xE758,2,{0xA7,0x93,0x00,0x00,}},
+ {0xE759,2,{0xA7,0x94,0x00,0x00,}},
+ {0xE75A,2,{0xA7,0x95,0x00,0x00,}},
+ {0xE75B,2,{0xA7,0x96,0x00,0x00,}},
+ {0xE75C,2,{0xA7,0x97,0x00,0x00,}},
+ {0xE75D,2,{0xA7,0x98,0x00,0x00,}},
+ {0xE75E,2,{0xA7,0x99,0x00,0x00,}},
+ {0xE75F,2,{0xA7,0x9A,0x00,0x00,}},
+ {0xE760,2,{0xA7,0x9B,0x00,0x00,}},
+ {0xE761,2,{0xA7,0x9C,0x00,0x00,}},
+ {0xE762,2,{0xA7,0x9D,0x00,0x00,}},
+ {0xE763,2,{0xA7,0x9E,0x00,0x00,}},
+ {0xE764,2,{0xA7,0x9F,0x00,0x00,}},
+ {0xE765,2,{0xA7,0xA0,0x00,0x00,}},
+ {0xE766,2,{0xA2,0xAB,0x00,0x00,}},
+ {0xE767,2,{0xA2,0xAC,0x00,0x00,}},
+ {0xE768,2,{0xA2,0xAD,0x00,0x00,}},
+ {0xE769,2,{0xA2,0xAE,0x00,0x00,}},
+ {0xE76A,2,{0xA2,0xAF,0x00,0x00,}},
+ {0xE76B,2,{0xA2,0xB0,0x00,0x00,}},
+ {0xE76C,4,{0x83,0x36,0xC7,0x39,}},
+ {0xE76D,2,{0xA2,0xE4,0x00,0x00,}},
+ {0xE76E,2,{0xA2,0xEF,0x00,0x00,}},
+ {0xE76F,2,{0xA2,0xF0,0x00,0x00,}},
+ {0xE770,2,{0xA2,0xFD,0x00,0x00,}},
+ {0xE771,2,{0xA2,0xFE,0x00,0x00,}},
+ {0xE772,2,{0xA4,0xF4,0x00,0x00,}},
+ {0xE773,2,{0xA4,0xF5,0x00,0x00,}},
+ {0xE774,2,{0xA4,0xF6,0x00,0x00,}},
+ {0xE775,2,{0xA4,0xF7,0x00,0x00,}},
+ {0xE776,2,{0xA4,0xF8,0x00,0x00,}},
+ {0xE777,2,{0xA4,0xF9,0x00,0x00,}},
+ {0xE778,2,{0xA4,0xFA,0x00,0x00,}},
+ {0xE779,2,{0xA4,0xFB,0x00,0x00,}},
+ {0xE77A,2,{0xA4,0xFC,0x00,0x00,}},
+ {0xE77B,2,{0xA4,0xFD,0x00,0x00,}},
+ {0xE77C,2,{0xA4,0xFE,0x00,0x00,}},
+ {0xE77D,2,{0xA5,0xF7,0x00,0x00,}},
+ {0xE77E,2,{0xA5,0xF8,0x00,0x00,}},
+ {0xE77F,2,{0xA5,0xF9,0x00,0x00,}},
+ {0xE780,2,{0xA5,0xFA,0x00,0x00,}},
+ {0xE781,2,{0xA5,0xFB,0x00,0x00,}},
+ {0xE782,2,{0xA5,0xFC,0x00,0x00,}},
+ {0xE783,2,{0xA5,0xFD,0x00,0x00,}},
+ {0xE784,2,{0xA5,0xFE,0x00,0x00,}},
+ {0xE785,2,{0xA6,0xB9,0x00,0x00,}},
+ {0xE786,2,{0xA6,0xBA,0x00,0x00,}},
+ {0xE787,2,{0xA6,0xBB,0x00,0x00,}},
+ {0xE788,2,{0xA6,0xBC,0x00,0x00,}},
+ {0xE789,2,{0xA6,0xBD,0x00,0x00,}},
+ {0xE78A,2,{0xA6,0xBE,0x00,0x00,}},
+ {0xE78B,2,{0xA6,0xBF,0x00,0x00,}},
+ {0xE78C,2,{0xA6,0xC0,0x00,0x00,}},
+ {0xE78D,2,{0xA6,0xD9,0x00,0x00,}},
+ {0xE78E,2,{0xA6,0xDA,0x00,0x00,}},
+ {0xE78F,2,{0xA6,0xDB,0x00,0x00,}},
+ {0xE790,2,{0xA6,0xDC,0x00,0x00,}},
+ {0xE791,2,{0xA6,0xDD,0x00,0x00,}},
+ {0xE792,2,{0xA6,0xDE,0x00,0x00,}},
+ {0xE793,2,{0xA6,0xDF,0x00,0x00,}},
+ {0xE794,2,{0xA6,0xEC,0x00,0x00,}},
+ {0xE795,2,{0xA6,0xED,0x00,0x00,}},
+ {0xE796,2,{0xA6,0xF3,0x00,0x00,}},
+ {0xE797,2,{0xA6,0xF6,0x00,0x00,}},
+ {0xE798,2,{0xA6,0xF7,0x00,0x00,}},
+ {0xE799,2,{0xA6,0xF8,0x00,0x00,}},
+ {0xE79A,2,{0xA6,0xF9,0x00,0x00,}},
+ {0xE79B,2,{0xA6,0xFA,0x00,0x00,}},
+ {0xE79C,2,{0xA6,0xFB,0x00,0x00,}},
+ {0xE79D,2,{0xA6,0xFC,0x00,0x00,}},
+ {0xE79E,2,{0xA6,0xFD,0x00,0x00,}},
+ {0xE79F,2,{0xA6,0xFE,0x00,0x00,}},
+ {0xE7A0,2,{0xA7,0xC2,0x00,0x00,}},
+ {0xE7A1,2,{0xA7,0xC3,0x00,0x00,}},
+ {0xE7A2,2,{0xA7,0xC4,0x00,0x00,}},
+ {0xE7A3,2,{0xA7,0xC5,0x00,0x00,}},
+ {0xE7A4,2,{0xA7,0xC6,0x00,0x00,}},
+ {0xE7A5,2,{0xA7,0xC7,0x00,0x00,}},
+ {0xE7A6,2,{0xA7,0xC8,0x00,0x00,}},
+ {0xE7A7,2,{0xA7,0xC9,0x00,0x00,}},
+ {0xE7A8,2,{0xA7,0xCA,0x00,0x00,}},
+ {0xE7A9,2,{0xA7,0xCB,0x00,0x00,}},
+ {0xE7AA,2,{0xA7,0xCC,0x00,0x00,}},
+ {0xE7AB,2,{0xA7,0xCD,0x00,0x00,}},
+ {0xE7AC,2,{0xA7,0xCE,0x00,0x00,}},
+ {0xE7AD,2,{0xA7,0xCF,0x00,0x00,}},
+ {0xE7AE,2,{0xA7,0xD0,0x00,0x00,}},
+ {0xE7AF,2,{0xA7,0xF2,0x00,0x00,}},
+ {0xE7B0,2,{0xA7,0xF3,0x00,0x00,}},
+ {0xE7B1,2,{0xA7,0xF4,0x00,0x00,}},
+ {0xE7B2,2,{0xA7,0xF5,0x00,0x00,}},
+ {0xE7B3,2,{0xA7,0xF6,0x00,0x00,}},
+ {0xE7B4,2,{0xA7,0xF7,0x00,0x00,}},
+ {0xE7B5,2,{0xA7,0xF8,0x00,0x00,}},
+ {0xE7B6,2,{0xA7,0xF9,0x00,0x00,}},
+ {0xE7B7,2,{0xA7,0xFA,0x00,0x00,}},
+ {0xE7B8,2,{0xA7,0xFB,0x00,0x00,}},
+ {0xE7B9,2,{0xA7,0xFC,0x00,0x00,}},
+ {0xE7BA,2,{0xA7,0xFD,0x00,0x00,}},
+ {0xE7BB,2,{0xA7,0xFE,0x00,0x00,}},
+ {0xE7BC,2,{0xA8,0x96,0x00,0x00,}},
+ {0xE7BD,2,{0xA8,0x97,0x00,0x00,}},
+ {0xE7BE,2,{0xA8,0x98,0x00,0x00,}},
+ {0xE7BF,2,{0xA8,0x99,0x00,0x00,}},
+ {0xE7C0,2,{0xA8,0x9A,0x00,0x00,}},
+ {0xE7C1,2,{0xA8,0x9B,0x00,0x00,}},
+ {0xE7C2,2,{0xA8,0x9C,0x00,0x00,}},
+ {0xE7C3,2,{0xA8,0x9D,0x00,0x00,}},
+ {0xE7C4,2,{0xA8,0x9E,0x00,0x00,}},
+ {0xE7C5,2,{0xA8,0x9F,0x00,0x00,}},
+ {0xE7C6,2,{0xA8,0xA0,0x00,0x00,}},
+ {0xE7C7,2,{0xA8,0xBC,0x00,0x00,}},
+ {0xE7C8,4,{0x83,0x36,0xC8,0x30,}},
+ {0xE7C9,2,{0xA8,0xC1,0x00,0x00,}},
+ {0xE7CA,2,{0xA8,0xC2,0x00,0x00,}},
+ {0xE7CB,2,{0xA8,0xC3,0x00,0x00,}},
+ {0xE7CC,2,{0xA8,0xC4,0x00,0x00,}},
+ {0xE7CD,2,{0xA8,0xEA,0x00,0x00,}},
+ {0xE7CE,2,{0xA8,0xEB,0x00,0x00,}},
+ {0xE7CF,2,{0xA8,0xEC,0x00,0x00,}},
+ {0xE7D0,2,{0xA8,0xED,0x00,0x00,}},
+ {0xE7D1,2,{0xA8,0xEE,0x00,0x00,}},
+ {0xE7D2,2,{0xA8,0xEF,0x00,0x00,}},
+ {0xE7D3,2,{0xA8,0xF0,0x00,0x00,}},
+ {0xE7D4,2,{0xA8,0xF1,0x00,0x00,}},
+ {0xE7D5,2,{0xA8,0xF2,0x00,0x00,}},
+ {0xE7D6,2,{0xA8,0xF3,0x00,0x00,}},
+ {0xE7D7,2,{0xA8,0xF4,0x00,0x00,}},
+ {0xE7D8,2,{0xA8,0xF5,0x00,0x00,}},
+ {0xE7D9,2,{0xA8,0xF6,0x00,0x00,}},
+ {0xE7DA,2,{0xA8,0xF7,0x00,0x00,}},
+ {0xE7DB,2,{0xA8,0xF8,0x00,0x00,}},
+ {0xE7DC,2,{0xA8,0xF9,0x00,0x00,}},
+ {0xE7DD,2,{0xA8,0xFA,0x00,0x00,}},
+ {0xE7DE,2,{0xA8,0xFB,0x00,0x00,}},
+ {0xE7DF,2,{0xA8,0xFC,0x00,0x00,}},
+ {0xE7E0,2,{0xA8,0xFD,0x00,0x00,}},
+ {0xE7E1,2,{0xA8,0xFE,0x00,0x00,}},
+ {0xE7E2,2,{0xA9,0x58,0x00,0x00,}},
+ {0xE7E3,2,{0xA9,0x5B,0x00,0x00,}},
+ {0xE7E4,2,{0xA9,0x5D,0x00,0x00,}},
+ {0xE7E5,2,{0xA9,0x5E,0x00,0x00,}},
+ {0xE7E6,2,{0xA9,0x5F,0x00,0x00,}},
+ {0xE7E7,4,{0x83,0x36,0xC8,0x31,}},
+ {0xE7E8,4,{0x83,0x36,0xC8,0x32,}},
+ {0xE7E9,4,{0x83,0x36,0xC8,0x33,}},
+ {0xE7EA,4,{0x83,0x36,0xC8,0x34,}},
+ {0xE7EB,4,{0x83,0x36,0xC8,0x35,}},
+ {0xE7EC,4,{0x83,0x36,0xC8,0x36,}},
+ {0xE7ED,4,{0x83,0x36,0xC8,0x37,}},
+ {0xE7EE,4,{0x83,0x36,0xC8,0x38,}},
+ {0xE7EF,4,{0x83,0x36,0xC8,0x39,}},
+ {0xE7F0,4,{0x83,0x36,0xC9,0x30,}},
+ {0xE7F1,4,{0x83,0x36,0xC9,0x31,}},
+ {0xE7F2,4,{0x83,0x36,0xC9,0x32,}},
+ {0xE7F3,4,{0x83,0x36,0xC9,0x33,}},
+ {0xE7F4,2,{0xA9,0x97,0x00,0x00,}},
+ {0xE7F5,2,{0xA9,0x98,0x00,0x00,}},
+ {0xE7F6,2,{0xA9,0x99,0x00,0x00,}},
+ {0xE7F7,2,{0xA9,0x9A,0x00,0x00,}},
+ {0xE7F8,2,{0xA9,0x9B,0x00,0x00,}},
+ {0xE7F9,2,{0xA9,0x9C,0x00,0x00,}},
+ {0xE7FA,2,{0xA9,0x9D,0x00,0x00,}},
+ {0xE7FB,2,{0xA9,0x9E,0x00,0x00,}},
+ {0xE7FC,2,{0xA9,0x9F,0x00,0x00,}},
+ {0xE7FD,2,{0xA9,0xA0,0x00,0x00,}},
+ {0xE7FE,2,{0xA9,0xA1,0x00,0x00,}},
+ {0xE7FF,2,{0xA9,0xA2,0x00,0x00,}},
+ {0xE800,2,{0xA9,0xA3,0x00,0x00,}},
+ {0xE801,2,{0xA9,0xF0,0x00,0x00,}},
+ {0xE802,2,{0xA9,0xF1,0x00,0x00,}},
+ {0xE803,2,{0xA9,0xF2,0x00,0x00,}},
+ {0xE804,2,{0xA9,0xF3,0x00,0x00,}},
+ {0xE805,2,{0xA9,0xF4,0x00,0x00,}},
+ {0xE806,2,{0xA9,0xF5,0x00,0x00,}},
+ {0xE807,2,{0xA9,0xF6,0x00,0x00,}},
+ {0xE808,2,{0xA9,0xF7,0x00,0x00,}},
+ {0xE809,2,{0xA9,0xF8,0x00,0x00,}},
+ {0xE80A,2,{0xA9,0xF9,0x00,0x00,}},
+ {0xE80B,2,{0xA9,0xFA,0x00,0x00,}},
+ {0xE80C,2,{0xA9,0xFB,0x00,0x00,}},
+ {0xE80D,2,{0xA9,0xFC,0x00,0x00,}},
+ {0xE80E,2,{0xA9,0xFD,0x00,0x00,}},
+ {0xE80F,2,{0xA9,0xFE,0x00,0x00,}},
+ {0xE810,2,{0xD7,0xFA,0x00,0x00,}},
+ {0xE811,2,{0xD7,0xFB,0x00,0x00,}},
+ {0xE812,2,{0xD7,0xFC,0x00,0x00,}},
+ {0xE813,2,{0xD7,0xFD,0x00,0x00,}},
+ {0xE814,2,{0xD7,0xFE,0x00,0x00,}},
+ {0xE815,4,{0x83,0x36,0xC9,0x34,}},
+ {0xE816,2,{0xFE,0x51,0x00,0x00,}},
+ {0xE817,2,{0xFE,0x52,0x00,0x00,}},
+ {0xE818,2,{0xFE,0x53,0x00,0x00,}},
+ {0xE819,4,{0x83,0x36,0xC9,0x35,}},
+ {0xE81A,4,{0x83,0x36,0xC9,0x36,}},
+ {0xE81B,4,{0x83,0x36,0xC9,0x37,}},
+ {0xE81C,4,{0x83,0x36,0xC9,0x38,}},
+ {0xE81D,4,{0x83,0x36,0xC9,0x39,}},
+ {0xE81E,2,{0xFE,0x59,0x00,0x00,}},
+ {0xE81F,4,{0x83,0x36,0xCA,0x30,}},
+ {0xE820,4,{0x83,0x36,0xCA,0x31,}},
+ {0xE821,4,{0x83,0x36,0xCA,0x32,}},
+ {0xE822,4,{0x83,0x36,0xCA,0x33,}},
+ {0xE823,4,{0x83,0x36,0xCA,0x34,}},
+ {0xE824,4,{0x83,0x36,0xCA,0x35,}},
+ {0xE825,4,{0x83,0x36,0xCA,0x36,}},
+ {0xE826,2,{0xFE,0x61,0x00,0x00,}},
+ {0xE827,4,{0x83,0x36,0xCA,0x37,}},
+ {0xE828,4,{0x83,0x36,0xCA,0x38,}},
+ {0xE829,4,{0x83,0x36,0xCA,0x39,}},
+ {0xE82A,4,{0x83,0x36,0xCB,0x30,}},
+ {0xE82B,2,{0xFE,0x66,0x00,0x00,}},
+ {0xE82C,2,{0xFE,0x67,0x00,0x00,}},
+ {0xE82D,4,{0x83,0x36,0xCB,0x31,}},
+ {0xE82E,4,{0x83,0x36,0xCB,0x32,}},
+ {0xE82F,4,{0x83,0x36,0xCB,0x33,}},
+ {0xE830,4,{0x83,0x36,0xCB,0x34,}},
+ {0xE831,2,{0xFE,0x6C,0x00,0x00,}},
+ {0xE832,2,{0xFE,0x6D,0x00,0x00,}},
+ {0xE833,4,{0x83,0x36,0xCB,0x35,}},
+ {0xE834,4,{0x83,0x36,0xCB,0x36,}},
+ {0xE835,4,{0x83,0x36,0xCB,0x37,}},
+ {0xE836,4,{0x83,0x36,0xCB,0x38,}},
+ {0xE837,4,{0x83,0x36,0xCB,0x39,}},
+ {0xE838,4,{0x83,0x36,0xCC,0x30,}},
+ {0xE839,4,{0x83,0x36,0xCC,0x31,}},
+ {0xE83A,4,{0x83,0x36,0xCC,0x32,}},
+ {0xE83B,2,{0xFE,0x76,0x00,0x00,}},
+ {0xE83C,4,{0x83,0x36,0xCC,0x33,}},
+ {0xE83D,4,{0x83,0x36,0xCC,0x34,}},
+ {0xE83E,4,{0x83,0x36,0xCC,0x35,}},
+ {0xE83F,4,{0x83,0x36,0xCC,0x36,}},
+ {0xE840,4,{0x83,0x36,0xCC,0x37,}},
+ {0xE841,4,{0x83,0x36,0xCC,0x38,}},
+ {0xE842,4,{0x83,0x36,0xCC,0x39,}},
+ {0xE843,2,{0xFE,0x7E,0x00,0x00,}},
+ {0xE844,4,{0x83,0x36,0xCD,0x30,}},
+ {0xE845,4,{0x83,0x36,0xCD,0x31,}},
+ {0xE846,4,{0x83,0x36,0xCD,0x32,}},
+ {0xE847,4,{0x83,0x36,0xCD,0x33,}},
+ {0xE848,4,{0x83,0x36,0xCD,0x34,}},
+ {0xE849,4,{0x83,0x36,0xCD,0x35,}},
+ {0xE84A,4,{0x83,0x36,0xCD,0x36,}},
+ {0xE84B,4,{0x83,0x36,0xCD,0x37,}},
+ {0xE84C,4,{0x83,0x36,0xCD,0x38,}},
+ {0xE84D,4,{0x83,0x36,0xCD,0x39,}},
+ {0xE84E,4,{0x83,0x36,0xCE,0x30,}},
+ {0xE84F,4,{0x83,0x36,0xCE,0x31,}},
+ {0xE850,4,{0x83,0x36,0xCE,0x32,}},
+ {0xE851,4,{0x83,0x36,0xCE,0x33,}},
+ {0xE852,4,{0x83,0x36,0xCE,0x34,}},
+ {0xE853,4,{0x83,0x36,0xCE,0x35,}},
+ {0xE854,2,{0xFE,0x90,0x00,0x00,}},
+ {0xE855,2,{0xFE,0x91,0x00,0x00,}},
+ {0xE856,4,{0x83,0x36,0xCE,0x36,}},
+ {0xE857,4,{0x83,0x36,0xCE,0x37,}},
+ {0xE858,4,{0x83,0x36,0xCE,0x38,}},
+ {0xE859,4,{0x83,0x36,0xCE,0x39,}},
+ {0xE85A,4,{0x83,0x36,0xCF,0x30,}},
+ {0xE85B,4,{0x83,0x36,0xCF,0x31,}},
+ {0xE85C,4,{0x83,0x36,0xCF,0x32,}},
+ {0xE85D,4,{0x83,0x36,0xCF,0x33,}},
+ {0xE85E,4,{0x83,0x36,0xCF,0x34,}},
+ {0xE85F,4,{0x83,0x36,0xCF,0x35,}},
+ {0xE860,4,{0x83,0x36,0xCF,0x36,}},
+ {0xE861,4,{0x83,0x36,0xCF,0x37,}},
+ {0xE862,4,{0x83,0x36,0xCF,0x38,}},
+ {0xE863,4,{0x83,0x36,0xCF,0x39,}},
+ {0xE864,2,{0xFE,0xA0,0x00,0x00,}},
+ {0xF92C,2,{0xFD,0x9C,0x00,0x00,}},
+ {0xF92D,4,{0x84,0x30,0x85,0x35,}},
+ {0xF92E,4,{0x84,0x30,0x85,0x36,}},
+ {0xF92F,4,{0x84,0x30,0x85,0x37,}},
+ {0xF930,4,{0x84,0x30,0x85,0x38,}},
+ {0xF931,4,{0x84,0x30,0x85,0x39,}},
+ {0xF932,4,{0x84,0x30,0x86,0x30,}},
+ {0xF933,4,{0x84,0x30,0x86,0x31,}},
+ {0xF934,4,{0x84,0x30,0x86,0x32,}},
+ {0xF935,4,{0x84,0x30,0x86,0x33,}},
+ {0xF936,4,{0x84,0x30,0x86,0x34,}},
+ {0xF937,4,{0x84,0x30,0x86,0x35,}},
+ {0xF938,4,{0x84,0x30,0x86,0x36,}},
+ {0xF939,4,{0x84,0x30,0x86,0x37,}},
+ {0xF93A,4,{0x84,0x30,0x86,0x38,}},
+ {0xF93B,4,{0x84,0x30,0x86,0x39,}},
+ {0xF93C,4,{0x84,0x30,0x87,0x30,}},
+ {0xF93D,4,{0x84,0x30,0x87,0x31,}},
+ {0xF93E,4,{0x84,0x30,0x87,0x32,}},
+ {0xF93F,4,{0x84,0x30,0x87,0x33,}},
+ {0xF940,4,{0x84,0x30,0x87,0x34,}},
+ {0xF941,4,{0x84,0x30,0x87,0x35,}},
+ {0xF942,4,{0x84,0x30,0x87,0x36,}},
+ {0xF943,4,{0x84,0x30,0x87,0x37,}},
+ {0xF944,4,{0x84,0x30,0x87,0x38,}},
+ {0xF945,4,{0x84,0x30,0x87,0x39,}},
+ {0xF946,4,{0x84,0x30,0x88,0x30,}},
+ {0xF947,4,{0x84,0x30,0x88,0x31,}},
+ {0xF948,4,{0x84,0x30,0x88,0x32,}},
+ {0xF949,4,{0x84,0x30,0x88,0x33,}},
+ {0xF94A,4,{0x84,0x30,0x88,0x34,}},
+ {0xF94B,4,{0x84,0x30,0x88,0x35,}},
+ {0xF94C,4,{0x84,0x30,0x88,0x36,}},
+ {0xF94D,4,{0x84,0x30,0x88,0x37,}},
+ {0xF94E,4,{0x84,0x30,0x88,0x38,}},
+ {0xF94F,4,{0x84,0x30,0x88,0x39,}},
+ {0xF950,4,{0x84,0x30,0x89,0x30,}},
+ {0xF951,4,{0x84,0x30,0x89,0x31,}},
+ {0xF952,4,{0x84,0x30,0x89,0x32,}},
+ {0xF953,4,{0x84,0x30,0x89,0x33,}},
+ {0xF954,4,{0x84,0x30,0x89,0x34,}},
+ {0xF955,4,{0x84,0x30,0x89,0x35,}},
+ {0xF956,4,{0x84,0x30,0x89,0x36,}},
+ {0xF957,4,{0x84,0x30,0x89,0x37,}},
+ {0xF958,4,{0x84,0x30,0x89,0x38,}},
+ {0xF959,4,{0x84,0x30,0x89,0x39,}},
+ {0xF95A,4,{0x84,0x30,0x8A,0x30,}},
+ {0xF95B,4,{0x84,0x30,0x8A,0x31,}},
+ {0xF95C,4,{0x84,0x30,0x8A,0x32,}},
+ {0xF95D,4,{0x84,0x30,0x8A,0x33,}},
+ {0xF95E,4,{0x84,0x30,0x8A,0x34,}},
+ {0xF95F,4,{0x84,0x30,0x8A,0x35,}},
+ {0xF960,4,{0x84,0x30,0x8A,0x36,}},
+ {0xF961,4,{0x84,0x30,0x8A,0x37,}},
+ {0xF962,4,{0x84,0x30,0x8A,0x38,}},
+ {0xF963,4,{0x84,0x30,0x8A,0x39,}},
+ {0xF964,4,{0x84,0x30,0x8B,0x30,}},
+ {0xF965,4,{0x84,0x30,0x8B,0x31,}},
+ {0xF966,4,{0x84,0x30,0x8B,0x32,}},
+ {0xF967,4,{0x84,0x30,0x8B,0x33,}},
+ {0xF968,4,{0x84,0x30,0x8B,0x34,}},
+ {0xF969,4,{0x84,0x30,0x8B,0x35,}},
+ {0xF96A,4,{0x84,0x30,0x8B,0x36,}},
+ {0xF96B,4,{0x84,0x30,0x8B,0x37,}},
+ {0xF96C,4,{0x84,0x30,0x8B,0x38,}},
+ {0xF96D,4,{0x84,0x30,0x8B,0x39,}},
+ {0xF96E,4,{0x84,0x30,0x8C,0x30,}},
+ {0xF96F,4,{0x84,0x30,0x8C,0x31,}},
+ {0xF970,4,{0x84,0x30,0x8C,0x32,}},
+ {0xF971,4,{0x84,0x30,0x8C,0x33,}},
+ {0xF972,4,{0x84,0x30,0x8C,0x34,}},
+ {0xF973,4,{0x84,0x30,0x8C,0x35,}},
+ {0xF974,4,{0x84,0x30,0x8C,0x36,}},
+ {0xF975,4,{0x84,0x30,0x8C,0x37,}},
+ {0xF976,4,{0x84,0x30,0x8C,0x38,}},
+ {0xF977,4,{0x84,0x30,0x8C,0x39,}},
+ {0xF978,4,{0x84,0x30,0x8D,0x30,}},
+ {0xF979,2,{0xFD,0x9D,0x00,0x00,}},
+ {0xF97A,4,{0x84,0x30,0x8D,0x31,}},
+ {0xF97B,4,{0x84,0x30,0x8D,0x32,}},
+ {0xF97C,4,{0x84,0x30,0x8D,0x33,}},
+ {0xF97D,4,{0x84,0x30,0x8D,0x34,}},
+ {0xF97E,4,{0x84,0x30,0x8D,0x35,}},
+ {0xF97F,4,{0x84,0x30,0x8D,0x36,}},
+ {0xF980,4,{0x84,0x30,0x8D,0x37,}},
+ {0xF981,4,{0x84,0x30,0x8D,0x38,}},
+ {0xF982,4,{0x84,0x30,0x8D,0x39,}},
+ {0xF983,4,{0x84,0x30,0x8E,0x30,}},
+ {0xF984,4,{0x84,0x30,0x8E,0x31,}},
+ {0xF985,4,{0x84,0x30,0x8E,0x32,}},
+ {0xF986,4,{0x84,0x30,0x8E,0x33,}},
+ {0xF987,4,{0x84,0x30,0x8E,0x34,}},
+ {0xF988,4,{0x84,0x30,0x8E,0x35,}},
+ {0xF989,4,{0x84,0x30,0x8E,0x36,}},
+ {0xF98A,4,{0x84,0x30,0x8E,0x37,}},
+ {0xF98B,4,{0x84,0x30,0x8E,0x38,}},
+ {0xF98C,4,{0x84,0x30,0x8E,0x39,}},
+ {0xF98D,4,{0x84,0x30,0x8F,0x30,}},
+ {0xF98E,4,{0x84,0x30,0x8F,0x31,}},
+ {0xF98F,4,{0x84,0x30,0x8F,0x32,}},
+ {0xF990,4,{0x84,0x30,0x8F,0x33,}},
+ {0xF991,4,{0x84,0x30,0x8F,0x34,}},
+ {0xF992,4,{0x84,0x30,0x8F,0x35,}},
+ {0xF993,4,{0x84,0x30,0x8F,0x36,}},
+ {0xF994,4,{0x84,0x30,0x8F,0x37,}},
+ {0xF995,2,{0xFD,0x9E,0x00,0x00,}},
+ {0xF996,4,{0x84,0x30,0x8F,0x38,}},
+ {0xF997,4,{0x84,0x30,0x8F,0x39,}},
+ {0xF998,4,{0x84,0x30,0x90,0x30,}},
+ {0xF999,4,{0x84,0x30,0x90,0x31,}},
+ {0xF99A,4,{0x84,0x30,0x90,0x32,}},
+ {0xF99B,4,{0x84,0x30,0x90,0x33,}},
+ {0xF99C,4,{0x84,0x30,0x90,0x34,}},
+ {0xF99D,4,{0x84,0x30,0x90,0x35,}},
+ {0xF99E,4,{0x84,0x30,0x90,0x36,}},
+ {0xF99F,4,{0x84,0x30,0x90,0x37,}},
+ {0xF9A0,4,{0x84,0x30,0x90,0x38,}},
+ {0xF9A1,4,{0x84,0x30,0x90,0x39,}},
+ {0xF9A2,4,{0x84,0x30,0x91,0x30,}},
+ {0xF9A3,4,{0x84,0x30,0x91,0x31,}},
+ {0xF9A4,4,{0x84,0x30,0x91,0x32,}},
+ {0xF9A5,4,{0x84,0x30,0x91,0x33,}},
+ {0xF9A6,4,{0x84,0x30,0x91,0x34,}},
+ {0xF9A7,4,{0x84,0x30,0x91,0x35,}},
+ {0xF9A8,4,{0x84,0x30,0x91,0x36,}},
+ {0xF9A9,4,{0x84,0x30,0x91,0x37,}},
+ {0xF9AA,4,{0x84,0x30,0x91,0x38,}},
+ {0xF9AB,4,{0x84,0x30,0x91,0x39,}},
+ {0xF9AC,4,{0x84,0x30,0x92,0x30,}},
+ {0xF9AD,4,{0x84,0x30,0x92,0x31,}},
+ {0xF9AE,4,{0x84,0x30,0x92,0x32,}},
+ {0xF9AF,4,{0x84,0x30,0x92,0x33,}},
+ {0xF9B0,4,{0x84,0x30,0x92,0x34,}},
+ {0xF9B1,4,{0x84,0x30,0x92,0x35,}},
+ {0xF9B2,4,{0x84,0x30,0x92,0x36,}},
+ {0xF9B3,4,{0x84,0x30,0x92,0x37,}},
+ {0xF9B4,4,{0x84,0x30,0x92,0x38,}},
+ {0xF9B5,4,{0x84,0x30,0x92,0x39,}},
+ {0xF9B6,4,{0x84,0x30,0x93,0x30,}},
+ {0xF9B7,4,{0x84,0x30,0x93,0x31,}},
+ {0xF9B8,4,{0x84,0x30,0x93,0x32,}},
+ {0xF9B9,4,{0x84,0x30,0x93,0x33,}},
+ {0xF9BA,4,{0x84,0x30,0x93,0x34,}},
+ {0xF9BB,4,{0x84,0x30,0x93,0x35,}},
+ {0xF9BC,4,{0x84,0x30,0x93,0x36,}},
+ {0xF9BD,4,{0x84,0x30,0x93,0x37,}},
+ {0xF9BE,4,{0x84,0x30,0x93,0x38,}},
+ {0xF9BF,4,{0x84,0x30,0x93,0x39,}},
+ {0xF9C0,4,{0x84,0x30,0x94,0x30,}},
+ {0xF9C1,4,{0x84,0x30,0x94,0x31,}},
+ {0xF9C2,4,{0x84,0x30,0x94,0x32,}},
+ {0xF9C3,4,{0x84,0x30,0x94,0x33,}},
+ {0xF9C4,4,{0x84,0x30,0x94,0x34,}},
+ {0xF9C5,4,{0x84,0x30,0x94,0x35,}},
+ {0xF9C6,4,{0x84,0x30,0x94,0x36,}},
+ {0xF9C7,4,{0x84,0x30,0x94,0x37,}},
+ {0xF9C8,4,{0x84,0x30,0x94,0x38,}},
+ {0xF9C9,4,{0x84,0x30,0x94,0x39,}},
+ {0xF9CA,4,{0x84,0x30,0x95,0x30,}},
+ {0xF9CB,4,{0x84,0x30,0x95,0x31,}},
+ {0xF9CC,4,{0x84,0x30,0x95,0x32,}},
+ {0xF9CD,4,{0x84,0x30,0x95,0x33,}},
+ {0xF9CE,4,{0x84,0x30,0x95,0x34,}},
+ {0xF9CF,4,{0x84,0x30,0x95,0x35,}},
+ {0xF9D0,4,{0x84,0x30,0x95,0x36,}},
+ {0xF9D1,4,{0x84,0x30,0x95,0x37,}},
+ {0xF9D2,4,{0x84,0x30,0x95,0x38,}},
+ {0xF9D3,4,{0x84,0x30,0x95,0x39,}},
+ {0xF9D4,4,{0x84,0x30,0x96,0x30,}},
+ {0xF9D5,4,{0x84,0x30,0x96,0x31,}},
+ {0xF9D6,4,{0x84,0x30,0x96,0x32,}},
+ {0xF9D7,4,{0x84,0x30,0x96,0x33,}},
+ {0xF9D8,4,{0x84,0x30,0x96,0x34,}},
+ {0xF9D9,4,{0x84,0x30,0x96,0x35,}},
+ {0xF9DA,4,{0x84,0x30,0x96,0x36,}},
+ {0xF9DB,4,{0x84,0x30,0x96,0x37,}},
+ {0xF9DC,4,{0x84,0x30,0x96,0x38,}},
+ {0xF9DD,4,{0x84,0x30,0x96,0x39,}},
+ {0xF9DE,4,{0x84,0x30,0x97,0x30,}},
+ {0xF9DF,4,{0x84,0x30,0x97,0x31,}},
+ {0xF9E0,4,{0x84,0x30,0x97,0x32,}},
+ {0xF9E1,4,{0x84,0x30,0x97,0x33,}},
+ {0xF9E2,4,{0x84,0x30,0x97,0x34,}},
+ {0xF9E3,4,{0x84,0x30,0x97,0x35,}},
+ {0xF9E4,4,{0x84,0x30,0x97,0x36,}},
+ {0xF9E5,4,{0x84,0x30,0x97,0x37,}},
+ {0xF9E6,4,{0x84,0x30,0x97,0x38,}},
+ {0xF9E7,2,{0xFD,0x9F,0x00,0x00,}},
+ {0xF9E8,4,{0x84,0x30,0x97,0x39,}},
+ {0xF9E9,4,{0x84,0x30,0x98,0x30,}},
+ {0xF9EA,4,{0x84,0x30,0x98,0x31,}},
+ {0xF9EB,4,{0x84,0x30,0x98,0x32,}},
+ {0xF9EC,4,{0x84,0x30,0x98,0x33,}},
+ {0xF9ED,4,{0x84,0x30,0x98,0x34,}},
+ {0xF9EE,4,{0x84,0x30,0x98,0x35,}},
+ {0xF9EF,4,{0x84,0x30,0x98,0x36,}},
+ {0xF9F0,4,{0x84,0x30,0x98,0x37,}},
+ {0xF9F1,2,{0xFD,0xA0,0x00,0x00,}},
+ {0xF9F2,4,{0x84,0x30,0x98,0x38,}},
+ {0xF9F3,4,{0x84,0x30,0x98,0x39,}},
+ {0xF9F4,4,{0x84,0x30,0x99,0x30,}},
+ {0xF9F5,4,{0x84,0x30,0x99,0x31,}},
+ {0xF9F6,4,{0x84,0x30,0x99,0x32,}},
+ {0xF9F7,4,{0x84,0x30,0x99,0x33,}},
+ {0xF9F8,4,{0x84,0x30,0x99,0x34,}},
+ {0xF9F9,4,{0x84,0x30,0x99,0x35,}},
+ {0xF9FA,4,{0x84,0x30,0x99,0x36,}},
+ {0xF9FB,4,{0x84,0x30,0x99,0x37,}},
+ {0xF9FC,4,{0x84,0x30,0x99,0x38,}},
+ {0xF9FD,4,{0x84,0x30,0x99,0x39,}},
+ {0xF9FE,4,{0x84,0x30,0x9A,0x30,}},
+ {0xF9FF,4,{0x84,0x30,0x9A,0x31,}},
+ {0xFA00,4,{0x84,0x30,0x9A,0x32,}},
+ {0xFA01,4,{0x84,0x30,0x9A,0x33,}},
+ {0xFA02,4,{0x84,0x30,0x9A,0x34,}},
+ {0xFA03,4,{0x84,0x30,0x9A,0x35,}},
+ {0xFA04,4,{0x84,0x30,0x9A,0x36,}},
+ {0xFA05,4,{0x84,0x30,0x9A,0x37,}},
+ {0xFA06,4,{0x84,0x30,0x9A,0x38,}},
+ {0xFA07,4,{0x84,0x30,0x9A,0x39,}},
+ {0xFA08,4,{0x84,0x30,0x9B,0x30,}},
+ {0xFA09,4,{0x84,0x30,0x9B,0x31,}},
+ {0xFA0A,4,{0x84,0x30,0x9B,0x32,}},
+ {0xFA0B,4,{0x84,0x30,0x9B,0x33,}},
+ {0xFA0C,2,{0xFE,0x40,0x00,0x00,}},
+ {0xFA0D,2,{0xFE,0x41,0x00,0x00,}},
+ {0xFA0E,2,{0xFE,0x42,0x00,0x00,}},
+ {0xFA0F,2,{0xFE,0x43,0x00,0x00,}},
+ {0xFA10,4,{0x84,0x30,0x9B,0x34,}},
+ {0xFA11,2,{0xFE,0x44,0x00,0x00,}},
+ {0xFA12,4,{0x84,0x30,0x9B,0x35,}},
+ {0xFA13,2,{0xFE,0x45,0x00,0x00,}},
+ {0xFA14,2,{0xFE,0x46,0x00,0x00,}},
+ {0xFA15,4,{0x84,0x30,0x9B,0x36,}},
+ {0xFA16,4,{0x84,0x30,0x9B,0x37,}},
+ {0xFA17,4,{0x84,0x30,0x9B,0x38,}},
+ {0xFA18,2,{0xFE,0x47,0x00,0x00,}},
+ {0xFA19,4,{0x84,0x30,0x9B,0x39,}},
+ {0xFA1A,4,{0x84,0x30,0x9C,0x30,}},
+ {0xFA1B,4,{0x84,0x30,0x9C,0x31,}},
+ {0xFA1C,4,{0x84,0x30,0x9C,0x32,}},
+ {0xFA1D,4,{0x84,0x30,0x9C,0x33,}},
+ {0xFA1E,4,{0x84,0x30,0x9C,0x34,}},
+ {0xFA1F,2,{0xFE,0x48,0x00,0x00,}},
+ {0xFA20,2,{0xFE,0x49,0x00,0x00,}},
+ {0xFA21,2,{0xFE,0x4A,0x00,0x00,}},
+ {0xFA22,4,{0x84,0x30,0x9C,0x35,}},
+ {0xFA23,2,{0xFE,0x4B,0x00,0x00,}},
+ {0xFA24,2,{0xFE,0x4C,0x00,0x00,}},
+ {0xFA25,4,{0x84,0x30,0x9C,0x36,}},
+ {0xFA26,4,{0x84,0x30,0x9C,0x37,}},
+ {0xFA27,2,{0xFE,0x4D,0x00,0x00,}},
+ {0xFA28,2,{0xFE,0x4E,0x00,0x00,}},
+ {0xFA29,2,{0xFE,0x4F,0x00,0x00,}},
+ {0xFE30,2,{0xA9,0x55,0x00,0x00,}},
+ {0xFE31,2,{0xA6,0xF2,0x00,0x00,}},
+ {0xFE32,4,{0x84,0x31,0x85,0x38,}},
+ {0xFE33,2,{0xA6,0xF4,0x00,0x00,}},
+ {0xFE34,2,{0xA6,0xF5,0x00,0x00,}},
+ {0xFE35,2,{0xA6,0xE0,0x00,0x00,}},
+ {0xFE36,2,{0xA6,0xE1,0x00,0x00,}},
+ {0xFE37,2,{0xA6,0xF0,0x00,0x00,}},
+ {0xFE38,2,{0xA6,0xF1,0x00,0x00,}},
+ {0xFE39,2,{0xA6,0xE2,0x00,0x00,}},
+ {0xFE3A,2,{0xA6,0xE3,0x00,0x00,}},
+ {0xFE3B,2,{0xA6,0xEE,0x00,0x00,}},
+ {0xFE3C,2,{0xA6,0xEF,0x00,0x00,}},
+ {0xFE3D,2,{0xA6,0xE6,0x00,0x00,}},
+ {0xFE3E,2,{0xA6,0xE7,0x00,0x00,}},
+ {0xFE3F,2,{0xA6,0xE4,0x00,0x00,}},
+ {0xFE40,2,{0xA6,0xE5,0x00,0x00,}},
+ {0xFE41,2,{0xA6,0xE8,0x00,0x00,}},
+ {0xFE42,2,{0xA6,0xE9,0x00,0x00,}},
+ {0xFE43,2,{0xA6,0xEA,0x00,0x00,}},
+ {0xFE44,2,{0xA6,0xEB,0x00,0x00,}},
+ {0xFE45,4,{0x84,0x31,0x85,0x39,}},
+ {0xFE46,4,{0x84,0x31,0x86,0x30,}},
+ {0xFE47,4,{0x84,0x31,0x86,0x31,}},
+ {0xFE48,4,{0x84,0x31,0x86,0x32,}},
+ {0xFE49,2,{0xA9,0x68,0x00,0x00,}},
+ {0xFE4A,2,{0xA9,0x69,0x00,0x00,}},
+ {0xFE4B,2,{0xA9,0x6A,0x00,0x00,}},
+ {0xFE4C,2,{0xA9,0x6B,0x00,0x00,}},
+ {0xFE4D,2,{0xA9,0x6C,0x00,0x00,}},
+ {0xFE4E,2,{0xA9,0x6D,0x00,0x00,}},
+ {0xFE4F,2,{0xA9,0x6E,0x00,0x00,}},
+ {0xFE50,2,{0xA9,0x6F,0x00,0x00,}},
+ {0xFE51,2,{0xA9,0x70,0x00,0x00,}},
+ {0xFE52,2,{0xA9,0x71,0x00,0x00,}},
+ {0xFE53,4,{0x84,0x31,0x86,0x33,}},
+ {0xFE54,2,{0xA9,0x72,0x00,0x00,}},
+ {0xFE55,2,{0xA9,0x73,0x00,0x00,}},
+ {0xFE56,2,{0xA9,0x74,0x00,0x00,}},
+ {0xFE57,2,{0xA9,0x75,0x00,0x00,}},
+ {0xFE58,4,{0x84,0x31,0x86,0x34,}},
+ {0xFE59,2,{0xA9,0x76,0x00,0x00,}},
+ {0xFE5A,2,{0xA9,0x77,0x00,0x00,}},
+ {0xFE5B,2,{0xA9,0x78,0x00,0x00,}},
+ {0xFE5C,2,{0xA9,0x79,0x00,0x00,}},
+ {0xFE5D,2,{0xA9,0x7A,0x00,0x00,}},
+ {0xFE5E,2,{0xA9,0x7B,0x00,0x00,}},
+ {0xFE5F,2,{0xA9,0x7C,0x00,0x00,}},
+ {0xFE60,2,{0xA9,0x7D,0x00,0x00,}},
+ {0xFE61,2,{0xA9,0x7E,0x00,0x00,}},
+ {0xFE62,2,{0xA9,0x80,0x00,0x00,}},
+ {0xFE63,2,{0xA9,0x81,0x00,0x00,}},
+ {0xFE64,2,{0xA9,0x82,0x00,0x00,}},
+ {0xFE65,2,{0xA9,0x83,0x00,0x00,}},
+ {0xFE66,2,{0xA9,0x84,0x00,0x00,}},
+ {0xFE67,4,{0x84,0x31,0x86,0x35,}},
+ {0xFE68,2,{0xA9,0x85,0x00,0x00,}},
+ {0xFE69,2,{0xA9,0x86,0x00,0x00,}},
+ {0xFE6A,2,{0xA9,0x87,0x00,0x00,}},
+ {0xFE6B,2,{0xA9,0x88,0x00,0x00,}},
+ {0xFE6C,4,{0x84,0x31,0x86,0x36,}},
+ {0xFE6D,4,{0x84,0x31,0x86,0x37,}},
+ {0xFE6E,4,{0x84,0x31,0x86,0x38,}},
+ {0xFE6F,4,{0x84,0x31,0x86,0x39,}},
+ {0xFE70,4,{0x84,0x31,0x87,0x30,}},
+ {0xFE71,4,{0x84,0x31,0x87,0x31,}},
+ {0xFE72,4,{0x84,0x31,0x87,0x32,}},
+ {0xFE73,4,{0x84,0x31,0x87,0x33,}},
+ {0xFE74,4,{0x84,0x31,0x87,0x34,}},
+ {0xFE75,4,{0x84,0x31,0x87,0x35,}},
+ {0xFE76,4,{0x84,0x31,0x87,0x36,}},
+ {0xFE77,4,{0x84,0x31,0x87,0x37,}},
+ {0xFE78,4,{0x84,0x31,0x87,0x38,}},
+ {0xFE79,4,{0x84,0x31,0x87,0x39,}},
+ {0xFE7A,4,{0x84,0x31,0x88,0x30,}},
+ {0xFE7B,4,{0x84,0x31,0x88,0x31,}},
+ {0xFE7C,4,{0x84,0x31,0x88,0x32,}},
+ {0xFE7D,4,{0x84,0x31,0x88,0x33,}},
+ {0xFE7E,4,{0x84,0x31,0x88,0x34,}},
+ {0xFE7F,4,{0x84,0x31,0x88,0x35,}},
+ {0xFE80,4,{0x84,0x31,0x88,0x36,}},
+ {0xFE81,4,{0x84,0x31,0x88,0x37,}},
+ {0xFE82,4,{0x84,0x31,0x88,0x38,}},
+ {0xFE83,4,{0x84,0x31,0x88,0x39,}},
+ {0xFE84,4,{0x84,0x31,0x89,0x30,}},
+ {0xFE85,4,{0x84,0x31,0x89,0x31,}},
+ {0xFE86,4,{0x84,0x31,0x89,0x32,}},
+ {0xFE87,4,{0x84,0x31,0x89,0x33,}},
+ {0xFE88,4,{0x84,0x31,0x89,0x34,}},
+ {0xFE89,4,{0x84,0x31,0x89,0x35,}},
+ {0xFE8A,4,{0x84,0x31,0x89,0x36,}},
+ {0xFE8B,4,{0x84,0x31,0x89,0x37,}},
+ {0xFE8C,4,{0x84,0x31,0x89,0x38,}},
+ {0xFE8D,4,{0x84,0x31,0x89,0x39,}},
+ {0xFE8E,4,{0x84,0x31,0x8A,0x30,}},
+ {0xFE8F,4,{0x84,0x31,0x8A,0x31,}},
+ {0xFE90,4,{0x84,0x31,0x8A,0x32,}},
+ {0xFE91,4,{0x84,0x31,0x8A,0x33,}},
+ {0xFE92,4,{0x84,0x31,0x8A,0x34,}},
+ {0xFE93,4,{0x84,0x31,0x8A,0x35,}},
+ {0xFE94,4,{0x84,0x31,0x8A,0x36,}},
+ {0xFE95,4,{0x84,0x31,0x8A,0x37,}},
+ {0xFE96,4,{0x84,0x31,0x8A,0x38,}},
+ {0xFE97,4,{0x84,0x31,0x8A,0x39,}},
+ {0xFE98,4,{0x84,0x31,0x8B,0x30,}},
+ {0xFE99,4,{0x84,0x31,0x8B,0x31,}},
+ {0xFE9A,4,{0x84,0x31,0x8B,0x32,}},
+ {0xFE9B,4,{0x84,0x31,0x8B,0x33,}},
+ {0xFE9C,4,{0x84,0x31,0x8B,0x34,}},
+ {0xFE9D,4,{0x84,0x31,0x8B,0x35,}},
+ {0xFE9E,4,{0x84,0x31,0x8B,0x36,}},
+ {0xFE9F,4,{0x84,0x31,0x8B,0x37,}},
+ {0xFEA0,4,{0x84,0x31,0x8B,0x38,}},
+ {0xFEA1,4,{0x84,0x31,0x8B,0x39,}},
+ {0xFEA2,4,{0x84,0x31,0x8C,0x30,}},
+ {0xFEA3,4,{0x84,0x31,0x8C,0x31,}},
+ {0xFEA4,4,{0x84,0x31,0x8C,0x32,}},
+ {0xFEA5,4,{0x84,0x31,0x8C,0x33,}},
+ {0xFEA6,4,{0x84,0x31,0x8C,0x34,}},
+ {0xFEA7,4,{0x84,0x31,0x8C,0x35,}},
+ {0xFEA8,4,{0x84,0x31,0x8C,0x36,}},
+ {0xFEA9,4,{0x84,0x31,0x8C,0x37,}},
+ {0xFEAA,4,{0x84,0x31,0x8C,0x38,}},
+ {0xFEAB,4,{0x84,0x31,0x8C,0x39,}},
+ {0xFEAC,4,{0x84,0x31,0x8D,0x30,}},
+ {0xFEAD,4,{0x84,0x31,0x8D,0x31,}},
+ {0xFEAE,4,{0x84,0x31,0x8D,0x32,}},
+ {0xFEAF,4,{0x84,0x31,0x8D,0x33,}},
+ {0xFEB0,4,{0x84,0x31,0x8D,0x34,}},
+ {0xFEB1,4,{0x84,0x31,0x8D,0x35,}},
+ {0xFEB2,4,{0x84,0x31,0x8D,0x36,}},
+ {0xFEB3,4,{0x84,0x31,0x8D,0x37,}},
+ {0xFEB4,4,{0x84,0x31,0x8D,0x38,}},
+ {0xFEB5,4,{0x84,0x31,0x8D,0x39,}},
+ {0xFEB6,4,{0x84,0x31,0x8E,0x30,}},
+ {0xFEB7,4,{0x84,0x31,0x8E,0x31,}},
+ {0xFEB8,4,{0x84,0x31,0x8E,0x32,}},
+ {0xFEB9,4,{0x84,0x31,0x8E,0x33,}},
+ {0xFEBA,4,{0x84,0x31,0x8E,0x34,}},
+ {0xFEBB,4,{0x84,0x31,0x8E,0x35,}},
+ {0xFEBC,4,{0x84,0x31,0x8E,0x36,}},
+ {0xFEBD,4,{0x84,0x31,0x8E,0x37,}},
+ {0xFEBE,4,{0x84,0x31,0x8E,0x38,}},
+ {0xFEBF,4,{0x84,0x31,0x8E,0x39,}},
+ {0xFEC0,4,{0x84,0x31,0x8F,0x30,}},
+ {0xFEC1,4,{0x84,0x31,0x8F,0x31,}},
+ {0xFEC2,4,{0x84,0x31,0x8F,0x32,}},
+ {0xFEC3,4,{0x84,0x31,0x8F,0x33,}},
+ {0xFEC4,4,{0x84,0x31,0x8F,0x34,}},
+ {0xFEC5,4,{0x84,0x31,0x8F,0x35,}},
+ {0xFEC6,4,{0x84,0x31,0x8F,0x36,}},
+ {0xFEC7,4,{0x84,0x31,0x8F,0x37,}},
+ {0xFEC8,4,{0x84,0x31,0x8F,0x38,}},
+ {0xFEC9,4,{0x84,0x31,0x8F,0x39,}},
+ {0xFECA,4,{0x84,0x31,0x90,0x30,}},
+ {0xFECB,4,{0x84,0x31,0x90,0x31,}},
+ {0xFECC,4,{0x84,0x31,0x90,0x32,}},
+ {0xFECD,4,{0x84,0x31,0x90,0x33,}},
+ {0xFECE,4,{0x84,0x31,0x90,0x34,}},
+ {0xFECF,4,{0x84,0x31,0x90,0x35,}},
+ {0xFED0,4,{0x84,0x31,0x90,0x36,}},
+ {0xFED1,4,{0x84,0x31,0x90,0x37,}},
+ {0xFED2,4,{0x84,0x31,0x90,0x38,}},
+ {0xFED3,4,{0x84,0x31,0x90,0x39,}},
+ {0xFED4,4,{0x84,0x31,0x91,0x30,}},
+ {0xFED5,4,{0x84,0x31,0x91,0x31,}},
+ {0xFED6,4,{0x84,0x31,0x91,0x32,}},
+ {0xFED7,4,{0x84,0x31,0x91,0x33,}},
+ {0xFED8,4,{0x84,0x31,0x91,0x34,}},
+ {0xFED9,4,{0x84,0x31,0x91,0x35,}},
+ {0xFEDA,4,{0x84,0x31,0x91,0x36,}},
+ {0xFEDB,4,{0x84,0x31,0x91,0x37,}},
+ {0xFEDC,4,{0x84,0x31,0x91,0x38,}},
+ {0xFEDD,4,{0x84,0x31,0x91,0x39,}},
+ {0xFEDE,4,{0x84,0x31,0x92,0x30,}},
+ {0xFEDF,4,{0x84,0x31,0x92,0x31,}},
+ {0xFEE0,4,{0x84,0x31,0x92,0x32,}},
+ {0xFEE1,4,{0x84,0x31,0x92,0x33,}},
+ {0xFEE2,4,{0x84,0x31,0x92,0x34,}},
+ {0xFEE3,4,{0x84,0x31,0x92,0x35,}},
+ {0xFEE4,4,{0x84,0x31,0x92,0x36,}},
+ {0xFEE5,4,{0x84,0x31,0x92,0x37,}},
+ {0xFEE6,4,{0x84,0x31,0x92,0x38,}},
+ {0xFEE7,4,{0x84,0x31,0x92,0x39,}},
+ {0xFEE8,4,{0x84,0x31,0x93,0x30,}},
+ {0xFEE9,4,{0x84,0x31,0x93,0x31,}},
+ {0xFEEA,4,{0x84,0x31,0x93,0x32,}},
+ {0xFEEB,4,{0x84,0x31,0x93,0x33,}},
+ {0xFEEC,4,{0x84,0x31,0x93,0x34,}},
+ {0xFEED,4,{0x84,0x31,0x93,0x35,}},
+ {0xFEEE,4,{0x84,0x31,0x93,0x36,}},
+ {0xFEEF,4,{0x84,0x31,0x93,0x37,}},
+ {0xFEF0,4,{0x84,0x31,0x93,0x38,}},
+ {0xFEF1,4,{0x84,0x31,0x93,0x39,}},
+ {0xFEF2,4,{0x84,0x31,0x94,0x30,}},
+ {0xFEF3,4,{0x84,0x31,0x94,0x31,}},
+ {0xFEF4,4,{0x84,0x31,0x94,0x32,}},
+ {0xFEF5,4,{0x84,0x31,0x94,0x33,}},
+ {0xFEF6,4,{0x84,0x31,0x94,0x34,}},
+ {0xFEF7,4,{0x84,0x31,0x94,0x35,}},
+ {0xFEF8,4,{0x84,0x31,0x94,0x36,}},
+ {0xFEF9,4,{0x84,0x31,0x94,0x37,}},
+ {0xFEFA,4,{0x84,0x31,0x94,0x38,}},
+ {0xFEFB,4,{0x84,0x31,0x94,0x39,}},
+ {0xFEFC,4,{0x84,0x31,0x95,0x30,}},
+ {0xFEFD,4,{0x84,0x31,0x95,0x31,}},
+ {0xFEFE,4,{0x84,0x31,0x95,0x32,}},
+ {0xFEFF,4,{0x84,0x31,0x95,0x33,}},
+ {0xFF00,4,{0x84,0x31,0x95,0x34,}},
+ {0xFF01,2,{0xA3,0xA1,0x00,0x00,}},
+ {0xFF02,2,{0xA3,0xA2,0x00,0x00,}},
+ {0xFF03,2,{0xA3,0xA3,0x00,0x00,}},
+ {0xFF04,2,{0xA1,0xE7,0x00,0x00,}},
+ {0xFF05,2,{0xA3,0xA5,0x00,0x00,}},
+ {0xFF06,2,{0xA3,0xA6,0x00,0x00,}},
+ {0xFF07,2,{0xA3,0xA7,0x00,0x00,}},
+ {0xFF08,2,{0xA3,0xA8,0x00,0x00,}},
+ {0xFF09,2,{0xA3,0xA9,0x00,0x00,}},
+ {0xFF0A,2,{0xA3,0xAA,0x00,0x00,}},
+ {0xFF0B,2,{0xA3,0xAB,0x00,0x00,}},
+ {0xFF0C,2,{0xA3,0xAC,0x00,0x00,}},
+ {0xFF0D,2,{0xA3,0xAD,0x00,0x00,}},
+ {0xFF0E,2,{0xA3,0xAE,0x00,0x00,}},
+ {0xFF0F,2,{0xA3,0xAF,0x00,0x00,}},
+ {0xFF10,2,{0xA3,0xB0,0x00,0x00,}},
+ {0xFF11,2,{0xA3,0xB1,0x00,0x00,}},
+ {0xFF12,2,{0xA3,0xB2,0x00,0x00,}},
+ {0xFF13,2,{0xA3,0xB3,0x00,0x00,}},
+ {0xFF14,2,{0xA3,0xB4,0x00,0x00,}},
+ {0xFF15,2,{0xA3,0xB5,0x00,0x00,}},
+ {0xFF16,2,{0xA3,0xB6,0x00,0x00,}},
+ {0xFF17,2,{0xA3,0xB7,0x00,0x00,}},
+ {0xFF18,2,{0xA3,0xB8,0x00,0x00,}},
+ {0xFF19,2,{0xA3,0xB9,0x00,0x00,}},
+ {0xFF1A,2,{0xA3,0xBA,0x00,0x00,}},
+ {0xFF1B,2,{0xA3,0xBB,0x00,0x00,}},
+ {0xFF1C,2,{0xA3,0xBC,0x00,0x00,}},
+ {0xFF1D,2,{0xA3,0xBD,0x00,0x00,}},
+ {0xFF1E,2,{0xA3,0xBE,0x00,0x00,}},
+ {0xFF1F,2,{0xA3,0xBF,0x00,0x00,}},
+ {0xFF20,2,{0xA3,0xC0,0x00,0x00,}},
+ {0xFF21,2,{0xA3,0xC1,0x00,0x00,}},
+ {0xFF22,2,{0xA3,0xC2,0x00,0x00,}},
+ {0xFF23,2,{0xA3,0xC3,0x00,0x00,}},
+ {0xFF24,2,{0xA3,0xC4,0x00,0x00,}},
+ {0xFF25,2,{0xA3,0xC5,0x00,0x00,}},
+ {0xFF26,2,{0xA3,0xC6,0x00,0x00,}},
+ {0xFF27,2,{0xA3,0xC7,0x00,0x00,}},
+ {0xFF28,2,{0xA3,0xC8,0x00,0x00,}},
+ {0xFF29,2,{0xA3,0xC9,0x00,0x00,}},
+ {0xFF2A,2,{0xA3,0xCA,0x00,0x00,}},
+ {0xFF2B,2,{0xA3,0xCB,0x00,0x00,}},
+ {0xFF2C,2,{0xA3,0xCC,0x00,0x00,}},
+ {0xFF2D,2,{0xA3,0xCD,0x00,0x00,}},
+ {0xFF2E,2,{0xA3,0xCE,0x00,0x00,}},
+ {0xFF2F,2,{0xA3,0xCF,0x00,0x00,}},
+ {0xFF30,2,{0xA3,0xD0,0x00,0x00,}},
+ {0xFF31,2,{0xA3,0xD1,0x00,0x00,}},
+ {0xFF32,2,{0xA3,0xD2,0x00,0x00,}},
+ {0xFF33,2,{0xA3,0xD3,0x00,0x00,}},
+ {0xFF34,2,{0xA3,0xD4,0x00,0x00,}},
+ {0xFF35,2,{0xA3,0xD5,0x00,0x00,}},
+ {0xFF36,2,{0xA3,0xD6,0x00,0x00,}},
+ {0xFF37,2,{0xA3,0xD7,0x00,0x00,}},
+ {0xFF38,2,{0xA3,0xD8,0x00,0x00,}},
+ {0xFF39,2,{0xA3,0xD9,0x00,0x00,}},
+ {0xFF3A,2,{0xA3,0xDA,0x00,0x00,}},
+ {0xFF3B,2,{0xA3,0xDB,0x00,0x00,}},
+ {0xFF3C,2,{0xA3,0xDC,0x00,0x00,}},
+ {0xFF3D,2,{0xA3,0xDD,0x00,0x00,}},
+ {0xFF3E,2,{0xA3,0xDE,0x00,0x00,}},
+ {0xFF3F,2,{0xA3,0xDF,0x00,0x00,}},
+ {0xFF40,2,{0xA3,0xE0,0x00,0x00,}},
+ {0xFF41,2,{0xA3,0xE1,0x00,0x00,}},
+ {0xFF42,2,{0xA3,0xE2,0x00,0x00,}},
+ {0xFF43,2,{0xA3,0xE3,0x00,0x00,}},
+ {0xFF44,2,{0xA3,0xE4,0x00,0x00,}},
+ {0xFF45,2,{0xA3,0xE5,0x00,0x00,}},
+ {0xFF46,2,{0xA3,0xE6,0x00,0x00,}},
+ {0xFF47,2,{0xA3,0xE7,0x00,0x00,}},
+ {0xFF48,2,{0xA3,0xE8,0x00,0x00,}},
+ {0xFF49,2,{0xA3,0xE9,0x00,0x00,}},
+ {0xFF4A,2,{0xA3,0xEA,0x00,0x00,}},
+ {0xFF4B,2,{0xA3,0xEB,0x00,0x00,}},
+ {0xFF4C,2,{0xA3,0xEC,0x00,0x00,}},
+ {0xFF4D,2,{0xA3,0xED,0x00,0x00,}},
+ {0xFF4E,2,{0xA3,0xEE,0x00,0x00,}},
+ {0xFF4F,2,{0xA3,0xEF,0x00,0x00,}},
+ {0xFF50,2,{0xA3,0xF0,0x00,0x00,}},
+ {0xFF51,2,{0xA3,0xF1,0x00,0x00,}},
+ {0xFF52,2,{0xA3,0xF2,0x00,0x00,}},
+ {0xFF53,2,{0xA3,0xF3,0x00,0x00,}},
+ {0xFF54,2,{0xA3,0xF4,0x00,0x00,}},
+ {0xFF55,2,{0xA3,0xF5,0x00,0x00,}},
+ {0xFF56,2,{0xA3,0xF6,0x00,0x00,}},
+ {0xFF57,2,{0xA3,0xF7,0x00,0x00,}},
+ {0xFF58,2,{0xA3,0xF8,0x00,0x00,}},
+ {0xFF59,2,{0xA3,0xF9,0x00,0x00,}},
+ {0xFF5A,2,{0xA3,0xFA,0x00,0x00,}},
+ {0xFF5B,2,{0xA3,0xFB,0x00,0x00,}},
+ {0xFF5C,2,{0xA3,0xFC,0x00,0x00,}},
+ {0xFF5D,2,{0xA3,0xFD,0x00,0x00,}},
+ {0xFF5E,2,{0xA1,0xAB,0x00,0x00,}},
+ {0xFF5F,4,{0x84,0x31,0x95,0x35,}},
+ {0xFF60,4,{0x84,0x31,0x95,0x36,}},
+ {0xFF61,4,{0x84,0x31,0x95,0x37,}},
+ {0xFF62,4,{0x84,0x31,0x95,0x38,}},
+ {0xFF63,4,{0x84,0x31,0x95,0x39,}},
+ {0xFF64,4,{0x84,0x31,0x96,0x30,}},
+ {0xFF65,4,{0x84,0x31,0x96,0x31,}},
+ {0xFF66,4,{0x84,0x31,0x96,0x32,}},
+ {0xFF67,4,{0x84,0x31,0x96,0x33,}},
+ {0xFF68,4,{0x84,0x31,0x96,0x34,}},
+ {0xFF69,4,{0x84,0x31,0x96,0x35,}},
+ {0xFF6A,4,{0x84,0x31,0x96,0x36,}},
+ {0xFF6B,4,{0x84,0x31,0x96,0x37,}},
+ {0xFF6C,4,{0x84,0x31,0x96,0x38,}},
+ {0xFF6D,4,{0x84,0x31,0x96,0x39,}},
+ {0xFF6E,4,{0x84,0x31,0x97,0x30,}},
+ {0xFF6F,4,{0x84,0x31,0x97,0x31,}},
+ {0xFF70,4,{0x84,0x31,0x97,0x32,}},
+ {0xFF71,4,{0x84,0x31,0x97,0x33,}},
+ {0xFF72,4,{0x84,0x31,0x97,0x34,}},
+ {0xFF73,4,{0x84,0x31,0x97,0x35,}},
+ {0xFF74,4,{0x84,0x31,0x97,0x36,}},
+ {0xFF75,4,{0x84,0x31,0x97,0x37,}},
+ {0xFF76,4,{0x84,0x31,0x97,0x38,}},
+ {0xFF77,4,{0x84,0x31,0x97,0x39,}},
+ {0xFF78,4,{0x84,0x31,0x98,0x30,}},
+ {0xFF79,4,{0x84,0x31,0x98,0x31,}},
+ {0xFF7A,4,{0x84,0x31,0x98,0x32,}},
+ {0xFF7B,4,{0x84,0x31,0x98,0x33,}},
+ {0xFF7C,4,{0x84,0x31,0x98,0x34,}},
+ {0xFF7D,4,{0x84,0x31,0x98,0x35,}},
+ {0xFF7E,4,{0x84,0x31,0x98,0x36,}},
+ {0xFF7F,4,{0x84,0x31,0x98,0x37,}},
+ {0xFF80,4,{0x84,0x31,0x98,0x38,}},
+ {0xFF81,4,{0x84,0x31,0x98,0x39,}},
+ {0xFF82,4,{0x84,0x31,0x99,0x30,}},
+ {0xFF83,4,{0x84,0x31,0x99,0x31,}},
+ {0xFF84,4,{0x84,0x31,0x99,0x32,}},
+ {0xFF85,4,{0x84,0x31,0x99,0x33,}},
+ {0xFF86,4,{0x84,0x31,0x99,0x34,}},
+ {0xFF87,4,{0x84,0x31,0x99,0x35,}},
+ {0xFF88,4,{0x84,0x31,0x99,0x36,}},
+ {0xFF89,4,{0x84,0x31,0x99,0x37,}},
+ {0xFF8A,4,{0x84,0x31,0x99,0x38,}},
+ {0xFF8B,4,{0x84,0x31,0x99,0x39,}},
+ {0xFF8C,4,{0x84,0x31,0x9A,0x30,}},
+ {0xFF8D,4,{0x84,0x31,0x9A,0x31,}},
+ {0xFF8E,4,{0x84,0x31,0x9A,0x32,}},
+ {0xFF8F,4,{0x84,0x31,0x9A,0x33,}},
+ {0xFF90,4,{0x84,0x31,0x9A,0x34,}},
+ {0xFF91,4,{0x84,0x31,0x9A,0x35,}},
+ {0xFF92,4,{0x84,0x31,0x9A,0x36,}},
+ {0xFF93,4,{0x84,0x31,0x9A,0x37,}},
+ {0xFF94,4,{0x84,0x31,0x9A,0x38,}},
+ {0xFF95,4,{0x84,0x31,0x9A,0x39,}},
+ {0xFF96,4,{0x84,0x31,0x9B,0x30,}},
+ {0xFF97,4,{0x84,0x31,0x9B,0x31,}},
+ {0xFF98,4,{0x84,0x31,0x9B,0x32,}},
+ {0xFF99,4,{0x84,0x31,0x9B,0x33,}},
+ {0xFF9A,4,{0x84,0x31,0x9B,0x34,}},
+ {0xFF9B,4,{0x84,0x31,0x9B,0x35,}},
+ {0xFF9C,4,{0x84,0x31,0x9B,0x36,}},
+ {0xFF9D,4,{0x84,0x31,0x9B,0x37,}},
+ {0xFF9E,4,{0x84,0x31,0x9B,0x38,}},
+ {0xFF9F,4,{0x84,0x31,0x9B,0x39,}},
+ {0xFFA0,4,{0x84,0x31,0x9C,0x30,}},
+ {0xFFA1,4,{0x84,0x31,0x9C,0x31,}},
+ {0xFFA2,4,{0x84,0x31,0x9C,0x32,}},
+ {0xFFA3,4,{0x84,0x31,0x9C,0x33,}},
+ {0xFFA4,4,{0x84,0x31,0x9C,0x34,}},
+ {0xFFA5,4,{0x84,0x31,0x9C,0x35,}},
+ {0xFFA6,4,{0x84,0x31,0x9C,0x36,}},
+ {0xFFA7,4,{0x84,0x31,0x9C,0x37,}},
+ {0xFFA8,4,{0x84,0x31,0x9C,0x38,}},
+ {0xFFA9,4,{0x84,0x31,0x9C,0x39,}},
+ {0xFFAA,4,{0x84,0x31,0x9D,0x30,}},
+ {0xFFAB,4,{0x84,0x31,0x9D,0x31,}},
+ {0xFFAC,4,{0x84,0x31,0x9D,0x32,}},
+ {0xFFAD,4,{0x84,0x31,0x9D,0x33,}},
+ {0xFFAE,4,{0x84,0x31,0x9D,0x34,}},
+ {0xFFAF,4,{0x84,0x31,0x9D,0x35,}},
+ {0xFFB0,4,{0x84,0x31,0x9D,0x36,}},
+ {0xFFB1,4,{0x84,0x31,0x9D,0x37,}},
+ {0xFFB2,4,{0x84,0x31,0x9D,0x38,}},
+ {0xFFB3,4,{0x84,0x31,0x9D,0x39,}},
+ {0xFFB4,4,{0x84,0x31,0x9E,0x30,}},
+ {0xFFB5,4,{0x84,0x31,0x9E,0x31,}},
+ {0xFFB6,4,{0x84,0x31,0x9E,0x32,}},
+ {0xFFB7,4,{0x84,0x31,0x9E,0x33,}},
+ {0xFFB8,4,{0x84,0x31,0x9E,0x34,}},
+ {0xFFB9,4,{0x84,0x31,0x9E,0x35,}},
+ {0xFFBA,4,{0x84,0x31,0x9E,0x36,}},
+ {0xFFBB,4,{0x84,0x31,0x9E,0x37,}},
+ {0xFFBC,4,{0x84,0x31,0x9E,0x38,}},
+ {0xFFBD,4,{0x84,0x31,0x9E,0x39,}},
+ {0xFFBE,4,{0x84,0x31,0x9F,0x30,}},
+ {0xFFBF,4,{0x84,0x31,0x9F,0x31,}},
+ {0xFFC0,4,{0x84,0x31,0x9F,0x32,}},
+ {0xFFC1,4,{0x84,0x31,0x9F,0x33,}},
+ {0xFFC2,4,{0x84,0x31,0x9F,0x34,}},
+ {0xFFC3,4,{0x84,0x31,0x9F,0x35,}},
+ {0xFFC4,4,{0x84,0x31,0x9F,0x36,}},
+ {0xFFC5,4,{0x84,0x31,0x9F,0x37,}},
+ {0xFFC6,4,{0x84,0x31,0x9F,0x38,}},
+ {0xFFC7,4,{0x84,0x31,0x9F,0x39,}},
+ {0xFFC8,4,{0x84,0x31,0xA0,0x30,}},
+ {0xFFC9,4,{0x84,0x31,0xA0,0x31,}},
+ {0xFFCA,4,{0x84,0x31,0xA0,0x32,}},
+ {0xFFCB,4,{0x84,0x31,0xA0,0x33,}},
+ {0xFFCC,4,{0x84,0x31,0xA0,0x34,}},
+ {0xFFCD,4,{0x84,0x31,0xA0,0x35,}},
+ {0xFFCE,4,{0x84,0x31,0xA0,0x36,}},
+ {0xFFCF,4,{0x84,0x31,0xA0,0x37,}},
+ {0xFFD0,4,{0x84,0x31,0xA0,0x38,}},
+ {0xFFD1,4,{0x84,0x31,0xA0,0x39,}},
+ {0xFFD2,4,{0x84,0x31,0xA1,0x30,}},
+ {0xFFD3,4,{0x84,0x31,0xA1,0x31,}},
+ {0xFFD4,4,{0x84,0x31,0xA1,0x32,}},
+ {0xFFD5,4,{0x84,0x31,0xA1,0x33,}},
+ {0xFFD6,4,{0x84,0x31,0xA1,0x34,}},
+ {0xFFD7,4,{0x84,0x31,0xA1,0x35,}},
+ {0xFFD8,4,{0x84,0x31,0xA1,0x36,}},
+ {0xFFD9,4,{0x84,0x31,0xA1,0x37,}},
+ {0xFFDA,4,{0x84,0x31,0xA1,0x38,}},
+ {0xFFDB,4,{0x84,0x31,0xA1,0x39,}},
+ {0xFFDC,4,{0x84,0x31,0xA2,0x30,}},
+ {0xFFDD,4,{0x84,0x31,0xA2,0x31,}},
+ {0xFFDE,4,{0x84,0x31,0xA2,0x32,}},
+ {0xFFDF,4,{0x84,0x31,0xA2,0x33,}},
+ {0xFFE0,2,{0xA1,0xE9,0x00,0x00,}},
+ {0xFFE1,2,{0xA1,0xEA,0x00,0x00,}},
+ {0xFFE2,2,{0xA9,0x56,0x00,0x00,}},
+ {0xFFE3,2,{0xA3,0xFE,0x00,0x00,}},
+ {0xFFE4,2,{0xA9,0x57,0x00,0x00,}},
+ {0xFFE5,2,{0xA3,0xA4,0x00,0x00,}},
+};
+
+unsigned int ngb18030_enums = sizeof( gb18030_enums ) / sizeof( gb18030_enums[0] );
+
diff --git a/support/texlab/crates/bibutils_sys/src/generic.c b/support/texlab/crates/bibutils_sys/src/generic.c
new file mode 100644
index 0000000000..a75ed67377
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/generic.c
@@ -0,0 +1,106 @@
+/* generic.c
+ *
+ * Copyright (c) Chris Putnam 2016-2019
+ *
+ * Source code released under GPL version 2
+ *
+ * xxxx_convertf() stubs that can be shared.
+ */
+#include "bu_auth.h"
+#include "marc_auth.h"
+#include "name.h"
+#include "notes.h"
+#include "pages.h"
+#include "serialno.h"
+#include "title.h"
+#include "url.h"
+#include "utf8.h"
+#include "generic.h"
+
+/* stub for processtypes that aren't used, such as DEFAULT and ALWAYS handled by bibcore.c */
+int
+generic_null( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ return BIBL_OK;
+}
+
+int
+generic_url( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ return urls_split_and_add( str_cstr( invalue ), bibout, level );
+}
+
+int
+generic_notes( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ if ( notes_add( bibout, invalue, level ) ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+}
+
+int
+generic_pages( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ if ( pages_add( bibout, outtag, invalue, level ) ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+}
+
+int
+generic_person( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ if ( name_add( bibout, outtag, str_cstr( invalue ), level, &(pm->asis), &(pm->corps) ) ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+}
+
+int
+generic_serialno( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ if ( addsn( bibout, str_cstr( invalue ), level ) ) return BIBL_OK;
+ return BIBL_ERR_MEMERR;
+}
+
+/* SIMPLE = just copy */
+int
+generic_simple( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ if ( fields_add( bibout, outtag, str_cstr( invalue ), level ) == FIELDS_OK ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+}
+
+/* just like generic_null(), but useful if we need one that isn't identical to generic_null() ala biblatexin.c */
+int
+generic_skip( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ fields_setused( bibin, n );
+ return BIBL_OK;
+}
+
+int
+generic_title( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ if ( title_process( bibout, outtag, str_cstr( invalue ), level, pm->nosplittitle ) ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+}
+
+int
+generic_genre( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int status;
+
+ if ( is_marc_genre( str_cstr( invalue ) ) )
+ status = fields_add( bibout, "GENRE:MARC", str_cstr( invalue ), level );
+
+ else if ( is_bu_genre( str_cstr( invalue ) ) )
+ status = fields_add( bibout, "GENRE:BIBUTILS", str_cstr( invalue ), level );
+
+ else
+ status = fields_add( bibout, "GENRE:UNKNOWN", str_cstr( invalue ), level );
+
+ if ( status == FIELDS_OK ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+}
+
+void
+generic_writeheader( FILE *outptr, param *pm )
+{
+ if ( pm->utf8bom ) utf8_writebom( outptr );
+}
diff --git a/support/texlab/crates/bibutils_sys/src/generic.h b/support/texlab/crates/bibutils_sys/src/generic.h
new file mode 100644
index 0000000000..84206ef6df
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/generic.h
@@ -0,0 +1,27 @@
+/* generic.h
+ *
+ * Copyright (c) Chris Putnam 2016-2019
+ *
+ * Source code released under GPL version 2
+ *
+ */
+#ifndef GENERIC_H
+#define GENERIC_H
+
+#include <stdio.h>
+#include "bibutils.h"
+
+int generic_null ( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout );
+int generic_url ( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout );
+int generic_notes ( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout );
+int generic_pages ( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout );
+int generic_person ( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout );
+int generic_serialno( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout );
+int generic_simple ( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout );
+int generic_skip ( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout );
+int generic_title ( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout );
+int generic_genre ( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout );
+
+void generic_writeheader( FILE *outptr, param *pm );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/intlist.c b/support/texlab/crates/bibutils_sys/src/intlist.c
new file mode 100644
index 0000000000..94ebc3d5da
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/intlist.c
@@ -0,0 +1,590 @@
+/*
+ * intlist.c
+ *
+ * Copyright (c) Chris Putnam 2007-2019
+ *
+ * Version 1/12/2017
+ *
+ * Source code released under the GPL version 2
+ *
+ * Implements a simple managed array of ints
+ *
+ */
+#include <stdlib.h>
+#include <assert.h>
+#include "intlist.h"
+
+#define INTLIST_MINALLOC (20)
+
+static int
+intlist_validn( intlist *il, int n )
+{
+ if ( n < 0 || n >= il->n ) return 0;
+ return 1;
+}
+
+int
+intlist_wasfound( intlist *il, int n )
+{
+ if ( n!=-1 ) return 1;
+ else return 0;
+}
+
+int
+intlist_wasnotfound( intlist *il, int n )
+{
+ if ( n==-1 ) return 1;
+ else return 0;
+}
+
+static int
+intlist_alloc( intlist *il, int alloc_size )
+{
+ il->data = ( int * ) calloc( alloc_size, sizeof( int ) );
+ if ( !(il->data) ) return INTLIST_MEMERR;
+ il->max = alloc_size;
+ il->n = 0;
+ return INTLIST_OK;
+}
+
+static int
+intlist_realloc( intlist *il, int alloc_size )
+{
+ int i, *more;
+
+ more = ( int * ) realloc( il->data, sizeof( int ) * alloc_size );
+ if ( !more ) return INTLIST_MEMERR;
+
+ il->data = more;
+ il->max = alloc_size;
+
+ for ( i=il->max; i<alloc_size; ++i )
+ il->data[i] = 0;
+
+ return INTLIST_OK;
+}
+
+static int
+intlist_ensure_space( intlist *il, int n )
+{
+ int alloc = n;
+
+ if ( il->max == 0 ) {
+ if ( alloc < INTLIST_MINALLOC ) alloc = INTLIST_MINALLOC;
+ return intlist_alloc( il, alloc );
+ }
+
+ else if ( il->max <= n ) {
+ if ( alloc < il->max * 2 ) alloc = il->max * 2;
+ return intlist_realloc( il, alloc );
+ }
+
+ return INTLIST_OK;
+}
+
+/* intlist_add()
+ *
+ * Returns INTLIST_OK/INTLIST_MEMERR
+ */
+int
+intlist_add( intlist *il, int value )
+{
+ int status;
+
+ assert( il );
+
+ status = intlist_ensure_space( il, il->n+1 );
+
+ if ( status == INTLIST_OK ) {
+ il->data[ il->n ] = value;
+ il->n++;
+ }
+
+ return status;
+}
+
+/* intlist_add_unique()
+ *
+ * Returns INTLIST_OK/INTLIST_MEMERR
+ */
+int
+intlist_add_unique( intlist *il, int value )
+{
+ int n;
+
+ assert( il );
+
+ n = intlist_find( il, value );
+ if ( intlist_wasnotfound( il, n ) )
+ return intlist_add( il, value );
+ else
+ return INTLIST_OK;
+}
+
+int
+intlist_find_or_add( intlist *il, int value )
+{
+ int n, status;
+
+ n = intlist_find( il, value );
+
+ if ( intlist_wasfound( il, n ) ) {
+ return n;
+ }
+
+ else {
+ status = intlist_add( il, value );
+ if ( status!=INTLIST_OK ) return -1;
+ else return il->n - 1;
+ }
+}
+
+/* intlist_find()
+ *
+ * Returns position of value in range [0,n), or -1 if
+ * value cannot be found
+ */
+int
+intlist_find( intlist *il, int value )
+{
+ int i;
+
+ assert( il );
+
+ for ( i=0; i<il->n; ++i )
+ if ( il->data[i]==value ) return i;
+
+ return -1;
+}
+
+static int
+intlist_remove_pos_core( intlist *il, int pos )
+{
+ int i;
+
+ assert( il );
+
+ for ( i=pos; i<il->n-1; ++i )
+ il->data[i] = il->data[i+1];
+ il->n -= 1;
+
+ return INTLIST_OK;
+}
+
+/* intlist_remove_pos()
+ *
+ * Returns INTLIST_OK on success.
+ */
+int
+intlist_remove_pos( intlist *il, int pos )
+{
+ assert( il );
+ assert( intlist_validn( il, pos ) );
+
+ return intlist_remove_pos_core( il, pos );
+}
+
+/* intlist_remove()
+ *
+ * Removes first instance of value from the intlist.
+ * Returns INTLIST_OK/INTLIST_VALUE_MISSING
+ */
+int
+intlist_remove( intlist *il, int value )
+{
+ int pos;
+
+ assert( il );
+
+ pos = intlist_find( il, value );
+ if ( pos==-1 ) return INTLIST_VALUE_MISSING;
+
+ return intlist_remove_pos_core( il, pos );
+}
+
+/* don't actually free space, just reset counter */
+void
+intlist_empty( intlist *il )
+{
+ assert( il );
+
+ il->n = 0;
+}
+
+void
+intlist_free( intlist *il )
+{
+ assert( il );
+
+ if ( il->data ) free( il->data );
+ intlist_init( il );
+}
+
+void
+intlist_delete( intlist *il )
+{
+ assert( il );
+
+ if ( il->data ) free( il->data );
+ free( il );
+}
+
+void
+intlist_init( intlist *il )
+{
+ assert( il );
+
+ il->data = NULL;
+ il->max = 0;
+ il->n = 0;
+}
+
+/* Returns INTLIST_OK/INTLIST_MEMERR
+ */
+int
+intlist_init_fill( intlist *il, int n, int v )
+{
+ intlist_init( il );
+ return intlist_fill( il, n, v );
+}
+
+/* intlist_init_range()
+ *
+ * Initializes intlist to values from [low,high) with step step.
+ * Returns INTLIST_OK/INTLIST_MEMERR.
+ */
+int
+intlist_init_range( intlist *il, int low, int high, int step )
+{
+ intlist_init( il );
+ return intlist_fill_range( il, low, high, step );
+}
+
+/* intlist_new()
+ *
+ * Allocates an empty intlist.
+ * Returns pointer to intlist on success, NULL on memory error.
+ */
+intlist *
+intlist_new( void )
+{
+ intlist *il;
+ il = ( intlist * ) malloc( sizeof( intlist ) );
+ if ( il ) intlist_init( il );
+ return il;
+}
+
+/* intlist_new_range()
+ *
+ * Allocates a intlist initialized to values from [low,high) in increments of step.
+ * Returns pointer to intlist on success, NULL on memory error.
+ */
+intlist *
+intlist_new_range( int low, int high, int step )
+{
+ intlist *il;
+ int status;
+
+ il = intlist_new();
+ if ( il ) {
+ status = intlist_fill_range( il, low, high, step );
+ if ( status==INTLIST_MEMERR ) {
+ intlist_free( il );
+ free( il );
+ il = NULL;
+ }
+ }
+ return il;
+}
+
+/* intlist_new_range()
+ *
+ * Allocates a intlist initialized to n elements with value v.
+ * Returns pointer to intlist on success, NULL on memory error.
+ */
+intlist *
+intlist_new_fill( int n, int v )
+{
+ intlist *il;
+ int status;
+
+ il = intlist_new();
+ if ( il ) {
+ status = intlist_fill( il, n, v );
+ if ( status==INTLIST_MEMERR ) {
+ intlist_free( il );
+ free( il );
+ il = NULL;
+ }
+ }
+ return il;
+}
+
+/* intlist_fill()
+ *
+ * Fill an intlist with n elements of value v.
+ *
+ * Returns INTLIST_OK or INTLIST_MEMERR.
+ */
+int
+intlist_fill( intlist *il, int n, int v )
+{
+ int i, status;
+
+ assert ( n > 0 );
+
+ status = intlist_ensure_space( il, n );
+
+ if ( status==INTLIST_OK ) {
+
+ for ( i=0; i<n; ++i )
+ il->data[i] = v;
+
+ il->n = n;
+
+ }
+
+ return status;
+}
+
+/* intlist_fill_range()
+ *
+ * Fill an intlist with the values [low,high) in increments of step
+ *
+ * Returns INTLIST_OK or INTLIST_MEMERR.
+ */
+int
+intlist_fill_range( intlist *il, int low, int high, int step )
+{
+ int i, n, status;
+
+ n = ( high - low ) / step + 1;
+
+ assert ( n > 0 );
+
+ status = intlist_ensure_space( il, n );
+
+ if ( status==INTLIST_OK ) {
+
+ il->n = 0;
+
+ /* ...fill intlist with range */
+ if ( step > 0 ) {
+ for ( i=low; i<high; i+=step ) {
+ il->data[il->n] = i;
+ il->n += 1;
+ }
+ }
+ else {
+ for ( i=low; i>high; i+=step ) {
+ il->data[il->n] = i;
+ il->n += 1;
+ }
+ }
+
+ }
+
+ return status;
+}
+
+static int
+intcomp( const void *v1, const void *v2 )
+{
+ int *i1 = ( int * ) v1;
+ int *i2 = ( int * ) v2;
+ if ( *i1 < *i2 ) return -1;
+ else if ( *i1 > *i2 ) return 1;
+ return 0;
+}
+
+void
+intlist_sort( intlist *il )
+{
+ assert( il );
+
+ qsort( il->data, il->n, sizeof( int ), intcomp );
+}
+
+/* Returns random integer in the range [floor,ceil) */
+static int
+randomint( int floor, int ceil )
+{
+ int len = ceil - floor;
+ return floor + rand() % len;
+}
+
+static void
+swap( int *a, int *b )
+{
+ int tmp;
+ tmp = *a;
+ *a = *b;
+ *b = tmp;
+}
+
+void
+intlist_randomize( intlist *il )
+{
+ int i, j;
+
+ assert( il );
+
+ if ( il->n < 2 ) return;
+ for ( i=0; i<il->n; ++i ) {
+ j = randomint( i, il->n );
+ if ( i==j ) continue;
+ swap( &(il->data[i]), &(il->data[j]) );
+ }
+}
+
+/* Returns INTLIST_OK/INTLIST_MEMERR */
+int
+intlist_copy( intlist *to, intlist *from )
+{
+ int i, status;
+
+ assert( to );
+ assert( from );
+
+ status = intlist_ensure_space( to, from->n );
+
+ if ( status==INTLIST_OK ) {
+
+ to->n = from->n;
+
+ for ( i=0; i<from->n; ++i )
+ to->data[i] = from->data[i];
+
+ }
+
+ return status;
+}
+
+/* Returns pointer on success, NULL on error */
+intlist *
+intlist_dup( intlist *il )
+{
+ intlist *l;
+ int status;
+
+ assert( il );
+
+ l = intlist_new();
+ if ( l ) {
+ status = intlist_copy( l, il );
+ if ( status==INTLIST_MEMERR ) {
+ intlist_delete( l );
+ l = NULL;
+ }
+ }
+
+ return l;
+}
+
+int
+intlist_append( intlist *to, intlist *from )
+{
+ int i, status;
+
+ assert( to );
+ assert( from );
+
+ status = intlist_ensure_space( to, to->n + from->n );
+
+ if ( status == INTLIST_OK ) {
+
+ for ( i=0; i<from->n; ++i )
+ to->data[ to->n + i ] = from->data[ i ];
+
+ to->n += from->n;
+ }
+
+ return status;
+}
+
+int
+intlist_append_unique( intlist *to, intlist *from )
+{
+ int i, nsave, status = INTLIST_OK;
+
+ assert( to );
+ assert( from );
+
+ nsave = to->n;
+ for ( i=0; i<from->n; ++i ) {
+ if ( intlist_find( to, from->data[i] )!=-1 ) continue;
+ status = intlist_add( to, from->data[i] );
+ if ( status==INTLIST_MEMERR ) {
+ to->n = nsave;
+ }
+ }
+ return status;
+}
+
+int
+intlist_get( intlist *il, int pos )
+{
+ assert( il );
+ assert( intlist_validn( il, pos ) );
+
+ return il->data[pos];
+}
+
+/* intlist_set()
+ *
+ * Returns INTLIST_OK
+ */
+int
+intlist_set( intlist *il, int pos, int value )
+{
+ assert( il );
+ assert( intlist_validn( il, pos ) );
+
+ il->data[pos] = value;
+ return INTLIST_OK;
+}
+
+float
+intlist_median( intlist *il )
+{
+ intlist *tmp;
+ float median;
+ int m1, m2;
+
+ assert( il );
+
+ if ( il->n==0 ) return 0.0;
+
+ tmp = intlist_dup( il );
+ if ( !tmp ) return 0.0;
+
+ intlist_sort( tmp );
+
+ if ( tmp->n % 2 == 1 ) {
+ median = intlist_get( tmp, tmp->n / 2 );
+ } else {
+ m1 = intlist_get( tmp, tmp->n / 2 );
+ m2 = intlist_get( tmp, tmp->n / 2 - 1);
+ median = ( m1 + m2 ) / 2.0;
+ }
+
+ intlist_delete( tmp );
+
+ return median;
+}
+
+float
+intlist_mean( intlist *il )
+{
+ float sum = 0.0;
+ int i;
+
+ assert( il );
+
+ if ( il->n==0 ) return 0.0;
+
+ for ( i=0; i<il->n; ++i )
+ sum += intlist_get( il, i );
+
+ return sum / il->n;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/intlist.h b/support/texlab/crates/bibutils_sys/src/intlist.h
new file mode 100644
index 0000000000..c98f145e2f
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/intlist.h
@@ -0,0 +1,52 @@
+/*
+ * intlist.h
+ *
+ * Copyright (c) Chris Putnam 2007-2019
+ *
+ * Version 01/12/2017
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+
+#ifndef INTLIST_H
+#define INTLIST_H
+
+#define INTLIST_OK (0)
+#define INTLIST_MEMERR (-1)
+#define INTLIST_VALUE_MISSING (-2)
+
+typedef struct intlist {
+ int n, max;
+ int *data;
+} intlist;
+
+void intlist_init( intlist *il );
+int intlist_init_fill( intlist *il, int n, int value );
+int intlist_init_range( intlist *il, int low, int high, int step );
+intlist * intlist_new( void );
+intlist * intlist_new_fill( int n, int value );
+intlist * intlist_new_range( int low, int high, int step );
+void intlist_delete( intlist *il );
+void intlist_sort( intlist *il );
+void intlist_randomize( intlist *il );
+int intlist_add( intlist *il, int value );
+int intlist_add_unique( intlist *il, int value );
+int intlist_fill( intlist *il, int n, int value );
+int intlist_fill_range( intlist *il, int low, int high, int step );
+int intlist_find( intlist *il, int searchvalue );
+int intlist_find_or_add( intlist *il, int searchvalue );
+void intlist_empty( intlist *il );
+void intlist_free( intlist *il );
+int intlist_copy( intlist *to, intlist *from );
+intlist * intlist_dup( intlist *from );
+int intlist_get( intlist *il, int pos );
+int intlist_set( intlist *il, int pos, int value );
+int intlist_remove( intlist *il, int searchvalue );
+int intlist_remove_pos( intlist *il, int pos );
+int intlist_append( intlist *to, intlist *from );
+int intlist_append_unique( intlist *to, intlist *from );
+float intlist_median( intlist *il );
+float intlist_mean( intlist *il );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/is_ws.c b/support/texlab/crates/bibutils_sys/src/is_ws.c
new file mode 100644
index 0000000000..4f9e22e35b
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/is_ws.c
@@ -0,0 +1,48 @@
+/*
+ * is_ws.c
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include "is_ws.h"
+
+/* is_ws(), is whitespace */
+int
+is_ws( const char ch )
+{
+ if ( ch==' ' || ch=='\n' || ch=='\t' || ch=='\r' ) return 1;
+ else return 0;
+}
+
+const char *
+skip_ws( const char *p )
+{
+ if ( p ) {
+ while ( is_ws( *p ) ) p++;
+ }
+ return p;
+}
+
+const char *
+skip_notws( const char *p )
+{
+ if ( p ) {
+ while ( *p && !is_ws( *p ) ) p++;
+ }
+ return p;
+}
+
+const char *
+skip_line( const char *p )
+{
+ /* ...skip until end-of-line markers */
+ while ( *p && *p!='\n' && *p!='\r' ) p++;
+
+ /* ...skip end-of-line marker */
+ if ( *p=='\r' ) p++; /* for CR LF or just CR end of lines */
+ if ( *p=='\n' ) p++;
+
+ return p;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/is_ws.h b/support/texlab/crates/bibutils_sys/src/is_ws.h
new file mode 100644
index 0000000000..7e2adbaf82
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/is_ws.h
@@ -0,0 +1,18 @@
+/*
+ * is_ws.h
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef IS_WS_H
+#define IS_WS_H
+
+int is_ws( const char ch );
+const char *skip_ws( const char *p );
+const char *skip_notws( const char *p );
+const char *skip_line( const char *p );
+
+#endif
+
diff --git a/support/texlab/crates/bibutils_sys/src/isiin.c b/support/texlab/crates/bibutils_sys/src/isiin.c
new file mode 100644
index 0000000000..8fd3945bc6
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/isiin.c
@@ -0,0 +1,420 @@
+/*
+ * isiin.c
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include "is_ws.h"
+#include "str.h"
+#include "str_conv.h"
+#include "name.h"
+#include "fields.h"
+#include "reftypes.h"
+#include "bibformats.h"
+#include "generic.h"
+
+extern variants isi_all[];
+extern int isi_nall;
+
+static int isiin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset );
+static int isiin_typef( fields *isiin, const char *filename, int nref, param *p );
+static int isiin_convertf( fields *isiin, fields *info, int reftype, param *p );
+static int isiin_processf( fields *isiin, const char *p, const char *filename, long nref, param *pm );
+
+
+/*****************************************************
+ PUBLIC: void isiin_initparams()
+*****************************************************/
+int
+isiin_initparams( param *pm, const char *progname )
+{
+ pm->readformat = BIBL_ISIIN;
+ pm->charsetin = BIBL_CHARSET_DEFAULT;
+ pm->charsetin_src = BIBL_SRC_DEFAULT;
+ pm->latexin = 0;
+ pm->xmlin = 0;
+ pm->utf8in = 0;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->output_raw = 0;
+
+ pm->readf = isiin_readf;
+ pm->processf = isiin_processf;
+ pm->cleanf = NULL;
+ pm->typef = isiin_typef;
+ pm->convertf = isiin_convertf;
+ pm->all = isi_all;
+ pm->nall = isi_nall;
+
+ slist_init( &(pm->asis) );
+ slist_init( &(pm->corps) );
+
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int isiin_readf()
+*****************************************************/
+
+/* ISI definition of a tag is strict:
+ * char 1 = uppercase alphabetic character
+ * char 2 = uppercase alphabetic character or digit
+ */
+
+static int
+is_isi_tag( const char *buf )
+{
+ if ( !isupper( (unsigned char )buf[0] ) ) return 0;
+ if ( !( isupper( (unsigned char )buf[1] ) || isdigit( (unsigned char )buf[1] ) ) ) return 0;
+ return 1;
+}
+
+static int
+readmore( FILE *fp, char *buf, int bufsize, int *bufpos, str *line )
+{
+ if ( line->len ) return 1;
+ else return str_fget( fp, buf, bufsize, bufpos, line );
+}
+
+static int
+isiin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset )
+{
+ int haveref = 0, inref = 0;
+ char *p;
+ *fcharset = CHARSET_UNKNOWN;
+ while ( !haveref && readmore( fp, buf, bufsize, bufpos, line ) ) {
+ if ( !line->data ) continue;
+ p = &(line->data[0]);
+ /* Recognize UTF8 BOM */
+ if ( line->len > 2 &&
+ (unsigned char)(p[0])==0xEF &&
+ (unsigned char)(p[1])==0xBB &&
+ (unsigned char)(p[2])==0xBF ) {
+ *fcharset = CHARSET_UNICODE;
+ p += 3;
+ }
+ /* Each reference ends with 'ER ' */
+ if ( is_isi_tag( p ) ) {
+ if ( !strncmp( p, "FN ", 3 ) ) {
+ if (strncasecmp( p, "FN ISI Export Format",20)){
+ fprintf( stderr, ": warning file FN type not '%s' not recognized.\n", /*r->progname,*/ p );
+ }
+ } else if ( !strncmp( p, "VR ", 3 ) ) {
+ if ( strncasecmp( p, "VR 1.0", 6 ) ) {
+ fprintf(stderr,": warning file version number '%s' not recognized, expected 'VR 1.0'\n", /*r->progname,*/ p );
+ }
+ } else if ( !strncmp( p, "ER", 2 ) ) haveref = 1;
+ else {
+ str_addchar( reference, '\n' );
+ str_strcatc( reference, p );
+ inref = 1;
+ }
+ str_empty( line );
+ }
+ /* not a tag, but we'll append to the last values */
+ else if ( inref ) {
+ str_addchar( reference, '\n' );
+ str_strcatc( reference, p );
+ str_empty( line );
+ }
+ else {
+ str_empty( line );
+ }
+ }
+ return haveref;
+}
+
+/*****************************************************
+ PUBLIC: int isiin_processf()
+*****************************************************/
+
+static const char *
+process_tagged_line( str *tag, str *data, const char *p )
+{
+ int i;
+
+ /* collect tag and skip past it */
+ i = 0;
+ while ( i<2 && *p && *p!='\r' && *p!='\n') {
+ str_addchar( tag, *p++ );
+ i++;
+ }
+ while ( *p==' ' || *p=='\t' ) p++;
+ while ( *p && *p!='\r' && *p!='\n' )
+ str_addchar( data, *p++ );
+ str_trimendingws( data );
+ while ( *p=='\r' || *p=='\n' ) p++;
+ return p;
+}
+
+static const char *
+process_untagged_line( str *data, const char *p )
+{
+ while ( *p==' ' || *p=='\t' ) p++;
+ while ( *p && *p!='\r' && *p!='\n' )
+ str_addchar( data, *p++ );
+ str_trimendingws( data );
+ while ( *p=='\r' || *p=='\n' ) p++;
+ return p;
+}
+
+static int
+add_tag_value( fields *isiin, str *tag, str *value, int *tag_added )
+{
+ int status;
+
+ if ( str_has_value( tag ) && str_has_value( value ) ) {
+ status = fields_add( isiin, str_cstr( tag ), str_cstr( value ), 0 );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ *tag_added = 1;
+ }
+
+ else {
+ *tag_added = 0;
+ }
+
+ return BIBL_OK;
+}
+
+static int
+merge_tag_value( fields *isiin, str *tag, str *value, int *tag_added )
+{
+ int n, status;
+
+ if ( str_has_value( value ) ) {
+
+ if ( *tag_added==1 ) {
+
+ n = fields_num( isiin );
+ if ( n==0 ) return BIBL_OK;
+
+ /* only one AU or AF for list of authors */
+ if ( !strcmp( str_cstr( tag ), "AU" ) ) {
+ status = fields_add( isiin, "AU", str_cstr( value ), 0 );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ } else if ( !strcmp( str_cstr( tag ), "AF" ) ) {
+ status = fields_add( isiin, "AF", str_cstr( value ), 0 );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ /* otherwise append multiline data */
+ else {
+ str_addchar( &(isiin->data[n-1]),' ');
+ str_strcat( &(isiin->data[n-1]), value );
+ if ( str_memerr( &(isiin->data[n-1]) ) ) return BIBL_ERR_MEMERR;
+ }
+ }
+
+ else {
+ status = fields_add( isiin, str_cstr( tag ), str_cstr( value ), 0 );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ *tag_added = 1;
+ }
+ }
+
+ return BIBL_OK;
+}
+
+static int
+isiin_processf( fields *isiin, const char *p, const char *filename, long nref, param *pm )
+{
+ int status, tag_added = 0, ret = 1;
+ str tag, value;
+
+ strs_init( &tag, &value, NULL );
+
+ while ( *p ) {
+
+ /* ...with tag, add */
+ if ( is_isi_tag( p ) ) {
+ str_empty( &tag );
+ str_empty( &value );
+ p = process_tagged_line( &tag, &value, p );
+ status = add_tag_value( isiin, &tag, &value, &tag_added );
+ if ( status!=BIBL_OK ) {
+ ret = 0;
+ goto out;
+ }
+ }
+
+ /* ...untagged, merge -- one AU or AF for list of authors */
+ else {
+ str_empty( &value );
+ p = process_untagged_line( &value, p );
+ status = merge_tag_value( isiin, &tag, &value, &tag_added );
+ if ( status!=BIBL_OK ) {
+ ret = 0;
+ goto out;
+ }
+ }
+
+ }
+out:
+ strs_free( &value, &tag, NULL );
+ return ret;
+}
+
+/*****************************************************
+ PUBLIC: int isiin_typef()
+*****************************************************/
+static int
+isiin_typef( fields *isiin, const char *filename, int nref, param *p )
+{
+ int ntypename, nrefname, is_default;
+ char *refname = "", *typename="";
+
+ ntypename = fields_find( isiin, "PT", LEVEL_MAIN );
+ nrefname = fields_find( isiin, "UT", LEVEL_MAIN );
+
+ if ( nrefname!=FIELDS_NOTFOUND ) refname = fields_value( isiin, nrefname, FIELDS_CHRP_NOUSE );
+ if ( ntypename!=FIELDS_NOTFOUND ) typename = fields_value( isiin, ntypename, FIELDS_CHRP_NOUSE );
+
+ return get_reftype( typename, nref, p->progname, p->all, p->nall, refname, &is_default, REFTYPE_CHATTY );
+}
+
+/*****************************************************
+ PUBLIC: int isiin_convertf(), returns BIBL_OK or BIBL_ERR_MEMERR
+*****************************************************/
+
+/* pull off authors first--use AF before AU */
+static int
+isiin_addauthors( fields *isiin, fields *info, int reftype, variants *all, int nall, slist *asis, slist *corps )
+{
+ char *newtag, *authortype, use_af[]="AF", use_au[]="AU";
+ int level, i, n, has_af=0, has_au=0, nfields, ok;
+ str *t, *d;
+
+ nfields = fields_num( isiin );
+ for ( i=0; i<nfields && has_af==0; ++i ) {
+ t = fields_tag( isiin, i, FIELDS_STRP );
+ if ( !strcasecmp( t->data, "AU" ) ) has_au++;
+ if ( !strcasecmp( t->data, "AF" ) ) has_af++;
+ }
+ if ( has_af ) authortype = use_af;
+ else if ( has_au ) authortype = use_au;
+ else return BIBL_OK; /* no authors */
+
+ for ( i=0; i<nfields; ++i ) {
+ t = fields_tag( isiin, i, FIELDS_STRP );
+ if ( strcasecmp( t->data, authortype ) ) continue;
+ d = fields_value( isiin, i, FIELDS_STRP );
+ n = process_findoldtag( authortype, reftype, all, nall );
+ level = ((all[reftype]).tags[n]).level;
+ newtag = all[reftype].tags[n].newstr;
+ ok = name_add( info, newtag, d->data, level, asis, corps );
+ if ( !ok ) return BIBL_ERR_MEMERR;
+ }
+ return BIBL_OK;
+}
+
+static int
+isiin_keyword( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int fstatus, status = BIBL_OK;
+ const char *p = invalue->data;
+ str keyword;
+
+ str_init( &keyword );
+ while ( *p ) {
+ p = str_cpytodelim( &keyword, skip_ws( p ), ";", 1 );
+ if ( str_memerr( &keyword ) ) { status = BIBL_ERR_MEMERR; goto out; }
+ if ( str_has_value( &keyword ) ) {
+ fstatus = fields_add( bibout, outtag, keyword.data, level );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+ }
+ }
+out:
+ str_free( &keyword );
+ return status;
+}
+
+static void
+isiin_report_notag( param *p, char *tag )
+{
+ if ( p->verbose && strcmp( tag, "PT" ) ) {
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Did not identify ISI tag '%s'\n", tag );
+ }
+}
+
+static int
+isiin_convertf( fields *bibin, fields *bibout, int reftype, param *p )
+{
+ static int (*convertfns[NUM_REFTYPES])(fields *, int, str *, str *, int, param *, char *, fields *) = {
+ // Patch: Fix compilation on MSVC target
+ [ 0 ] = generic_null,
+ [ 1 ] = generic_null,
+ [ 2 ] = generic_null,
+ [ 3 ] = generic_null,
+ [ 4 ] = generic_null,
+ [ 5 ] = generic_null,
+ [ 6 ] = generic_null,
+ [ 7 ] = generic_null,
+ [ 8 ] = generic_null,
+ [ 9 ] = generic_null,
+ [ 10 ] = generic_null,
+ [ 11 ] = generic_null,
+ [ 12 ] = generic_null,
+ [ 13 ] = generic_null,
+ [ 14 ] = generic_null,
+ [ 15 ] = generic_null,
+ [ 16 ] = generic_null,
+ [ 17 ] = generic_null,
+ [ 18 ] = generic_null,
+ [ 19 ] = generic_null,
+ [ 20 ] = generic_null,
+ [ 21 ] = generic_null,
+ [ 22 ] = generic_null,
+ [ 23 ] = generic_null,
+ [ 24 ] = generic_null,
+ [ 25 ] = generic_null,
+ [ SIMPLE ] = generic_simple,
+ [ TITLE ] = generic_title,
+ [ PERSON ] = generic_person,
+ [ SERIALNO ] = generic_serialno,
+ [ DATE ] = generic_simple,
+ [ NOTES ] = generic_notes,
+ [ KEYWORD ] = isiin_keyword,
+ };
+
+ int process, level, i, nfields, status;
+ str *intag, *invalue;
+ char *outtag;
+
+ status = isiin_addauthors( bibin, bibout, reftype, p->all, p->nall, &(p->asis), &(p->corps) );
+ if ( status!=BIBL_OK ) return status;
+
+ nfields = fields_num( bibin );
+ for ( i=0; i<nfields; ++i ) {
+
+ intag = fields_tag( bibin, i, FIELDS_STRP );
+ if ( !strcasecmp( str_cstr( intag ), "AU" ) || !strcasecmp( str_cstr( intag ), "AF" ) )
+ continue;
+
+ if ( !translate_oldtag( str_cstr( intag ), reftype, p->all, p->nall, &process, &level, &outtag ) ) {
+ isiin_report_notag( p, str_cstr( intag ) );
+ continue;
+ }
+
+ invalue = fields_value( bibin, i, FIELDS_STRP );
+
+ status = convertfns[ process ] ( bibin, i, intag, invalue, level, p, outtag, bibout );
+ if ( status!=BIBL_OK ) return status;
+ }
+
+ if ( status==BIBL_OK && p->verbose ) fields_report( bibout, stderr );
+
+ return status;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/isiout.c b/support/texlab/crates/bibutils_sys/src/isiout.c
new file mode 100644
index 0000000000..fdc4408af4
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/isiout.c
@@ -0,0 +1,363 @@
+/*
+ * isiout.c
+ *
+ * Copyright (c) Chris Putnam 2008-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "bibformats.h"
+#include "bibutils.h"
+#include "fields.h"
+#include "generic.h"
+#include "str.h"
+#include "title.h"
+#include "type.h"
+#include "utf8.h"
+
+/*****************************************************
+ PUBLIC: int isiout_initparams()
+*****************************************************/
+
+static int isiout_write( fields *info, FILE *fp, param *p, unsigned long refnum );
+static int isiout_assemble( fields *in, fields *out, param *pm, unsigned long refnum );
+
+int
+isiout_initparams( param *pm, const char *progname )
+{
+ pm->writeformat = BIBL_ISIOUT;
+ pm->format_opts = 0;
+ pm->charsetout = BIBL_CHARSET_DEFAULT;
+ pm->charsetout_src = BIBL_SRC_DEFAULT;
+ pm->latexout = 0;
+ pm->utf8out = BIBL_CHARSET_UTF8_DEFAULT;
+ pm->utf8bom = BIBL_CHARSET_BOM_DEFAULT;
+ pm->xmlout = BIBL_XMLOUT_FALSE;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->singlerefperfile = 0;
+
+ if ( pm->charsetout == BIBL_CHARSET_UNICODE ) {
+ pm->utf8out = pm->utf8bom = 1;
+ }
+
+ pm->headerf = generic_writeheader;
+ pm->footerf = NULL;
+ pm->assemblef = isiout_assemble;
+ pm->writef = isiout_write;
+
+ if ( !pm->progname ) {
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int isiout_assemble()
+*****************************************************/
+
+enum {
+ TYPE_UNKNOWN = 0,
+ TYPE_ARTICLE = 1,
+ TYPE_INBOOK = 2,
+ TYPE_BOOK = 3,
+};
+
+static int
+get_type( fields *in )
+{
+ match_type genre_matches[] = {
+ { "periodical", TYPE_ARTICLE, LEVEL_ANY },
+ { "academic journal", TYPE_ARTICLE, LEVEL_ANY },
+ { "journal article", TYPE_ARTICLE, LEVEL_ANY },
+ { "book", TYPE_BOOK, LEVEL_MAIN },
+ { "book", TYPE_INBOOK, LEVEL_ANY },
+ { "book chapter", TYPE_INBOOK, LEVEL_ANY },
+ { "collection", TYPE_BOOK, LEVEL_MAIN },
+ { "collection", TYPE_INBOOK, LEVEL_ANY },
+ };
+
+ int ngenre_matches = sizeof( genre_matches ) / sizeof( genre_matches[0] );
+
+ match_type issuance_matches[] = {
+ { "monographic", TYPE_BOOK, LEVEL_MAIN },
+ { "monographic", TYPE_INBOOK, LEVEL_ANY },
+ };
+ int nissuance_matches = sizeof( issuance_matches ) / sizeof( issuance_matches[0] );
+
+ int type;
+
+ type = type_from_mods_hints( in, TYPE_FROM_GENRE, genre_matches, ngenre_matches, TYPE_UNKNOWN );
+ if ( type!=TYPE_UNKNOWN ) return type;
+
+ return type_from_mods_hints( in, TYPE_FROM_ISSUANCE, issuance_matches, nissuance_matches, TYPE_UNKNOWN );
+}
+
+static void
+append_type( int type, fields *out, int *status )
+{
+ int fstatus;
+ char *s;
+
+ switch( type ) {
+ case TYPE_ARTICLE: s = "Journal"; break;
+ case TYPE_INBOOK: s = "Chapter"; break;
+ case TYPE_BOOK: s = "Book"; break;
+ default: s = "Unknown"; break;
+ }
+
+ fstatus = fields_add( out, "PT", s, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+}
+
+static void
+append_titlecore( fields *in, char *isitag, int level, char *maintag, char *subtag, fields *out, int *status )
+{
+ str *mainttl = fields_findv( in, level, FIELDS_STRP, maintag );
+ str *subttl = fields_findv( in, level, FIELDS_STRP, subtag );
+ str fullttl;
+ int fstatus;
+
+ str_init( &fullttl );
+ title_combine( &fullttl, mainttl, subttl );
+
+ if ( str_memerr( &fullttl ) ) {
+ *status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ if ( str_has_value( &fullttl ) ) {
+ fstatus = fields_add( out, isitag, str_cstr( &fullttl ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+out:
+ str_free( &fullttl );
+}
+
+static void
+append_title( fields *in, char *isitag, int level, fields *out, int *status )
+{
+ append_titlecore( in, isitag, level, "TITLE", "SUBTITLE", out, status );
+}
+
+static void
+append_abbrtitle( fields *in, char *isitag, int level, fields *out, int *status )
+{
+ append_titlecore( in, isitag, level, "SHORTTITLE", "SHORTSUBTITLE", out, status );
+}
+
+static void
+append_keywords( fields *in, fields *out, int *status )
+{
+ vplist_index i;
+ str keywords;
+ int fstatus;
+ vplist kw;
+
+ str_init( &keywords );
+ vplist_init( &kw );
+
+ fields_findv_each( in, LEVEL_ANY, FIELDS_STRP, &kw, "KEYWORD" );
+ if ( kw.n ) {
+ for ( i=0; i<kw.n; ++i ) {
+ if ( i>0 ) str_strcatc( &keywords, "; " );
+ str_strcat( &keywords, (str *) vplist_get( &kw, i ) );
+ }
+ if ( str_memerr( &keywords ) ) { *status = BIBL_ERR_MEMERR; goto out; }
+ fstatus = fields_add( out, "DE", str_cstr( &keywords ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) { *status = BIBL_ERR_MEMERR; goto out; }
+ }
+out:
+ vplist_free( &kw );
+ str_free( &keywords );
+}
+
+static void
+process_person( str *person, char *name )
+{
+ str family, given, suffix;
+ char *p = name;
+
+ str_empty( person );
+
+ strs_init( &family, &given, &suffix, NULL );
+
+ while ( *p && *p!='|' )
+ str_addchar( &family, *p++ );
+
+ while ( *p=='|' && *(p+1)!='|' ) {
+ p++;
+ if ( *p!='|' ) str_addchar( &given, *p++ );
+ while ( *p && *p!='|' ) p++;
+ }
+
+ if ( *p=='|' && *(p+1)=='|' ) {
+ p += 2;
+ while ( *p && *p!='|' ) str_addchar( &suffix, *p++ );
+ }
+
+ if ( str_has_value( &family ) ) str_strcat( person, &family );
+ if ( str_has_value( &suffix ) ) {
+ if ( str_has_value( &family ) ) str_strcatc( person, " " );
+ str_strcat( person, &suffix );
+ }
+ if ( str_has_value( &given ) ) {
+ if ( str_has_value( person ) ) str_strcatc( person, ", " );
+ str_strcat( person, &given );
+ }
+
+ strs_free( &family, &given, &suffix, NULL );
+}
+
+static void
+append_people( fields *f, char *tag, char *isitag, int level, fields *out, int *status )
+{
+ vplist_index i;
+ vplist people;
+ str person;
+ int fstatus;
+
+ str_init( &person );
+ vplist_init( &people );
+
+ fields_findv_each( f, level, FIELDS_CHRP, &people, tag );
+ for ( i=0; i<people.n; ++i ) {
+ process_person( &person, (char *)vplist_get( &people, i ) );
+ if ( str_memerr( &person ) ) { *status = BIBL_ERR_MEMERR; goto out; }
+ if ( i==0 ) fstatus = fields_add_can_dup( out, isitag, str_cstr( &person ), LEVEL_MAIN );
+ else fstatus = fields_add_can_dup( out, " ", str_cstr( &person ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) { *status = BIBL_ERR_MEMERR; goto out; }
+ }
+
+out:
+ vplist_free( &people );
+ str_free( &person );
+}
+
+static void
+append_easy( fields *in, char *tag, char *isitag, int level, fields *out, int *status )
+{
+ char *value;
+ int fstatus;
+
+ value = fields_findv( in, level, FIELDS_CHRP, tag );
+ if ( value ) {
+ fstatus = fields_add( out, isitag, value, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+}
+
+static void
+append_easyall( fields *in, char *tag, char *isitag, int level, fields *out, int *status )
+{
+ vplist_index i;
+ int fstatus;
+ vplist a;
+
+ vplist_init( &a );
+ fields_findv_each( in, level, FIELDS_CHRP, &a, tag );
+ for ( i=0; i<a.n; ++i ) {
+ fstatus = fields_add( out, isitag, (char *) vplist_get( &a, i ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ vplist_free( &a );
+}
+
+static void
+append_date( fields *in, fields *out, int *status )
+{
+ char *month, *year;
+ int fstatus;
+
+ month = fields_findv_firstof( in, LEVEL_ANY, FIELDS_CHRP, "PARTDATE:MONTH", "DATE:MONTH", NULL );
+ if ( month ) {
+ fstatus = fields_add( out, "PD", month, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ year = fields_findv_firstof( in, LEVEL_ANY, FIELDS_CHRP, "PARTDATE:YEAR", "DATE:YEAR", NULL );
+ if ( year ) {
+ fstatus = fields_add( out, "PY", year, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+}
+
+static int
+isiout_assemble( fields *in, fields *out, param *pm, unsigned long refnum )
+{
+ int type, status = BIBL_OK;
+
+ type = get_type( in );
+
+ append_type ( type, out, &status );
+ append_people ( in, "AUTHOR", "AU", LEVEL_MAIN, out, &status );
+ append_easyall( in, "AUTHOR:CORP", "AU", LEVEL_MAIN, out, &status );
+ append_easyall( in, "AUTHOR:ASIS", "AU", LEVEL_MAIN, out, &status );
+
+ append_title ( in, "TI", LEVEL_MAIN, out, &status );
+ if ( type==TYPE_ARTICLE ) {
+ append_title( in, "SO", LEVEL_HOST, out, &status );
+ append_abbrtitle( in, "JI", LEVEL_HOST, out, &status );
+ append_title( in, "SE", LEVEL_SERIES, out, &status );
+ } else if ( type==TYPE_INBOOK ) {
+ append_title( in, "BT", LEVEL_HOST, out, &status );
+ append_title( in, "SE", LEVEL_SERIES, out, &status );
+ } else { /* type==BOOK */
+ append_title( in, "SE", LEVEL_HOST, out, &status );
+ }
+
+ append_date( in, out, &status );
+
+ append_easy( in, "PAGES:START", "BP", LEVEL_ANY, out, &status );
+ append_easy( in, "PAGES:STOP", "EP", LEVEL_ANY, out, &status );
+ append_easy( in, "ARTICLENUMBER", "AR", LEVEL_ANY, out, &status );
+ append_easy( in, "PAGES:TOTAL", "PG", LEVEL_ANY, out, &status );
+
+ append_easy( in, "VOLUME", "VL", LEVEL_ANY, out, &status );
+ append_easy( in, "ISSUE", "IS", LEVEL_ANY, out, &status );
+ append_easy( in, "NUMBER", "IS", LEVEL_ANY, out, &status );
+ append_easy( in, "PUBLISHER", "PU", LEVEL_ANY, out, &status );
+ append_easy( in, "DOI", "DI", LEVEL_ANY, out, &status );
+ append_easy( in, "URL", "WP", LEVEL_ANY, out, &status );
+ append_easy( in, "ISIREFNUM", "UT", LEVEL_ANY, out, &status );
+ append_easy( in, "LANGUAGE", "LA", LEVEL_ANY, out, &status );
+ append_easy( in, "ISIDELIVERNUM", "GA", LEVEL_ANY, out, &status );
+ append_keywords( in, out, &status );
+ append_easy( in, "ISBN", "SN", LEVEL_ANY, out, &status );
+ append_easy( in, "ISSN", "SN", LEVEL_ANY, out, &status );
+ append_easy( in, "ABSTRACT", "AB", LEVEL_ANY, out, &status );
+ append_easy( in, "TIMESCITED", "TC", LEVEL_ANY, out, &status );
+ append_easy( in, "NUMBERREFS", "NR", LEVEL_ANY, out, &status );
+ append_easy( in, "CITEDREFS", "CR", LEVEL_ANY, out, &status );
+ append_easy( in, "ADDRESS", "PI", LEVEL_ANY, out, &status );
+
+ return status;
+}
+
+/*****************************************************
+ PUBLIC: int isiout_write()
+*****************************************************/
+
+static int
+isiout_write( fields *out, FILE *fp, param *p, unsigned long refnum )
+{
+ int i;
+
+ for ( i=0; i<out->n; ++i ) {
+ fprintf( fp, "%s %s\n",
+ ( char * ) fields_tag ( out, i, FIELDS_CHRP ),
+ ( char * ) fields_value( out, i, FIELDS_CHRP )
+ );
+ }
+ fprintf( fp, "ER\n\n" );
+ fflush( fp );
+ return BIBL_OK;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/isitypes.c b/support/texlab/crates/bibutils_sys/src/isitypes.c
new file mode 100644
index 0000000000..0536236b76
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/isitypes.c
@@ -0,0 +1,192 @@
+/*
+ * isitypes.c
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <string.h>
+#include "is_ws.h"
+#include "fields.h"
+#include "reftypes.h"
+
+static lookups article[] = {
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "AF", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "TI", "TITLE", TITLE, LEVEL_MAIN },
+ { "SO", "TITLE", TITLE, LEVEL_HOST }, /* full journal name */
+ { "JI", "SHORTTITLE", TITLE, LEVEL_HOST }, /* abbr journal name */
+ { "J9", "SHORTTITLE", TITLE, LEVEL_HOST }, /* 29char journal name */
+ { "PU", "PUBLISHER", SIMPLE, LEVEL_HOST },
+ { "PI", "ADDRESS", SIMPLE, LEVEL_HOST }, /* publisher city */
+ { "C1", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* author address */
+ { "PA", "ADDRESS:PUBLISHER", SIMPLE, LEVEL_HOST }, /* publisher address */
+ { "RP", "REPRINTADDRESS", SIMPLE, LEVEL_MAIN },
+ { "PY", "PARTDATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "PD", "PARTDATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "AR", "ARTICLENUMBER", SIMPLE, LEVEL_MAIN }, /* AR=article number that Phys. Rev. B uses instead of page numbers */
+ { "BP", "PAGES:START", SIMPLE, LEVEL_MAIN },
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN },
+ { "PG", "PAGES:TOTAL", SIMPLE, LEVEL_MAIN },
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN },
+ { "SN", "SERIALNUMBER", SERIALNO, LEVEL_HOST },
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "NF", "NOTES", NOTES, LEVEL_MAIN },
+ { "DE", "KEYWORD", KEYWORD, LEVEL_MAIN }, /* author keywords */
+ { "ID", "KEYWORD", KEYWORD, LEVEL_MAIN }, /* new ISI keywords */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "TC", "TIMESCITED", SIMPLE, LEVEL_MAIN },
+ { "NR", "NUMBERREFS", SIMPLE, LEVEL_MAIN },
+ { "CR", "CITEDREFS", SIMPLE, LEVEL_MAIN },
+ { "PT", " ", TYPE, LEVEL_HOST },
+ { "DT", "DOCUMENTTYPE", TYPE, LEVEL_MAIN },
+ { "GA", "ISIDELIVERNUM", SIMPLE, LEVEL_MAIN }, /* ISI document delivery number */
+ { "UT", "ISIREFNUM", SIMPLE, LEVEL_MAIN }, /* ISI unique article identifer */
+ { "DI", "DOI", SIMPLE, LEVEL_MAIN },
+ { " ", "INTERNAL_TYPE|ARTICLE", ALWAYS, LEVEL_MAIN },
+ { " ", "ISSUANCE|continuing", ALWAYS, LEVEL_HOST },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:BIBUTILS|journal article", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|periodical", ALWAYS, LEVEL_HOST },
+ { " ", "GENRE:BIBUTILS|academic journal", ALWAYS, LEVEL_HOST }
+};
+
+static lookups book[] = {
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "AF", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "TI", "TITLE", TITLE, LEVEL_MAIN },
+ { "SO", "TITLE", TITLE, LEVEL_HOST }, /* full journal name */
+ { "JI", "SHORTTITLE", TITLE, LEVEL_HOST }, /* abbr journal name */
+ { "J9", "SHORTTITLE", TITLE, LEVEL_HOST }, /* 29char journal name */
+ { "PU", "PUBLISHER", SIMPLE, LEVEL_MAIN },
+ { "PI", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* publisher city */
+ { "C1", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* author address */
+ { "PA", "ADDRESS:PUBLISHER", SIMPLE, LEVEL_MAIN }, /* publisher address */
+ { "RP", "REPRINTADDRESS", SIMPLE, LEVEL_MAIN },
+ { "PY", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "PD", "DATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "BP", "PAGES:START", SIMPLE, LEVEL_MAIN },
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN },
+ { "PG", "PAGES:TOTAL", SIMPLE, LEVEL_MAIN },
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN },
+ { "SN", "SERIALNUMBER", SERIALNO, LEVEL_HOST },
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "NF", "NOTES", NOTES, LEVEL_MAIN },
+ { "DE", "KEYWORD", KEYWORD, LEVEL_MAIN }, /* author keywords */
+ { "ID", "KEYWORD", KEYWORD, LEVEL_MAIN }, /* new ISI keywords */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "TC", "TIMESCITED", SIMPLE, LEVEL_MAIN },
+ { "NR", "NUMBERREFS", SIMPLE, LEVEL_MAIN },
+ { "CR", "CITEDREFS", SIMPLE, LEVEL_MAIN },
+ { "PT", " ", TYPE, LEVEL_MAIN },
+ { "DT", "DOCUMENTTYPE", TYPE, LEVEL_MAIN },
+ { "GA", "ISIDELIVERNUM", SIMPLE, LEVEL_MAIN }, /* ISI document delivery number */
+ { "UT", "ISIREFNUM", SIMPLE, LEVEL_MAIN }, /* ISI unique article identifer */
+ { "PT", " ", TYPE, LEVEL_HOST },
+ { "DI", "DOI", SIMPLE, LEVEL_MAIN },
+ { " ", "INTERNAL_TYPE|BOOK", ALWAYS, LEVEL_MAIN },
+ { " ", "ISSUANCE|monographic", ALWAYS, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|book", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups inbook[] = {
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "AF", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "TI", "TITLE", TITLE, LEVEL_MAIN },
+ { "SO", "TITLE", TITLE, LEVEL_HOST }, /* full journal name */
+ { "JI", "SHORTTITLE", TITLE, LEVEL_HOST }, /* abbr journal name */
+ { "J9", "SHORTTITLE", TITLE, LEVEL_HOST }, /* 29char journal name */
+ { "PU", "PUBLISHER", SIMPLE, LEVEL_HOST },
+ { "PI", "ADDRESS", SIMPLE, LEVEL_HOST }, /* publisher city */
+ { "C1", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* author address */
+ { "PA", "ADDRESS:PUBLISHER", SIMPLE, LEVEL_HOST }, /* publisher address */
+ { "RP", "REPRINTADDRESS", SIMPLE, LEVEL_MAIN },
+ { "PY", "PARTDATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "PD", "PARTDATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "BP", "PAGES:START", SIMPLE, LEVEL_MAIN },
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN },
+ { "PG", "PAGES:TOTAL", SIMPLE, LEVEL_HOST },
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN },
+ { "SN", "SERIALNUMBER", SERIALNO, LEVEL_HOST },
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "NF", "NOTES", NOTES, LEVEL_MAIN },
+ { "DE", "KEYWORD", KEYWORD, LEVEL_MAIN }, /* author keywords */
+ { "ID", "KEYWORD", KEYWORD, LEVEL_MAIN }, /* new ISI keywords */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "TC", "TIMESCITED", SIMPLE, LEVEL_MAIN },
+ { "NR", "NUMBERREFS", SIMPLE, LEVEL_MAIN },
+ { "CR", "CITEDREFS", SIMPLE, LEVEL_MAIN },
+ { "PT", " ", TYPE, LEVEL_HOST },
+ { "DT", "DOCUMENTTYPE", TYPE, LEVEL_MAIN },
+ { "GA", "ISIDELIVERNUM", SIMPLE, LEVEL_MAIN }, /* ISI document delivery number */
+ { "UT", "ISIREFNUM", SIMPLE, LEVEL_MAIN }, /* ISI unique article identifer */
+ { "DI", "DOI", SIMPLE, LEVEL_MAIN },
+ { " ", "INTERNAL_TYPE|INBOOK", ALWAYS, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "ISSUANCE|monographic", ALWAYS, LEVEL_HOST },
+ { " ", "GENRE:BIBUTILS|book chapter", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|book", ALWAYS, LEVEL_HOST }
+};
+
+static lookups bookinseries[] = {
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "AF", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "TI", "TITLE", TITLE, LEVEL_MAIN },
+ { "SO", "TITLE", TITLE, LEVEL_MAIN },
+ { "SE", "TITLE", TITLE, LEVEL_HOST },
+ { "BS", "SUBTITLE", TITLE, LEVEL_HOST },
+ { "JI", "SHORTTITLE", TITLE, LEVEL_HOST }, /* abbr journal name */
+ { "J9", "SHORTTITLE", TITLE, LEVEL_HOST }, /* 29char journal name */
+ { "PU", "PUBLISHER", SIMPLE, LEVEL_HOST },
+ { "PI", "ADDRESS", SIMPLE, LEVEL_HOST }, /* publisher city */
+ { "C1", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* author address */
+ { "PA", "ADDRESS:PUBLISHER", SIMPLE, LEVEL_HOST }, /* publisher address */
+ { "RP", "REPRINTADDRESS", SIMPLE, LEVEL_MAIN },
+ { "PY", "PARTDATE:YEAR", SIMPLE, LEVEL_MAIN },
+ { "PD", "PARTDATE:MONTH", SIMPLE, LEVEL_MAIN },
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "BP", "PAGES:START", SIMPLE, LEVEL_MAIN },
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN },
+ { "PG", "PAGES:TOTAL", SIMPLE, LEVEL_MAIN },
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN },
+ { "SN", "SERIALNUMBER", SERIALNO, LEVEL_HOST },
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "NF", "NOTES", NOTES, LEVEL_MAIN },
+ { "DE", "KEYWORD", KEYWORD, LEVEL_MAIN }, /* author keywords */
+ { "ID", "KEYWORD", KEYWORD, LEVEL_MAIN }, /* new ISI keywords */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "TC", "TIMESCITED", SIMPLE, LEVEL_MAIN },
+ { "NR", "NUMBERREFS", SIMPLE, LEVEL_MAIN },
+ { "CR", "CITEDREFS", SIMPLE, LEVEL_MAIN },
+ { "PT", " ", TYPE, LEVEL_HOST },
+ { "DT", "DOCUMENTTYPE", TYPE, LEVEL_MAIN },
+ { "GA", "ISIDELIVERNUM", SIMPLE, LEVEL_MAIN }, /* ISI document delivery number */
+ { "UT", "ISIREFNUM", SIMPLE, LEVEL_MAIN }, /* ISI unique article identifer */
+ { "DI", "DOI", SIMPLE, LEVEL_MAIN },
+ { " ", "INTERNAL_TYPE|INCOLLECTION", ALWAYS, LEVEL_MAIN },
+ { " ", "ISSUANCE|monographic", ALWAYS, LEVEL_HOST },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:BIBUTILS|collection", ALWAYS, LEVEL_MAIN }
+};
+
+#define ORIG(a) ( &(a[0]) )
+#define SIZE(a) ( sizeof( a ) / sizeof( lookups ) )
+#define REFTYPE(a,b) { a, ORIG(b), SIZE(b) }
+
+variants isi_all[] = {
+ REFTYPE( "Journal", article ),
+ REFTYPE( "J", article ),
+ REFTYPE( "Book", book ),
+ REFTYPE( "B", book ),
+ REFTYPE( "Chapter", inbook ),
+ REFTYPE( "S", bookinseries ),
+};
+
+int isi_nall = sizeof( isi_all ) / sizeof( variants );
+
diff --git a/support/texlab/crates/bibutils_sys/src/iso639_1.c b/support/texlab/crates/bibutils_sys/src/iso639_1.c
new file mode 100644
index 0000000000..52d989e86b
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/iso639_1.c
@@ -0,0 +1,211 @@
+/*
+ * iso639_1.c
+ */
+#include <string.h>
+#include "iso639_1.h"
+#include "msvc_fix.h"
+
+typedef struct {
+ char *code;
+ char *language;
+} iso639_1_t;
+
+static iso639_1_t iso639_1[] = {
+ { "aa", "Afar" },
+ { "ab", "Abkhazian" },
+ { "ae", "Avestan" },
+ { "af", "Afrikaans" },
+ { "ak", "Akan" },
+ { "am", "Amharic" },
+ { "an", "Aragonese" },
+ { "ar", "Arabic" },
+ { "as", "Assamese" },
+ { "av", "Avaric" },
+ { "ay", "Aymara" },
+ { "az", "Azerbaijani" },
+ { "ba", "Bashkir" },
+ { "be", "Belarusian" },
+ { "bg", "Bulgarian" },
+ { "bh", "Bihari languages" },
+ { "bi", "Bislama" },
+ { "bm", "Bambara" },
+ { "bn", "Bengali" },
+ { "bo", "Tibetan" },
+ { "br", "Breton" },
+ { "bs", "Bosnian" },
+ { "ca", "Catalan" },
+ { "ce", "Chechen" },
+ { "ch", "Chamorro" },
+ { "co", "Corsican" },
+ { "cr", "Cree" },
+ { "cs", "Czech" },
+ { "cu", "Church Slavic" },
+ { "cv", "Chuvash" },
+ { "cy", "Welsh" },
+ { "da", "Danish" },
+ { "de", "German" },
+ { "dv", "Dhivehi" },
+ { "dz", "Dzongkha" },
+ { "ee", "Ewe" },
+ { "el", "Modern Greek" },
+ { "en", "English" },
+ { "eo", "Esperanto" },
+ { "es", "Spanish" },
+ { "et", "Estonian" },
+ { "eu", "Basque" },
+ { "fa", "Persian" },
+ { "ff", "Fulah" },
+ { "fi", "Finnish" },
+ { "fj", "Fijian" },
+ { "fo", "Faroese" },
+ { "fr", "French" },
+ { "fy", "Western Frisian" },
+ { "ga", "Irish" },
+ { "gd", "Scottish Gaelic" },
+ { "gl", "Galician" },
+ { "gn", "Guarani" },
+ { "gu", "Gujarati" },
+ { "gv", "Manx" },
+ { "ha", "Hausa" },
+ { "he", "Hebrew" },
+ { "hi", "Hindi" },
+ { "ho", "Hiri Motu" },
+ { "hr", "Croatian" },
+ { "ht", "Haitian" },
+ { "hu", "Hungarian" },
+ { "hy", "Armenian" },
+ { "hz", "Herero" },
+ { "ia", "Interlingua" },
+ { "id", "Indonesian" },
+ { "ie", "Interlingue" },
+ { "ig", "Igbo" },
+ { "ii", "Sichuan Yi" },
+ { "ik", "Inupiaq" },
+ { "io", "Ido" },
+ { "is", "Icelandic" },
+ { "it", "Italian" },
+ { "iu", "Inuktitut" },
+ { "ja", "Japanese" },
+ { "jv", "Javanese" },
+ { "ka", "Georgian" },
+ { "kg", "Kongo" },
+ { "ki", "Kikuyu" },
+ { "kj", "Kuanyama" },
+ { "kk", "Kazakh" },
+ { "kl", "Kalaallisut" },
+ { "km", "Central Khmer" },
+ { "kn", "Kannada" },
+ { "ko", "Korean" },
+ { "kr", "Kanuri" },
+ { "ks", "Kashmiri" },
+ { "ku", "Kurdish" },
+ { "kv", "Komi" },
+ { "kw", "Cornish" },
+ { "ky", "Kirghiz" },
+ { "la", "Latin" },
+ { "lb", "Luxembourgish" },
+ { "lg", "Ganda" },
+ { "li", "Limburgan" },
+ { "ln", "Lingala" },
+ { "lo", "Lao" },
+ { "lt", "Lithuanian" },
+ { "lu", "Luba-Katanga" },
+ { "lv", "Latvian" },
+ { "mg", "Malagasy" },
+ { "mh", "Marshallese" },
+ { "mi", "Maori" },
+ { "mk", "Macedonian" },
+ { "ml", "Malayalam" },
+ { "mn", "Mongolian" },
+ { "mr", "Marathi" },
+ { "ms", "Malay" },
+ { "mt", "Maltese" },
+ { "my", "Burmese" },
+ { "na", "Nauru" },
+ { "nb", "Norwegian Bokmål" },
+ { "nd", "North Ndebele" },
+ { "ne", "Nepali" },
+ { "ng", "Ndonga" },
+ { "nl", "Dutch" },
+ { "nn", "Norwegian Nynorsk" },
+ { "no", "Norwegian" },
+ { "nr", "South Ndebele" },
+ { "nv", "Navajo" },
+ { "ny", "Nyanja" },
+ { "oc", "Occitan" },
+ { "oj", "Ojibwa" },
+ { "om", "Oromo" },
+ { "or", "Oriya" },
+ { "os", "Ossetian" },
+ { "pa", "Panjabi" },
+ { "pi", "Pali" },
+ { "pl", "Polish" },
+ { "ps", "Pushto" },
+ { "pt", "Portuguese" },
+ { "qu", "Quechua" },
+ { "rm", "Romansh" },
+ { "rn", "Rundi" },
+ { "ro", "Romanian" },
+ { "ru", "Russian" },
+ { "rw", "Kinyarwanda" },
+ { "sa", "Sanskrit" },
+ { "sc", "Sardinian" },
+ { "sd", "Sindhi" },
+ { "se", "Northern Sami" },
+ { "sg", "Sango" },
+ { "sh", "Serbo-Croatian" },
+ { "si", "Sinhala" },
+ { "sk", "Slovak" },
+ { "sl", "Slovenian" },
+ { "sm", "Samoan" },
+ { "sn", "Shona" },
+ { "so", "Somali" },
+ { "sq", "Albanian" },
+ { "sr", "Serbian" },
+ { "ss", "Swati" },
+ { "st", "Southern Sotho" },
+ { "su", "Sundanese" },
+ { "sv", "Swedish" },
+ { "sw", "Swahili" },
+ { "ta", "Tamil" },
+ { "te", "Telugu" },
+ { "tg", "Tajik" },
+ { "th", "Thai" },
+ { "ti", "Tigrinya" },
+ { "tk", "Turkmen" },
+ { "tl", "Tagalog" },
+ { "tn", "Tswana" },
+ { "to", "Tonga" },
+ { "tr", "Turkish" },
+ { "ts", "Tsonga" },
+ { "tt", "Tatar" },
+ { "tw", "Twi" },
+ { "ty", "Tahitian" },
+ { "ug", "Uighur" },
+ { "uk", "Ukrainian" },
+ { "ur", "Urdu" },
+ { "uz", "Uzbek" },
+ { "ve", "Venda" },
+ { "vi", "Vietnamese" },
+ { "vo", "Volapük" },
+ { "wa", "Walloon" },
+ { "wo", "Wolof" },
+ { "xh", "Xhosa" },
+ { "yi", "Yiddish" },
+ { "yo", "Yoruba" },
+ { "za", "Zhuang" },
+ { "zh", "Chinese" },
+ { "zu", "Zulu" },
+};
+static int niso639_1= sizeof( iso639_1 ) / sizeof( iso639_1[0] );
+
+char *
+iso639_1_from_code( const char *code )
+{
+ int i;
+ for ( i=0; i<niso639_1; ++i ) {
+ if ( !strcasecmp( iso639_1[i].code, code ) )
+ return iso639_1[i].language;
+ }
+ return NULL;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/iso639_1.h b/support/texlab/crates/bibutils_sys/src/iso639_1.h
new file mode 100644
index 0000000000..b0553706e0
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/iso639_1.h
@@ -0,0 +1,9 @@
+/*
+ * iso639_1.h
+ */
+#ifndef ISO639_1_H
+#define ISO639_1_H
+
+char * iso639_1_from_code( const char *code );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/iso639_2.c b/support/texlab/crates/bibutils_sys/src/iso639_2.c
new file mode 100644
index 0000000000..e0f07ef0e8
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/iso639_2.c
@@ -0,0 +1,647 @@
+/*
+ * iso639-2 language codes
+ */
+#include <string.h>
+#include "iso639_2.h"
+#include "msvc_fix.h"
+
+typedef struct {
+ char *code1;
+ char *code2;
+ unsigned char main;
+ char *language;
+} iso639_2_t;
+
+static iso639_2_t iso639_2[] = {
+ { "abk", "", 1, "Abkhazian" },
+ { "ace", "", 1, "Achenese" },
+ { "ace", "", 1, "Achinese" },
+ { "ach", "", 1, "Acoli" },
+ { "ada", "", 1, "Adangme" },
+ { "ady", "", 1, "Adygei" },
+ { "ady", "", 1, "Adyghe" },
+ { "aar", "", 1, "Afar" },
+ { "afh", "", 1, "Afrihili" },
+ { "afr", "", 1, "Afrikaans" },
+ { "afa", "", 1, "Afroasiatic languages" },
+ { "ain", "", 1, "Ainu" },
+ { "aka", "", 1, "Akan" },
+ { "akk", "", 1, "Akkadian" },
+ { "alb", "sqi", 1, "Albanian" },
+ { "gsw", "", 1, "Alemannic" },
+ { "ale", "", 1, "Aleut" },
+ { "alg", "", 1, "Algonquian languages" },
+ { "gsw", "", 1, "Alsatian" },
+ { "alt", "", 1, "Altai, Southern" },
+ { "tut", "", 1, "Altaic languages" },
+ { "amh", "", 1, "Amharic" },
+ { "egy", "", 1, "Ancient Egyptian" },
+ { "grc", "", 1, "Ancient Greek" },
+ { "anp", "", 1, "Angika" },
+ { "apa", "", 1, "Apache languages" },
+ { "arc", "", 1, "Aramaic, Imperial" },
+ { "arc", "", 1, "Aramaic, Official" },
+ { "arp", "", 1, "Arapaho" },
+ { "arw", "", 1, "Arawak" },
+ { "arg", "", 1, "Argonese" },
+ { "arm", "hye", 1, "Armenian" },
+ { "rup", "", 1, "Aromanian" },
+ { "art", "", 1, "Artificial languages" },
+ { "rup", "", 1, "Arumanian" },
+ { "asm", "", 1, "Assamese" },
+ { "ast", "", 1, "Asturian" },
+ { "ast", "", 1, "Asturleonese" },
+ { "ath", "", 1, "Athabaskan languages" },
+ { "aus", "", 1, "Australian languages" },
+ { "map", "", 1, "Austronesian languages" },
+ { "ava", "", 1, "Avaric" },
+ { "ave", "", 1, "Avestan" },
+ { "awa", "", 1, "Awadhi" },
+ { "aze", "", 1, "Azerbaijani" },
+ { "ast", "", 1, "Bable" },
+ { "ban", "", 1, "Balinese" },
+ { "bat", "", 1, "Baltic languages" },
+ { "bal", "", 1, "Baluchi" },
+ { "bam", "", 1, "Bambara" },
+ { "bai", "", 1, "Bamileke languages" },
+ { "bad", "", 1, "Banda languages" },
+ { "bnt", "", 1, "Bantu languages" },
+ { "bas", "", 1, "Basa" },
+ { "bak", "", 1, "Bashkir" },
+ { "baq", "eus", 1, "Basque" },
+ { "bej", "", 1, "Bedawiyet" },
+ { "bej", "", 1, "Beja" },
+ { "bel", "", 1, "Belarusian" },
+ { "bem", "", 1, "Bemba" },
+ { "ben", "", 1, "Bengali" },
+ { "ber", "", 1, "Berber languages" },
+ { "bho", "", 1, "Bhojpuri" },
+ { "bih", "", 1, "Bihari languages" },
+ { "bik", "", 1, "Bikol" },
+ { "byn", "", 1, "Bilin" },
+ { "bin", "", 1, "Bini" },
+ { "bis", "", 1, "Bislama" },
+ { "bla", "", 1, "Blackfoot" },
+ { "byn", "", 1, "Blin" },
+ { "zbl", "", 1, "Blissymbols" },
+ { "bos", "", 1, "Bosnian" },
+ { "bra", "", 1, "Braj" },
+ { "btk", "", 1, "Bratak languages" },
+ { "bre", "", 1, "Breton" },
+ { "bug", "", 1, "Buginese" },
+ { "bul", "", 1, "Bulgarian" },
+ { "bua", "", 1, "Buriat" },
+ { "bur", "mya", 1, "Burmese" },
+ { "cad", "", 1, "Caddo" },
+ { "spa", "", 0, "Castilian" },
+ { "cat", "", 1, "Catalan" },
+ { "cau", "", 1, "Caucasian languages" },
+ { "ceb", "", 1, "Cebuano" },
+ { "cel", "", 1, "Celtic languages" },
+ { "cai", "", 1, "Central American Indian languages" },
+ { "khm", "", 1, "Central Khmer" },
+ { "chg", "", 1, "Chagatai" },
+ { "cmc", "", 1, "Chamic languages" },
+ { "cha", "", 1, "Chamorro" },
+ { "che", "", 1, "Chechen" },
+ { "chr", "", 1, "Cherokee" },
+ { "nya", "", 1, "Chewa" },
+ { "chy", "", 1, "Cheyenne" },
+ { "chb", "", 1, "Chibcha" },
+ { "nya", "", 1, "Chichewa" },
+ { "chi", "zho", 1, "Chinese" },
+ { "chn", "", 1, "Chinook Jargon" },
+ { "chp", "", 1, "Chipewyan" },
+ { "cho", "", 1, "Choctaw" },
+ { "zha", "", 1, "Chuang" },
+ { "chu", "", 1, "Church Slavic" },
+ { "chu", "", 1, "Church Slavonic" },
+ { "chk", "", 1, "Chuukese" },
+ { "chv", "", 1, "Chuvash" },
+ { "kbd", "", 1, "Circassian" },
+ { "nwc", "", 1, "Classical Nepal Bhasa" },
+ { "nwc", "", 1, "Classical Newari" },
+ { "syc", "", 1, "Classical Syriac" },
+ { "rar", "", 1, "Cook Islands Maori" },
+ { "cop", "", 1, "Coptic" },
+ { "cor", "", 1, "Cornish" },
+ { "cos", "", 1, "Corsican" },
+ { "cre", "", 1, "Cree" },
+ { "mus", "", 1, "Creek" },
+ { "crp", "", 1, "creoles and pidgins" },
+ { "cpe", "", 1, "creoles and pidgins, English-based" },
+ { "cpf", "", 1, "creoles and pidgins, French-based" },
+ { "cpp", "", 1, "creoles and pidgins, Portuguese-based" },
+ { "crh", "", 1, "Crimean Tartar" },
+ { "crh", "", 1, "Crimean Turkish" },
+ { "hrv", "", 1, "Croatian" },
+ { "cus", "", 1, "Cushitic languages" },
+ { "cze", "ces", 1, "Czech" },
+ { "dak", "", 1, "Dakota" },
+ { "dan", "", 1, "Danish" },
+ { "dar", "", 1, "Dargwa" },
+ { "del", "", 1, "Delaware" },
+ { "chp", "", 1, "Dene Suline" },
+ { "div", "", 1, "Dhivehi" },
+ { "din", "", 1, "Dinka" },
+ { "div", "", 1, "Divehi" },
+ { "doi", "", 1, "Dogri" },
+ { "dgr", "", 1, "Dogrib" },
+ { "dra", "", 1, "Dravidian languages" },
+ { "dua", "", 1, "Duala" },
+ { "dut", "", 1, "Dutch" },
+ { "dum", "", 1, "Dutch, Middle" },
+ { "dyu", "", 1, "Dyula" },
+ { "dzo", "", 1, "Dzongkha" },
+ { "frs", "", 1, "Eastern Frisian" },
+ { "bin", "", 1, "Edo" },
+ { "efi", "", 1, "Efik" },
+ { "egy", "", 1, "Egyptian (Ancient)" },
+ { "eka", "", 1, "Ekajuk" },
+ { "elx", "", 1, "Elamite" },
+ { "eng", "", 1, "English" },
+ { "enm", "", 0, "English, Middle" },
+ { "ang", "", 0, "English, Old" },
+ { "myv", "", 1, "Erzya" },
+ { "epo", "", 1, "Esperanto" },
+ { "est", "", 1, "Estonian" },
+ { "ewe", "", 1, "Ewe" },
+ { "ewo", "", 1, "Ewondo" },
+ { "fan", "", 1, "Fang" },
+ { "fat", "", 1, "Fanti" },
+ { "fao", "", 1, "Faroese" },
+ { "fij", "", 1, "Fijian" },
+ { "fil", "", 1, "Filipino" },
+ { "fin", "", 1, "Finnish" },
+ { "fiu", "", 1, "Finno-Ugric languages" },
+ { "dut", "", 1, "Flemish" },
+ { "fon", "", 1, "Fon" },
+ { "fre", "fra", 1, "French" },
+ { "frm", "", 0, "French, Middle" },
+ { "fro", "", 0, "French, Old" },
+ { "frs", "", 1, "Frisian, Eastern" },
+ { "frr", "", 1, "Frisian, Northern" },
+ { "fry", "", 1, "Frisian, Western" },
+ { "fur", "", 1, "Friulian" },
+ { "ful", "", 1, "Fulah" },
+ { "gaa", "", 1, "Ga" },
+ { "gla", "", 1, "Gaelic" },
+ { "car", "", 1, "Galibi Carib" },
+ { "lug", "", 1, "Ganda" },
+ { "gay", "", 1, "Gayo" },
+ { "gba", "", 1, "Gbaya" },
+ { "gez", "", 1, "Ge'ez" },
+ { "geo", "kat", 1, "Georgian" },
+ { "ger", "deu", 1, "German" },
+ { "nds", "", 1, "German, Low" },
+ { "gmh", "", 1, "German, Middle High" },
+ { "goh", "", 1, "German, Old High" },
+ { "gem", "", 1, "Germanic languages" },
+ { "kik", "", 1, "Gikuyu" },
+ { "gil", "", 1, "Gilbertese" },
+ { "gon", "", 1, "Gondi" },
+ { "gor", "", 1, "Gorontalo" },
+ { "got", "", 1, "Gothic" },
+ { "grb", "", 1, "Grebo" },
+ { "grc", "", 1, "Greek, Ancient" },
+ { "gre", "ell", 1, "Greek, Modern" },
+ { "kal", "", 1, "Greenlandic" },
+ { "grn", "", 1, "Guarani" },
+ { "guj", "", 1, "Gujarati" },
+ { "gwi", "", 1, "Gwich'in" },
+ { "hai", "", 1, "Haida" },
+ { "hat", "", 1, "Haitian" },
+ { "hat", "", 1, "Haitian Creole" },
+ { "hau", "", 1, "Hausa" },
+ { "haw", "", 1, "Hawaiian" },
+ { "heb", "", 1, "Hebrew" },
+ { "hil", "", 1, "Hiligaynon" },
+ { "him", "", 1, "Himachali languages" },
+ { "hin", "", 1, "Hindi" },
+ { "hmo", "", 1, "Hiri Motu" },
+ { "hit", "", 1, "Hittite" },
+ { "hmn", "", 1, "Hmong" },
+ { "hun", "", 1, "Hungarian" },
+ { "hup", "", 1, "Hupa" },
+ { "iba", "", 1, "Iban" },
+ { "ice", "isl", 1, "Icelandic" },
+ { "ido", "", 1, "Ido" },
+ { "ibo", "", 1, "Igbo" },
+ { "ijo", "", 1, "Ijo languages" },
+ { "ilo", "", 1, "Iloko" },
+ { "arc", "", 1, "Imperial Aramaic" },
+ { "smn", "", 1, "Inari Sami" },
+ { "inc", "", 1, "Indic languages" },
+ { "ine", "", 1, "Indo-European languages" },
+ { "ind", "", 1, "Indonesian" },
+ { "inh", "", 1, "Ingush" },
+ { "ina", "", 1, "Interlingua" },
+ { "ile", "", 1, "Interlingue, Occidental" },
+ { "iku", "", 1, "Inuktitut" },
+ { "ipk", "", 1, "Inupiaq" },
+ { "ira", "", 1, "Iranian languages" },
+ { "mga", "", 1, "Irish, Middle" },
+ { "sga", "", 1, "Irish, Old" },
+ { "iro", "", 1, "Iroquoian languages" },
+ { "ita", "", 1, "Italian" },
+ { "jpn", "", 1, "Japanese" },
+ { "jav", "", 1, "Javanese" },
+ { "kac", "", 1, "Jingpho" },
+ { "jrb", "", 1, "Judaeo-Arabic" },
+ { "jpr", "", 1, "Judaeo-Persian" },
+ { "kab", "", 1, "Kabyle" },
+ { "kac", "", 1, "Kachin" },
+ { "kal", "", 1, "Kalaallisut" },
+ { "xal", "", 1, "Kalmyk" },
+ { "kam", "", 1, "Kamba" },
+ { "kan", "", 1, "Kannada" },
+ { "kau", "", 1, "Kanuri" },
+ { "pam", "", 1, "Kapampangan" },
+ { "kaa", "", 1, "Kara-Kalpak" },
+ { "krc", "", 1, "Karachay-Balkar" },
+ { "krl", "", 1, "Karelian" },
+ { "kar", "", 1, "Karen languages" },
+ { "kas", "", 1, "Kashmiri" },
+ { "csb", "", 1, "Kashubian" },
+ { "kaw", "", 1, "Kawi" },
+ { "kaz", "", 1, "Kazakh" },
+ { "kha", "", 1, "Khasi" },
+ { "khi", "", 1, "Khoisan languages" },
+ { "kho", "", 1, "Khotanese" },
+ { "kik", "", 1, "Kikuyu" },
+ { "kmb", "", 1, "Kimbundu" },
+ { "kin", "", 1, "Kinyarwanda" },
+ { "kir", "", 1, "Kirghiz" },
+ { "gil", "", 1, "Kiribati" },
+ { "tlh", "", 1, "Klingon" },
+ { "kom", "", 1, "Komi" },
+ { "kon", "", 1, "Kongo" },
+ { "kok", "", 1, "Konkani" },
+ { "kor", "", 1, "Korean" },
+ { "kos", "", 1, "Kosraean" },
+ { "kpe", "", 1, "Kpelle" },
+ { "kro", "", 1, "Kru languages" },
+ { "kua", "", 1, "Kuanyama" },
+ { "kum", "", 1, "Kumyk" },
+ { "kur", "", 1, "Kurdish" },
+ { "kru", "", 1, "Kurukh" },
+ { "kut", "", 1, "Kutenai" },
+ { "kua", "", 1, "Kwanyama" },
+ { "kir", "", 1, "Kyrgyz" },
+ { "lad", "", 1, "Ladino" },
+ { "lah", "", 1, "Lahnda" },
+ { "lam", "", 1, "Lamba" },
+ { "day", "", 1, "Land Dayak languages" },
+ { "lao", "", 1, "Lao" },
+ { "lat", "", 1, "Latin" },
+ { "lav", "", 1, "Latvian" },
+ { "ast", "", 1, "Leonese" },
+ { "ltz", "", 1, "Letzeburgesch" },
+ { "lez", "", 1, "Lezghian" },
+ { "lim", "", 1, "Limburgan" },
+ { "lim", "", 1, "Limburger" },
+ { "lim", "", 1, "Limburgish" },
+ { "lin", "", 1, "Lingala" },
+ { "lit", "", 1, "Lithuanian" },
+ { "jbo", "", 1, "Lojban" },
+ { "nds", "", 1, "Low German" },
+ { "nds", "", 1, "Low Saxon" },
+ { "dsb", "", 1, "Lower Sorbian" },
+ { "loz", "", 1, "Lozi" },
+ { "lub", "", 1, "Luba-Katanga" },
+ { "lua", "", 1, "Luba-Lulua" },
+ { "lui", "", 1, "Luiseno" },
+ { "smj", "", 1, "Lule Sami" },
+ { "lun", "", 1, "Lunda" },
+ { "luo", "", 1, "Luo" },
+ { "luo", "", 1, "Luo (Kenya and Tanzania)" },
+ { "lus", "", 1, "Lushai" },
+ { "ltz", "", 1, "Luxembourgish" },
+ { "mas", "", 1, "Maasai" },
+ { "rup", "", 1, "Macedo-Romanian" },
+ { "mac", "mkd", 1, "Macedonian" },
+ { "mad", "", 1, "Madurese" },
+ { "mag", "", 1, "Magahi" },
+ { "mai", "", 1, "Maithili" },
+ { "mak", "", 1, "Makasar" },
+ { "mlg", "", 1, "Malagasy" },
+ { "may", "msa", 1, "Malay" },
+ { "mal", "", 1, "Malayalam" },
+ { "div", "", 1, "Maldivian" },
+ { "mlt", "", 1, "Maltese" },
+ { "mnc", "", 1, "Manchu" },
+ { "mdr", "", 1, "Mandar" },
+ { "man", "", 1, "Mandingo" },
+ { "mni", "", 1, "Manipuri" },
+ { "mno", "", 1, "Manobo languages" },
+ { "glv", "", 1, "Manx" },
+ { "mao", "mri", 1, "Maori" },
+ { "arn", "", 1, "Mapuche" },
+ { "arn", "", 1, "Mapudungun" },
+ { "mar", "", 1, "Marathi" },
+ { "chm", "", 1, "Mari" },
+ { "mah", "", 1, "Marshallese" },
+ { "mwr", "", 1, "Marwari" },
+ { "myn", "", 1, "Mayan languages" },
+ { "men", "", 1, "Mende" },
+ { "mic", "", 1, "Mi'kmaq" },
+ { "mic", "", 1, "Micmac" },
+ { "dum", "", 1, "Middle Dutch" },
+ { "enm", "", 1, "Middle English" },
+ { "frm", "", 1, "Middle French" },
+ { "gmh", "", 1, "Middle High German" },
+ { "mga", "", 1, "Middle Irish" },
+ { "pal", "", 1, "Middle Persian" },
+ { "min", "", 1, "Minangkabau" },
+ { "mwl", "", 1, "Mirandese" },
+ { "gre", "ell", 1, "Modern Greek" },
+ { "moh", "", 1, "Mohawk" },
+ { "mdf", "", 1, "Moksha" },
+ { "mkh", "", 1, "Mon-Khmer languages" },
+ { "lol", "", 1, "Mongo" },
+ { "mon", "", 1, "Mongolian" },
+ { "mos", "", 1, "Mossi" },
+ { "mul", "", 1, "Multiple languages" },
+ { "mun", "", 1, "Munda languages" },
+ { "nqo", "", 1, "N'Ko" },
+ { "nah", "", 1, "Nahuatl" },
+ { "nau", "", 1, "Nauruan" },
+ { "nav", "", 1, "Navaho" },
+ { "nav", "", 1, "Navajo" },
+ { "ndo", "", 1, "Ndonga" },
+ { "nap", "", 1, "Neapolitan" },
+ { "new", "", 1, "Nepal Bhasa" },
+ { "nep", "", 1, "Nepali" },
+ { "new", "", 1, "Newari" },
+ { "nia", "", 1, "Nias" },
+ { "nic", "", 1, "Niger-Congo languages" },
+ { "ssa", "", 1, "Nilo-Saharan languages" },
+ { "niu", "", 1, "Niuean" },
+ { "nog", "", 1, "Nogai" },
+ { "non", "", 0, "Norse, Old" },
+ { "nai", "", 1, "North American Indian languages" },
+ { "frr", "", 1, "Northern Frisian" },
+ { "nde", "", 1, "Northern Ndebele" },
+ { "sme", "", 1, "Northern Sami" },
+ { "nso", "", 1, "Northern Sotho" },
+ { "nob", "", 1, "Norwegian Bokmaal" },
+ { "nno", "", 1, "Norwegian Nynorsk" },
+ { "zxx", "", 1, "Not linguistic content; not applicable" },
+ { "nub", "", 1, "Nubian languages" },
+ { "iii", "", 1, "Nuosu" },
+ { "nym", "", 1, "Nyamwezi" },
+ { "nya", "", 1, "Nyanja" },
+ { "nyn", "", 1, "Nyankole" },
+ { "nyr", "", 1, "Nyoro" },
+ { "nzi", "", 1, "Nzima" },
+ { "oci", "", 1, "Occitan" },
+ { "pro", "", 0, "Occitan, Old" },
+ { "arc", "", 1, "Official Aramaic" },
+ { "xal", "", 1, "Oirat" },
+ { "oji", "", 1, "Ojibwa" },
+ { "chu", "", 1, "Old Bulgarian" },
+ { "chu", "", 1, "Old Church Slavonic" },
+ { "ang", "", 1, "Old English" },
+ { "fro", "", 1, "Old French" },
+ { "goh", "", 1, "Old High German" },
+ { "sga", "", 1, "Old Irish" },
+ { "nwc", "", 1, "Old Newari" },
+ { "non", "", 1, "Old Norse" },
+ { "pro", "", 1, "Old Occitan" },
+ { "peo", "", 1, "Old Persian" },
+ { "pro", "", 1, "Old Provencal" },
+ { "chu", "", 1, "Old Slavonic" },
+ { "ori", "", 1, "Oriya" },
+ { "orm", "", 1, "Oromo" },
+ { "osa", "", 1, "Osage" },
+ { "oss", "", 1, "Ossetian" },
+ { "oss", "", 1, "Ossetic" },
+ { "oto", "", 1, "Otomian languages" },
+ { "ota", "", 1, "Ottoman Turkish" },
+ { "pal", "", 1, "Pahlavi" },
+ { "pau", "", 1, "Palauan" },
+ { "pli", "", 1, "Pali" },
+ { "pam", "", 1, "Pampanga" },
+ { "pag", "", 1, "Pangasinan" },
+ { "pan", "", 1, "Panjabi" },
+ { "pap", "", 1, "Papiamento" },
+ { "paa", "", 1, "Papuan languages" },
+ { "pus", "", 1, "Pashto" },
+ { "pus", "", 1, "Pashto language" },
+ { "nso", "", 1, "Pedi" },
+ { "per", "fas", 1, "Persian" },
+ { "pal", "", 0, "Persian, Middle" },
+ { "peo", "", 0, "Persian, Old" },
+ { "phi", "", 1, "Philippine languages" },
+ { "phn", "", 1, "Phoenician" },
+ { "fil", "", 0, "Pilipino" },
+ { "pon", "", 1, "Pohnpeian" },
+ { "pol", "", 1, "Polish" },
+ { "por", "", 1, "Portuguese" },
+ { "pra", "", 1, "Prakit" },
+ { "pro", "", 0, "Provencal, Old" },
+ { "pan", "", 1, "Punjabi" },
+ { "que", "", 1, "Quechua" },
+ { "raj", "", 1, "Rajasthani" },
+ { "rap", "", 1, "Rapanui" },
+ { "rar", "", 1, "Rarotongan" },
+ { "roa", "", 1, "Romance languages" },
+ { "rum", "ron", 1, "Romanian" },
+ { "roh", "", 1, "Romansh" },
+ { "rom", "", 1, "Romany" },
+ { "run", "", 1, "Rundi" },
+ { "rus", "", 1, "Russian" },
+ { "kho", "", 1, "Sakan" },
+ { "sal", "", 1, "Salishan languages" },
+ { "sam", "", 1, "Samaritan Aramaic" },
+ { "smi", "", 1, "Sami languages" },
+ { "smo", "", 1, "Samoan" },
+ { "sad", "", 1, "Sandawe" },
+ { "sag", "", 1, "Sango" },
+ { "san", "", 1, "Sanskrit" },
+ { "sat", "", 1, "Santali" },
+ { "srd", "", 1, "Sardinian" },
+ { "sas", "", 1, "Sasak" },
+ { "nds", "", 1, "Saxon, Low" },
+ { "sco", "", 1, "Scots" },
+ { "gla", "", 1, "Scottish Gaelic" },
+ { "sel", "", 1, "Selkup" },
+ { "sem", "", 1, "Semitic languages" },
+ { "nso", "", 1, "Sepedi" },
+ { "srp", "", 1, "Serbian" },
+ { "srr", "", 1, "Serer" },
+ { "shn", "", 1, "Shan" },
+ { "sna", "", 1, "Shona" },
+ { "iii", "", 1, "Sichuan Yi" },
+ { "scn", "", 1, "Sicilian" },
+ { "sid", "", 1, "Sidamo" },
+ { "sgn", "", 1, "Sign languages" },
+ { "bla", "", 1, "Siksika" },
+ { "snd", "", 1, "Sindhi" },
+ { "sin", "", 1, "Sinhala" },
+ { "sin", "", 1, "Sinhalese" },
+ { "sit", "", 1, "Sino-Tibetan languages" },
+ { "sio", "", 1, "Siouan languages" },
+ { "sms", "", 1, "Skolt Sami" },
+ { "den", "", 1, "Slave (Athapascan)" },
+ { "sla", "", 1, "Slavic languages" },
+ { "slo", "slk", 1, "Slovak" },
+ { "slv", "", 1, "Slovenian" },
+ { "sog", "", 1, "Sogdian" },
+ { "som", "", 1, "Somali" },
+ { "son", "", 1, "Songhay languages" },
+ { "snk", "", 1, "Soninke" },
+ { "wen", "", 1, "Sorbian languages" },
+ { "dsb", "", 1, "Sorbian, Lower" },
+ { "hsb", "", 1, "Sorbian, Upper" },
+ { "sai", "", 1, "South American Indian languages" },
+ { "alt", "", 1, "Southern Altai" },
+ { "nbl", "", 1, "Southern Ndebele" },
+ { "sma", "", 1, "Southern Sami" },
+ { "sot", "", 1, "Southern Sotho" },
+ { "spa", "", 1, "Spanish" },
+ { "srn", "", 1, "Sranan Tongo" },
+ { "zgh", "", 1, "Standard Moroccan Tamazight" },
+ { "suk", "", 1, "Sukuma" },
+ { "sux", "", 1, "Sumerian" },
+ { "sun", "", 1, "Sundanese" },
+ { "sus", "", 1, "Susu" },
+ { "swa", "", 1, "Swahili" },
+ { "ssw", "", 1, "Swati" },
+ { "swe", "", 1, "Swedish" },
+ { "gsw", "", 1, "Swiss German" },
+ { "syr", "", 1, "Syriac" },
+ { "tgl", "", 1, "Tagalog" },
+ { "tah", "", 1, "Tahitian" },
+ { "tai", "", 1, "Tai languages" },
+ { "tgk", "", 1, "Tajik" },
+ { "tmh", "", 1, "Tamashek" },
+ { "tam", "", 1, "Tamil" },
+ { "tat", "", 1, "Tatar" },
+ { "tel", "", 1, "Telugu" },
+ { "ter", "", 1, "Tereno" },
+ { "tet", "", 1, "Tetum" },
+ { "tha", "", 1, "Thai" },
+ { "tib", "bod", 1, "Tibetan" },
+ { "tig", "", 1, "Tigre" },
+ { "tir", "", 1, "Tigrinya" },
+ { "tem", "", 1, "Time" },
+ { "tiv", "", 1, "Tiv" },
+ { "tli", "", 1, "Tlingit" },
+ { "tpi", "", 1, "Tok Pisin" },
+ { "tkl", "", 1, "Tokelau" },
+ { "tog", "", 1, "Tonga (Nyasa)" },
+ { "ton", "", 1, "Tonga (Tonga Islands)" },
+ { "tsi", "", 1, "Tsimshian" },
+ { "tso", "", 1, "Tsonga" },
+ { "tsn", "", 1, "Tswana" },
+ { "tum", "", 1, "Tumbuka" },
+ { "tup", "", 1, "Tupian languages" },
+ { "tur", "", 1, "Turkish" },
+ { "ota", "", 1, "Turkish, Ottoman" },
+ { "tuk", "", 1, "Turkmen" },
+ { "tvl", "", 1, "Tuvalu" },
+ { "tyv", "", 1, "Tuvinian" },
+ { "twi", "", 1, "Twi" },
+ { "udm", "", 1, "Udmurt" },
+ { "uga", "", 1, "Ugaritic" },
+ { "uig", "", 1, "Uighur" },
+ { "ukr", "", 1, "Ukranian" },
+ { "umb", "", 1, "Umbundu" },
+ { "mis", "", 1, "Uncoded languages" },
+ { "und", "", 1, "Undetermined language" },
+ { "hsb", "", 1, "Upper Sorbian" },
+ { "urd", "", 1, "Urdu" },
+ { "uig", "", 1, "Uyghur" },
+ { "uzb", "", 1, "Uzbek" },
+ { "vai", "", 1, "Vai" },
+ { "cat", "", 1, "Valencian" },
+ { "ven", "", 1, "Venda" },
+ { "vie", "", 1, "Vietnamese" },
+ { "vol", "", 1, "Volapuk" },
+ { "vot", "", 1, "Voltic" },
+ { "wak", "", 1, "Wakashan languages" },
+ { "wln", "", 1, "Walloon" },
+ { "war", "", 1, "Waray-Waray" },
+ { "was", "", 1, "Washo" },
+ { "wel", "cym", 1, "Welsh" },
+ { "fry", "", 1, "Western Frisian" },
+ { "wal", "", 1, "Wolaitta" },
+ { "wal", "", 1, "Wolaytta" },
+ { "wol", "", 1, "Wolof" },
+ { "xho", "", 1, "Xhosa" },
+ { "sah", "", 1, "Yakut" },
+ { "yao", "", 1, "Yao" },
+ { "yap", "", 1, "Yapese" },
+ { "yid", "", 1, "Yidish" },
+ { "yor", "", 1, "Yoruba" },
+ { "ypk", "", 1, "Yupik languages" },
+ { "znd", "", 1, "Zande languages" },
+ { "zap", "", 1, "Zapotec" },
+ { "zza", "", 1, "Zaza" },
+ { "zza", "", 1, "Zazaki" },
+ { "zen", "", 1, "Zenaga" },
+ { "zha", "", 1, "Zhuang" },
+ { "zul", "", 1, "Zulu" },
+ { "zun", "", 1, "Zuni" },
+};
+static int niso639_2= sizeof( iso639_2 ) / sizeof( iso639_2[0] );
+
+char *
+iso639_2_from_code( char *code )
+{
+ int i;
+ for ( i=0; i<niso639_2; ++i ) {
+ if ( !iso639_2[i].main ) continue;
+ if ( !strcasecmp( iso639_2[i].code1, code ) )
+ return iso639_2[i].language;
+ if ( iso639_2[i].code2[0]!='\0' && !strcasecmp( iso639_2[i].code2, code ) )
+ return iso639_2[i].language;
+ }
+ return NULL;
+}
+
+char *
+iso639_2_from_language( char *lang )
+{
+ int i, n;
+ for ( i=0; i<niso639_2; ++i ) {
+ n = strcasecmp( iso639_2[i].language, lang );
+ if ( n==0 ) return iso639_2[i].code1;
+ if ( n > 0 ) return NULL;
+ }
+ return NULL;
+}
+
+#ifdef TEST
+
+#include <stdio.h>
+#include <stdlib.h>
+
+static int
+check_alphabetical( void )
+{
+ char *l1, *l2;
+ int i, ret = 1;
+ l1 = iso639_2[0].language;
+ for ( i=0; i<niso639_2-1; ++i ) {
+ l2 = iso639_2[i+1].language;
+ if ( strcasecmp( l1, l2 ) >= 0 ) {
+ fprintf( stderr, "Swap '%s' and '%s'\n", l1, l2 );
+ ret = 0;
+ }
+ l1 = l2;
+ }
+ return ret;
+}
+
+int
+main( int argc, char *argv[] )
+{
+ int ok;
+ ok = check_alphabetical();
+ if ( ok ) return EXIT_SUCCESS;
+ return EXIT_FAILURE;
+}
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/iso639_2.h b/support/texlab/crates/bibutils_sys/src/iso639_2.h
new file mode 100644
index 0000000000..55f6143a7b
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/iso639_2.h
@@ -0,0 +1,10 @@
+/*
+ * iso639-2 language codes
+ */
+#ifndef ISO639_2_H
+#define ISO639_2_H
+
+char * iso639_2_from_code( char *code );
+char * iso639_2_from_language( char *lang );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/iso639_3.c b/support/texlab/crates/bibutils_sys/src/iso639_3.c
new file mode 100644
index 0000000000..43ea692cb7
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/iso639_3.c
@@ -0,0 +1,8431 @@
+/*
+ * iso639_3.c
+ */
+#include <string.h>
+#include "iso639_3.h"
+#include "msvc_fix.h"
+
+typedef struct {
+ char *code;
+ char *language;
+} iso639_3_t;
+
+static iso639_3_t iso639_3[] = {
+ { "aaa", "Ghotuo" },
+ { "aab", "Alumu-Tesu" },
+ { "aac", "Ari" },
+ { "aad", "Amal" },
+ { "aae", "Arbëreshë Albanian" },
+ { "aaf", "Aranadan" },
+ { "aag", "Ambrak" },
+ { "aah", "Abu' Arapesh" },
+ { "aai", "Arifama-Miniafia" },
+ { "aak", "Ankave" },
+ { "aal", "Afade" },
+ { "aam", "Aramanik" },
+ { "aan", "Anambé" },
+ { "aao", "Algerian Saharan Arabic" },
+ { "aap", "Pará Arára" },
+ { "aaq", "Eastern Abnaki" },
+ { "aar", "Afar" },
+ { "aas", "Aasáx" },
+ { "aat", "Arvanitika Albanian" },
+ { "aau", "Abau" },
+ { "aaw", "Solong" },
+ { "aax", "Mandobo Atas" },
+ { "aaz", "Amarasi" },
+ { "aba", "Abé" },
+ { "abb", "Bankon" },
+ { "abc", "Ambala Ayta" },
+ { "abd", "Manide" },
+ { "abe", "Western Abnaki" },
+ { "abf", "Abai Sungai" },
+ { "abg", "Abaga" },
+ { "abh", "Tajiki Arabic" },
+ { "abi", "Abidji" },
+ { "abj", "Aka-Bea" },
+ { "abk", "Abkhazian" },
+ { "abl", "Lampung Nyo" },
+ { "abm", "Abanyom" },
+ { "abn", "Abua" },
+ { "abo", "Abon" },
+ { "abp", "Abellen Ayta" },
+ { "abq", "Abaza" },
+ { "abr", "Abron" },
+ { "abs", "Ambonese Malay" },
+ { "abt", "Ambulas" },
+ { "abu", "Abure" },
+ { "abv", "Baharna Arabic" },
+ { "abw", "Pal" },
+ { "abx", "Inabaknon" },
+ { "aby", "Aneme Wake" },
+ { "abz", "Abui" },
+ { "aca", "Achagua" },
+ { "acb", "Áncá" },
+ { "acd", "Gikyode" },
+ { "ace", "Achinese" },
+ { "acf", "Saint Lucian Creole French" },
+ { "ach", "Acoli" },
+ { "aci", "Aka-Cari" },
+ { "ack", "Aka-Kora" },
+ { "acl", "Akar-Bale" },
+ { "acm", "Mesopotamian Arabic" },
+ { "acn", "Achang" },
+ { "acp", "Eastern Acipa" },
+ { "acq", "Ta'izzi-Adeni Arabic" },
+ { "acr", "Achi" },
+ { "acs", "Acroá" },
+ { "act", "Achterhoeks" },
+ { "acu", "Achuar-Shiwiar" },
+ { "acv", "Achumawi" },
+ { "acw", "Hijazi Arabic" },
+ { "acx", "Omani Arabic" },
+ { "acy", "Cypriot Arabic" },
+ { "acz", "Acheron" },
+ { "ada", "Adangme" },
+ { "adb", "Adabe" },
+ { "add", "Dzodinka" },
+ { "ade", "Adele" },
+ { "adf", "Dhofari Arabic" },
+ { "adg", "Andegerebinha" },
+ { "adh", "Adhola" },
+ { "adi", "Adi" },
+ { "adj", "Adioukrou" },
+ { "adl", "Galo" },
+ { "adn", "Adang" },
+ { "ado", "Abu" },
+ { "adp", "Adap" },
+ { "adq", "Adangbe" },
+ { "adr", "Adonara" },
+ { "ads", "Adamorobe Sign Language" },
+ { "adt", "Adnyamathanha" },
+ { "adu", "Aduge" },
+ { "adw", "Amundava" },
+ { "adx", "Amdo Tibetan" },
+ { "ady", "Adyghe" },
+ { "adz", "Adzera" },
+ { "aea", "Areba" },
+ { "aeb", "Tunisian Arabic" },
+ { "aec", "Saidi Arabic" },
+ { "aed", "Argentine Sign Language" },
+ { "aee", "Northeast Pashayi" },
+ { "aek", "Haeke" },
+ { "ael", "Ambele" },
+ { "aem", "Arem" },
+ { "aen", "Armenian Sign Language" },
+ { "aeq", "Aer" },
+ { "aer", "Eastern Arrernte" },
+ { "aes", "Alsea" },
+ { "aeu", "Akeu" },
+ { "aew", "Ambakich" },
+ { "aey", "Amele" },
+ { "aez", "Aeka" },
+ { "afb", "Gulf Arabic" },
+ { "afd", "Andai" },
+ { "afe", "Putukwam" },
+ { "afg", "Afghan Sign Language" },
+ { "afh", "Afrihili" },
+ { "afi", "Akrukay" },
+ { "afk", "Nanubae" },
+ { "afn", "Defaka" },
+ { "afo", "Eloyi" },
+ { "afp", "Tapei" },
+ { "afr", "Afrikaans" },
+ { "afs", "Afro-Seminole Creole" },
+ { "aft", "Afitti" },
+ { "afu", "Awutu" },
+ { "afz", "Obokuitai" },
+ { "aga", "Aguano" },
+ { "agb", "Legbo" },
+ { "agc", "Agatu" },
+ { "agd", "Agarabi" },
+ { "age", "Angal" },
+ { "agf", "Arguni" },
+ { "agg", "Angor" },
+ { "agh", "Ngelima" },
+ { "agi", "Agariya" },
+ { "agj", "Argobba" },
+ { "agk", "Isarog Agta" },
+ { "agl", "Fembe" },
+ { "agm", "Angaataha" },
+ { "agn", "Agutaynen" },
+ { "ago", "Tainae" },
+ { "agq", "Aghem" },
+ { "agr", "Aguaruna" },
+ { "ags", "Esimbi" },
+ { "agt", "Central Cagayan Agta" },
+ { "agu", "Aguacateco" },
+ { "agv", "Remontado Dumagat" },
+ { "agw", "Kahua" },
+ { "agx", "Aghul" },
+ { "agy", "Southern Alta" },
+ { "agz", "Mt. Iriga Agta" },
+ { "aha", "Ahanta" },
+ { "ahb", "Axamb" },
+ { "ahg", "Qimant" },
+ { "ahh", "Aghu" },
+ { "ahi", "Tiagbamrin Aizi" },
+ { "ahk", "Akha" },
+ { "ahl", "Igo" },
+ { "ahm", "Mobumrin Aizi" },
+ { "ahn", "Àhàn" },
+ { "aho", "Ahom" },
+ { "ahp", "Aproumu Aizi" },
+ { "ahr", "Ahirani" },
+ { "ahs", "Ashe" },
+ { "aht", "Ahtena" },
+ { "aia", "Arosi" },
+ { "aib", "Ainu (China)" },
+ { "aic", "Ainbai" },
+ { "aid", "Alngith" },
+ { "aie", "Amara" },
+ { "aif", "Agi" },
+ { "aig", "Antigua and Barbuda Creole English" },
+ { "aih", "Ai-Cham" },
+ { "aii", "Assyrian Neo-Aramaic" },
+ { "aij", "Lishanid Noshan" },
+ { "aik", "Ake" },
+ { "ail", "Aimele" },
+ { "aim", "Aimol" },
+ { "ain", "Ainu (Japan)" },
+ { "aio", "Aiton" },
+ { "aip", "Burumakok" },
+ { "aiq", "Aimaq" },
+ { "air", "Airoran" },
+ { "ais", "Nataoran Amis" },
+ { "ait", "Arikem" },
+ { "aiw", "Aari" },
+ { "aix", "Aighon" },
+ { "aiy", "Ali" },
+ { "aja", "Aja (Sudan)" },
+ { "ajg", "Aja (Benin)" },
+ { "aji", "Ajië" },
+ { "ajn", "Andajin" },
+ { "ajp", "South Levantine Arabic" },
+ { "ajt", "Judeo-Tunisian Arabic" },
+ { "aju", "Judeo-Moroccan Arabic" },
+ { "ajw", "Ajawa" },
+ { "ajz", "Amri Karbi" },
+ { "aka", "Akan" },
+ { "akb", "Batak Angkola" },
+ { "akc", "Mpur" },
+ { "akd", "Ukpet-Ehom" },
+ { "ake", "Akawaio" },
+ { "akf", "Akpa" },
+ { "akg", "Anakalangu" },
+ { "akh", "Angal Heneng" },
+ { "aki", "Aiome" },
+ { "akj", "Aka-Jeru" },
+ { "akk", "Akkadian" },
+ { "akl", "Aklanon" },
+ { "akm", "Aka-Bo" },
+ { "ako", "Akurio" },
+ { "akp", "Siwu" },
+ { "akq", "Ak" },
+ { "akr", "Araki" },
+ { "aks", "Akaselem" },
+ { "akt", "Akolet" },
+ { "aku", "Akum" },
+ { "akv", "Akhvakh" },
+ { "akw", "Akwa" },
+ { "akx", "Aka-Kede" },
+ { "aky", "Aka-Kol" },
+ { "akz", "Alabama" },
+ { "ala", "Alago" },
+ { "alc", "Qawasqar" },
+ { "ald", "Alladian" },
+ { "ale", "Aleut" },
+ { "alf", "Alege" },
+ { "alh", "Alawa" },
+ { "ali", "Amaimon" },
+ { "alj", "Alangan" },
+ { "alk", "Alak" },
+ { "all", "Allar" },
+ { "alm", "Amblong" },
+ { "aln", "Gheg Albanian" },
+ { "alo", "Larike-Wakasihu" },
+ { "alp", "Alune" },
+ { "alq", "Algonquin" },
+ { "alr", "Alutor" },
+ { "als", "Tosk Albanian" },
+ { "alt", "Southern Altai" },
+ { "alu", "'Are'are" },
+ { "alw", "Alaba-K’abeena" },
+ { "alx", "Amol" },
+ { "aly", "Alyawarr" },
+ { "alz", "Alur" },
+ { "ama", "Amanayé" },
+ { "amb", "Ambo" },
+ { "amc", "Amahuaca" },
+ { "ame", "Yanesha'" },
+ { "amf", "Hamer-Banna" },
+ { "amg", "Amurdak" },
+ { "amh", "Amharic" },
+ { "ami", "Amis" },
+ { "amj", "Amdang" },
+ { "amk", "Ambai" },
+ { "aml", "War-Jaintia" },
+ { "amm", "Ama (Papua New Guinea)" },
+ { "amn", "Amanab" },
+ { "amo", "Amo" },
+ { "amp", "Alamblak" },
+ { "amq", "Amahai" },
+ { "amr", "Amarakaeri" },
+ { "ams", "Southern Amami-Oshima" },
+ { "amt", "Amto" },
+ { "amu", "Guerrero Amuzgo" },
+ { "amv", "Ambelau" },
+ { "amw", "Western Neo-Aramaic" },
+ { "amx", "Anmatyerre" },
+ { "amy", "Ami" },
+ { "amz", "Atampaya" },
+ { "ana", "Andaqui" },
+ { "anb", "Andoa" },
+ { "anc", "Ngas" },
+ { "and", "Ansus" },
+ { "ane", "Xârâcùù" },
+ { "anf", "Animere" },
+ { "ang", "Old English (ca. 450-1100)" },
+ { "anh", "Nend" },
+ { "ani", "Andi" },
+ { "anj", "Anor" },
+ { "ank", "Goemai" },
+ { "anl", "Anu-Hkongso Chin" },
+ { "anm", "Anal" },
+ { "ann", "Obolo" },
+ { "ano", "Andoque" },
+ { "anp", "Angika" },
+ { "anq", "Jarawa (India)" },
+ { "anr", "Andh" },
+ { "ans", "Anserma" },
+ { "ant", "Antakarinya" },
+ { "anu", "Anuak" },
+ { "anv", "Denya" },
+ { "anw", "Anaang" },
+ { "anx", "Andra-Hus" },
+ { "any", "Anyin" },
+ { "anz", "Anem" },
+ { "aoa", "Angolar" },
+ { "aob", "Abom" },
+ { "aoc", "Pemon" },
+ { "aod", "Andarum" },
+ { "aoe", "Angal Enen" },
+ { "aof", "Bragat" },
+ { "aog", "Angoram" },
+ { "aoh", "Arma" },
+ { "aoi", "Anindilyakwa" },
+ { "aoj", "Mufian" },
+ { "aok", "Arhö" },
+ { "aol", "Alor" },
+ { "aom", "Ömie" },
+ { "aon", "Bumbita Arapesh" },
+ { "aor", "Aore" },
+ { "aos", "Taikat" },
+ { "aot", "A'tong" },
+ { "aou", "A'ou" },
+ { "aox", "Atorada" },
+ { "aoz", "Uab Meto" },
+ { "apb", "Sa'a" },
+ { "apc", "North Levantine Arabic" },
+ { "apd", "Sudanese Arabic" },
+ { "ape", "Bukiyip" },
+ { "apf", "Pahanan Agta" },
+ { "apg", "Ampanang" },
+ { "aph", "Athpariya" },
+ { "api", "Apiaká" },
+ { "apj", "Jicarilla Apache" },
+ { "apk", "Kiowa Apache" },
+ { "apl", "Lipan Apache" },
+ { "apm", "Mescalero-Chiricahua Apache" },
+ { "apn", "Apinayé" },
+ { "apo", "Ambul" },
+ { "app", "Apma" },
+ { "apq", "A-Pucikwar" },
+ { "apr", "Arop-Lokep" },
+ { "aps", "Arop-Sissano" },
+ { "apt", "Apatani" },
+ { "apu", "Apurinã" },
+ { "apv", "Alapmunte" },
+ { "apw", "Western Apache" },
+ { "apx", "Aputai" },
+ { "apy", "Apalaí" },
+ { "apz", "Safeyoka" },
+ { "aqc", "Archi" },
+ { "aqd", "Ampari Dogon" },
+ { "aqg", "Arigidi" },
+ { "aqm", "Atohwaim" },
+ { "aqn", "Northern Alta" },
+ { "aqp", "Atakapa" },
+ { "aqr", "Arhâ" },
+ { "aqz", "Akuntsu" },
+ { "ara", "Arabic" },
+ { "arb", "Standard Arabic" },
+ { "arc", "Official Aramaic (700-300 BCE)" },
+ { "ard", "Arabana" },
+ { "are", "Western Arrarnta" },
+ { "arg", "Aragonese" },
+ { "arh", "Arhuaco" },
+ { "ari", "Arikara" },
+ { "arj", "Arapaso" },
+ { "ark", "Arikapú" },
+ { "arl", "Arabela" },
+ { "arn", "Mapudungun" },
+ { "aro", "Araona" },
+ { "arp", "Arapaho" },
+ { "arq", "Algerian Arabic" },
+ { "arr", "Karo (Brazil)" },
+ { "ars", "Najdi Arabic" },
+ { "aru", "Aruá (Amazonas State)" },
+ { "arv", "Arbore" },
+ { "arw", "Arawak" },
+ { "arx", "Aruá (Rodonia State)" },
+ { "ary", "Moroccan Arabic" },
+ { "arz", "Egyptian Arabic" },
+ { "asa", "Asu (Tanzania)" },
+ { "asb", "Assiniboine" },
+ { "asc", "Casuarina Coast Asmat" },
+ { "asd", "Asas" },
+ { "ase", "American Sign Language" },
+ { "asf", "Australian Sign Language" },
+ { "asg", "Cishingini" },
+ { "ash", "Abishira" },
+ { "asi", "Buruwai" },
+ { "asj", "Sari" },
+ { "ask", "Ashkun" },
+ { "asl", "Asilulu" },
+ { "asm", "Assamese" },
+ { "asn", "Xingú Asuriní" },
+ { "aso", "Dano" },
+ { "asp", "Algerian Sign Language" },
+ { "asq", "Austrian Sign Language" },
+ { "asr", "Asuri" },
+ { "ass", "Ipulo" },
+ { "ast", "Asturian" },
+ { "asu", "Tocantins Asurini" },
+ { "asv", "Asoa" },
+ { "asw", "Australian Aborigines Sign Language" },
+ { "asx", "Muratayak" },
+ { "asy", "Yaosakor Asmat" },
+ { "asz", "As" },
+ { "ata", "Pele-Ata" },
+ { "atb", "Zaiwa" },
+ { "atc", "Atsahuaca" },
+ { "atd", "Ata Manobo" },
+ { "ate", "Atemble" },
+ { "atg", "Ivbie North-Okpela-Arhe" },
+ { "ati", "Attié" },
+ { "atj", "Atikamekw" },
+ { "atk", "Ati" },
+ { "atl", "Mt. Iraya Agta" },
+ { "atm", "Ata" },
+ { "atn", "Ashtiani" },
+ { "ato", "Atong" },
+ { "atp", "Pudtol Atta" },
+ { "atq", "Aralle-Tabulahan" },
+ { "atr", "Waimiri-Atroari" },
+ { "ats", "Gros Ventre" },
+ { "att", "Pamplona Atta" },
+ { "atu", "Reel" },
+ { "atv", "Northern Altai" },
+ { "atw", "Atsugewi" },
+ { "atx", "Arutani" },
+ { "aty", "Aneityum" },
+ { "atz", "Arta" },
+ { "aua", "Asumboa" },
+ { "aub", "Alugu" },
+ { "auc", "Waorani" },
+ { "aud", "Anuta" },
+ { "aue", "=Kx'au'ein" },
+ { "aug", "Aguna" },
+ { "auh", "Aushi" },
+ { "aui", "Anuki" },
+ { "auj", "Awjilah" },
+ { "auk", "Heyo" },
+ { "aul", "Aulua" },
+ { "aum", "Asu (Nigeria)" },
+ { "aun", "Molmo One" },
+ { "auo", "Auyokawa" },
+ { "aup", "Makayam" },
+ { "auq", "Anus" },
+ { "aur", "Aruek" },
+ { "aut", "Austral" },
+ { "auu", "Auye" },
+ { "auw", "Awyi" },
+ { "aux", "Aurá" },
+ { "auy", "Awiyaana" },
+ { "auz", "Uzbeki Arabic" },
+ { "ava", "Avaric" },
+ { "avb", "Avau" },
+ { "avd", "Alviri-Vidari" },
+ { "ave", "Avestan" },
+ { "avi", "Avikam" },
+ { "avk", "Kotava" },
+ { "avl", "Eastern Egyptian Bedawi Arabic" },
+ { "avm", "Angkamuthi" },
+ { "avn", "Avatime" },
+ { "avo", "Agavotaguerra" },
+ { "avs", "Aushiri" },
+ { "avt", "Au" },
+ { "avu", "Avokaya" },
+ { "avv", "Avá-Canoeiro" },
+ { "awa", "Awadhi" },
+ { "awb", "Awa (Papua New Guinea)" },
+ { "awc", "Cicipu" },
+ { "awe", "Awetí" },
+ { "awg", "Anguthimri" },
+ { "awh", "Awbono" },
+ { "awi", "Aekyom" },
+ { "awk", "Awabakal" },
+ { "awm", "Arawum" },
+ { "awn", "Awngi" },
+ { "awo", "Awak" },
+ { "awr", "Awera" },
+ { "aws", "South Awyu" },
+ { "awt", "Araweté" },
+ { "awu", "Central Awyu" },
+ { "awv", "Jair Awyu" },
+ { "aww", "Awun" },
+ { "awx", "Awara" },
+ { "awy", "Edera Awyu" },
+ { "axb", "Abipon" },
+ { "axe", "Ayerrerenge" },
+ { "axg", "Mato Grosso Arára" },
+ { "axk", "Yaka (Central African Republic)" },
+ { "axl", "Lower Southern Aranda" },
+ { "axm", "Middle Armenian" },
+ { "axx", "Xârâgurè" },
+ { "aya", "Awar" },
+ { "ayb", "Ayizo Gbe" },
+ { "ayc", "Southern Aymara" },
+ { "ayd", "Ayabadhu" },
+ { "aye", "Ayere" },
+ { "ayg", "Ginyanga" },
+ { "ayh", "Hadrami Arabic" },
+ { "ayi", "Leyigha" },
+ { "ayk", "Akuku" },
+ { "ayl", "Libyan Arabic" },
+ { "aym", "Aymara" },
+ { "ayn", "Sanaani Arabic" },
+ { "ayo", "Ayoreo" },
+ { "ayp", "North Mesopotamian Arabic" },
+ { "ayq", "Ayi (Papua New Guinea)" },
+ { "ayr", "Central Aymara" },
+ { "ays", "Sorsogon Ayta" },
+ { "ayt", "Magbukun Ayta" },
+ { "ayu", "Ayu" },
+ { "ayy", "Tayabas Ayta" },
+ { "ayz", "Mai Brat" },
+ { "aza", "Azha" },
+ { "azb", "South Azerbaijani" },
+ { "azd", "Eastern Durango Nahuatl" },
+ { "aze", "Azerbaijani" },
+ { "azg", "San Pedro Amuzgos Amuzgo" },
+ { "azj", "North Azerbaijani" },
+ { "azm", "Ipalapa Amuzgo" },
+ { "azn", "Western Durango Nahuatl" },
+ { "azo", "Awing" },
+ { "azt", "Faire Atta" },
+ { "azz", "Highland Puebla Nahuatl" },
+ { "baa", "Babatana" },
+ { "bab", "Bainouk-Gunyuño" },
+ { "bac", "Badui" },
+ { "bae", "Baré" },
+ { "baf", "Nubaca" },
+ { "bag", "Tuki" },
+ { "bah", "Bahamas Creole English" },
+ { "baj", "Barakai" },
+ { "bak", "Bashkir" },
+ { "bal", "Baluchi" },
+ { "bam", "Bambara" },
+ { "ban", "Balinese" },
+ { "bao", "Waimaha" },
+ { "bap", "Bantawa" },
+ { "bar", "Bavarian" },
+ { "bas", "Basa (Cameroon)" },
+ { "bau", "Bada (Nigeria)" },
+ { "bav", "Vengo" },
+ { "baw", "Bambili-Bambui" },
+ { "bax", "Bamun" },
+ { "bay", "Batuley" },
+ { "bba", "Baatonum" },
+ { "bbb", "Barai" },
+ { "bbc", "Batak Toba" },
+ { "bbd", "Bau" },
+ { "bbe", "Bangba" },
+ { "bbf", "Baibai" },
+ { "bbg", "Barama" },
+ { "bbh", "Bugan" },
+ { "bbi", "Barombi" },
+ { "bbj", "Ghomálá'" },
+ { "bbk", "Babanki" },
+ { "bbl", "Bats" },
+ { "bbm", "Babango" },
+ { "bbn", "Uneapa" },
+ { "bbo", "Northern Bobo Madaré" },
+ { "bbp", "West Central Banda" },
+ { "bbq", "Bamali" },
+ { "bbr", "Girawa" },
+ { "bbs", "Bakpinka" },
+ { "bbt", "Mburku" },
+ { "bbu", "Kulung (Nigeria)" },
+ { "bbv", "Karnai" },
+ { "bbw", "Baba" },
+ { "bbx", "Bubia" },
+ { "bby", "Befang" },
+ { "bbz", "Babalia Creole Arabic" },
+ { "bca", "Central Bai" },
+ { "bcb", "Bainouk-Samik" },
+ { "bcc", "Southern Balochi" },
+ { "bcd", "North Babar" },
+ { "bce", "Bamenyam" },
+ { "bcf", "Bamu" },
+ { "bcg", "Baga Binari" },
+ { "bch", "Bariai" },
+ { "bci", "Baoulé" },
+ { "bcj", "Bardi" },
+ { "bck", "Bunaba" },
+ { "bcl", "Central Bikol" },
+ { "bcm", "Bannoni" },
+ { "bcn", "Bali (Nigeria)" },
+ { "bco", "Kaluli" },
+ { "bcp", "Bali (Democratic Republic of Congo)" },
+ { "bcq", "Bench" },
+ { "bcr", "Babine" },
+ { "bcs", "Kohumono" },
+ { "bct", "Bendi" },
+ { "bcu", "Awad Bing" },
+ { "bcv", "Shoo-Minda-Nye" },
+ { "bcw", "Bana" },
+ { "bcy", "Bacama" },
+ { "bcz", "Bainouk-Gunyaamolo" },
+ { "bda", "Bayot" },
+ { "bdb", "Basap" },
+ { "bdc", "Emberá-Baudó" },
+ { "bdd", "Bunama" },
+ { "bde", "Bade" },
+ { "bdf", "Biage" },
+ { "bdg", "Bonggi" },
+ { "bdh", "Baka (Sudan)" },
+ { "bdi", "Burun" },
+ { "bdj", "Bai" },
+ { "bdk", "Budukh" },
+ { "bdl", "Indonesian Bajau" },
+ { "bdm", "Buduma" },
+ { "bdn", "Baldemu" },
+ { "bdo", "Morom" },
+ { "bdp", "Bende" },
+ { "bdq", "Bahnar" },
+ { "bdr", "West Coast Bajau" },
+ { "bds", "Burunge" },
+ { "bdt", "Bokoto" },
+ { "bdu", "Oroko" },
+ { "bdv", "Bodo Parja" },
+ { "bdw", "Baham" },
+ { "bdx", "Budong-Budong" },
+ { "bdy", "Bandjalang" },
+ { "bdz", "Badeshi" },
+ { "bea", "Beaver" },
+ { "beb", "Bebele" },
+ { "bec", "Iceve-Maci" },
+ { "bed", "Bedoanas" },
+ { "bee", "Byangsi" },
+ { "bef", "Benabena" },
+ { "beg", "Belait" },
+ { "beh", "Biali" },
+ { "bei", "Bekati'" },
+ { "bej", "Beja" },
+ { "bek", "Bebeli" },
+ { "bel", "Belarusian" },
+ { "bem", "Bemba (Zambia)" },
+ { "ben", "Bengali" },
+ { "beo", "Beami" },
+ { "bep", "Besoa" },
+ { "beq", "Beembe" },
+ { "bes", "Besme" },
+ { "bet", "Guiberoua Béte" },
+ { "beu", "Blagar" },
+ { "bev", "Daloa Bété" },
+ { "bew", "Betawi" },
+ { "bex", "Jur Modo" },
+ { "bey", "Beli (Papua New Guinea)" },
+ { "bez", "Bena (Tanzania)" },
+ { "bfa", "Bari" },
+ { "bfb", "Pauri Bareli" },
+ { "bfc", "Northern Bai" },
+ { "bfd", "Bafut" },
+ { "bfe", "Betaf" },
+ { "bff", "Bofi" },
+ { "bfg", "Busang Kayan" },
+ { "bfh", "Blafe" },
+ { "bfi", "British Sign Language" },
+ { "bfj", "Bafanji" },
+ { "bfk", "Ban Khor Sign Language" },
+ { "bfl", "Banda-Ndélé" },
+ { "bfm", "Mmen" },
+ { "bfn", "Bunak" },
+ { "bfo", "Malba Birifor" },
+ { "bfp", "Beba" },
+ { "bfq", "Badaga" },
+ { "bfr", "Bazigar" },
+ { "bfs", "Southern Bai" },
+ { "bft", "Balti" },
+ { "bfu", "Gahri" },
+ { "bfw", "Bondo" },
+ { "bfx", "Bantayanon" },
+ { "bfy", "Bagheli" },
+ { "bfz", "Mahasu Pahari" },
+ { "bga", "Gwamhi-Wuri" },
+ { "bgb", "Bobongko" },
+ { "bgc", "Haryanvi" },
+ { "bgd", "Rathwi Bareli" },
+ { "bge", "Bauria" },
+ { "bgf", "Bangandu" },
+ { "bgg", "Bugun" },
+ { "bgi", "Giangan" },
+ { "bgj", "Bangolan" },
+ { "bgk", "Bit" },
+ { "bgl", "Bo (Laos)" },
+ { "bgm", "Baga Mboteni" },
+ { "bgn", "Western Balochi" },
+ { "bgo", "Baga Koga" },
+ { "bgp", "Eastern Balochi" },
+ { "bgq", "Bagri" },
+ { "bgr", "Bawm Chin" },
+ { "bgs", "Tagabawa" },
+ { "bgt", "Bughotu" },
+ { "bgu", "Mbongno" },
+ { "bgv", "Warkay-Bipim" },
+ { "bgw", "Bhatri" },
+ { "bgx", "Balkan Gagauz Turkish" },
+ { "bgy", "Benggoi" },
+ { "bgz", "Banggai" },
+ { "bha", "Bharia" },
+ { "bhb", "Bhili" },
+ { "bhc", "Biga" },
+ { "bhd", "Bhadrawahi" },
+ { "bhe", "Bhaya" },
+ { "bhf", "Odiai" },
+ { "bhg", "Binandere" },
+ { "bhh", "Bukharic" },
+ { "bhi", "Bhilali" },
+ { "bhj", "Bahing" },
+ { "bhl", "Bimin" },
+ { "bhm", "Bathari" },
+ { "bhn", "Bohtan Neo-Aramaic" },
+ { "bho", "Bhojpuri" },
+ { "bhp", "Bima" },
+ { "bhq", "Tukang Besi South" },
+ { "bhr", "Bara Malagasy" },
+ { "bhs", "Buwal" },
+ { "bht", "Bhattiyali" },
+ { "bhu", "Bhunjia" },
+ { "bhv", "Bahau" },
+ { "bhw", "Biak" },
+ { "bhx", "Bhalay" },
+ { "bhy", "Bhele" },
+ { "bhz", "Bada (Indonesia)" },
+ { "bia", "Badimaya" },
+ { "bib", "Bissa" },
+ { "bic", "Bikaru" },
+ { "bid", "Bidiyo" },
+ { "bie", "Bepour" },
+ { "bif", "Biafada" },
+ { "big", "Biangai" },
+ { "bij", "Vaghat-Ya-Bijim-Legeri" },
+ { "bik", "Bikol" },
+ { "bil", "Bile" },
+ { "bim", "Bimoba" },
+ { "bin", "Bini" },
+ { "bio", "Nai" },
+ { "bip", "Bila" },
+ { "biq", "Bipi" },
+ { "bir", "Bisorio" },
+ { "bis", "Bislama" },
+ { "bit", "Berinomo" },
+ { "biu", "Biete" },
+ { "biv", "Southern Birifor" },
+ { "biw", "Kol (Cameroon)" },
+ { "bix", "Bijori" },
+ { "biy", "Birhor" },
+ { "biz", "Baloi" },
+ { "bja", "Budza" },
+ { "bjb", "Banggarla" },
+ { "bjc", "Bariji" },
+ { "bje", "Biao-Jiao Mien" },
+ { "bjf", "Barzani Jewish Neo-Aramaic" },
+ { "bjg", "Bidyogo" },
+ { "bjh", "Bahinemo" },
+ { "bji", "Burji" },
+ { "bjj", "Kanauji" },
+ { "bjk", "Barok" },
+ { "bjl", "Bulu (Papua New Guinea)" },
+ { "bjm", "Bajelani" },
+ { "bjn", "Banjar" },
+ { "bjo", "Mid-Southern Banda" },
+ { "bjp", "Fanamaket" },
+ { "bjr", "Binumarien" },
+ { "bjs", "Bajan" },
+ { "bjt", "Balanta-Ganja" },
+ { "bju", "Busuu" },
+ { "bjv", "Bedjond" },
+ { "bjw", "Bakwé" },
+ { "bjx", "Banao Itneg" },
+ { "bjy", "Bayali" },
+ { "bjz", "Baruga" },
+ { "bka", "Kyak" },
+ { "bkc", "Baka (Cameroon)" },
+ { "bkd", "Binukid" },
+ { "bkf", "Beeke" },
+ { "bkg", "Buraka" },
+ { "bkh", "Bakoko" },
+ { "bki", "Baki" },
+ { "bkj", "Pande" },
+ { "bkk", "Brokskat" },
+ { "bkl", "Berik" },
+ { "bkm", "Kom (Cameroon)" },
+ { "bkn", "Bukitan" },
+ { "bko", "Kwa'" },
+ { "bkp", "Boko (Democratic Republic of Congo)" },
+ { "bkq", "Bakairí" },
+ { "bkr", "Bakumpai" },
+ { "bks", "Northern Sorsoganon" },
+ { "bkt", "Boloki" },
+ { "bku", "Buhid" },
+ { "bkv", "Bekwarra" },
+ { "bkw", "Bekwel" },
+ { "bkx", "Baikeno" },
+ { "bky", "Bokyi" },
+ { "bkz", "Bungku" },
+ { "bla", "Siksika" },
+ { "blb", "Bilua" },
+ { "blc", "Bella Coola" },
+ { "bld", "Bolango" },
+ { "ble", "Balanta-Kentohe" },
+ { "blf", "Buol" },
+ { "blg", "Balau" },
+ { "blh", "Kuwaa" },
+ { "bli", "Bolia" },
+ { "blj", "Bolongan" },
+ { "blk", "Pa'o Karen" },
+ { "bll", "Biloxi" },
+ { "blm", "Beli (Sudan)" },
+ { "bln", "Southern Catanduanes Bikol" },
+ { "blo", "Anii" },
+ { "blp", "Blablanga" },
+ { "blq", "Baluan-Pam" },
+ { "blr", "Blang" },
+ { "bls", "Balaesang" },
+ { "blt", "Tai Dam" },
+ { "blv", "Bolo" },
+ { "blw", "Balangao" },
+ { "blx", "Mag-Indi Ayta" },
+ { "bly", "Notre" },
+ { "blz", "Balantak" },
+ { "bma", "Lame" },
+ { "bmb", "Bembe" },
+ { "bmc", "Biem" },
+ { "bmd", "Baga Manduri" },
+ { "bme", "Limassa" },
+ { "bmf", "Bom" },
+ { "bmg", "Bamwe" },
+ { "bmh", "Kein" },
+ { "bmi", "Bagirmi" },
+ { "bmj", "Bote-Majhi" },
+ { "bmk", "Ghayavi" },
+ { "bml", "Bomboli" },
+ { "bmm", "Northern Betsimisaraka Malagasy" },
+ { "bmn", "Bina (Papua New Guinea)" },
+ { "bmo", "Bambalang" },
+ { "bmp", "Bulgebi" },
+ { "bmq", "Bomu" },
+ { "bmr", "Muinane" },
+ { "bms", "Bilma Kanuri" },
+ { "bmt", "Biao Mon" },
+ { "bmu", "Somba-Siawari" },
+ { "bmv", "Bum" },
+ { "bmw", "Bomwali" },
+ { "bmx", "Baimak" },
+ { "bmy", "Bemba (Democratic Republic of Congo)" },
+ { "bmz", "Baramu" },
+ { "bna", "Bonerate" },
+ { "bnb", "Bookan" },
+ { "bnc", "Bontok" },
+ { "bnd", "Banda (Indonesia)" },
+ { "bne", "Bintauna" },
+ { "bnf", "Masiwang" },
+ { "bng", "Benga" },
+ { "bni", "Bangi" },
+ { "bnj", "Eastern Tawbuid" },
+ { "bnk", "Bierebo" },
+ { "bnl", "Boon" },
+ { "bnm", "Batanga" },
+ { "bnn", "Bunun" },
+ { "bno", "Bantoanon" },
+ { "bnp", "Bola" },
+ { "bnq", "Bantik" },
+ { "bnr", "Butmas-Tur" },
+ { "bns", "Bundeli" },
+ { "bnu", "Bentong" },
+ { "bnv", "Bonerif" },
+ { "bnw", "Bisis" },
+ { "bnx", "Bangubangu" },
+ { "bny", "Bintulu" },
+ { "bnz", "Beezen" },
+ { "boa", "Bora" },
+ { "bob", "Aweer" },
+ { "bod", "Tibetan" },
+ { "boe", "Mundabli" },
+ { "bof", "Bolon" },
+ { "bog", "Bamako Sign Language" },
+ { "boh", "Boma" },
+ { "boi", "Barbareño" },
+ { "boj", "Anjam" },
+ { "bok", "Bonjo" },
+ { "bol", "Bole" },
+ { "bom", "Berom" },
+ { "bon", "Bine" },
+ { "boo", "Tiemacèwè Bozo" },
+ { "bop", "Bonkiman" },
+ { "boq", "Bogaya" },
+ { "bor", "Borôro" },
+ { "bos", "Bosnian" },
+ { "bot", "Bongo" },
+ { "bou", "Bondei" },
+ { "bov", "Tuwuli" },
+ { "bow", "Rema" },
+ { "box", "Buamu" },
+ { "boy", "Bodo (Central African Republic)" },
+ { "boz", "Tiéyaxo Bozo" },
+ { "bpa", "Daakaka" },
+ { "bpb", "Barbacoas" },
+ { "bpd", "Banda-Banda" },
+ { "bpg", "Bonggo" },
+ { "bph", "Botlikh" },
+ { "bpi", "Bagupi" },
+ { "bpj", "Binji" },
+ { "bpk", "Orowe" },
+ { "bpl", "Broome Pearling Lugger Pidgin" },
+ { "bpm", "Biyom" },
+ { "bpn", "Dzao Min" },
+ { "bpo", "Anasi" },
+ { "bpp", "Kaure" },
+ { "bpq", "Banda Malay" },
+ { "bpr", "Koronadal Blaan" },
+ { "bps", "Sarangani Blaan" },
+ { "bpt", "Barrow Point" },
+ { "bpu", "Bongu" },
+ { "bpv", "Bian Marind" },
+ { "bpw", "Bo (Papua New Guinea)" },
+ { "bpx", "Palya Bareli" },
+ { "bpy", "Bishnupriya" },
+ { "bpz", "Bilba" },
+ { "bqa", "Tchumbuli" },
+ { "bqb", "Bagusa" },
+ { "bqc", "Boko (Benin)" },
+ { "bqd", "Bung" },
+ { "bqf", "Baga Kaloum" },
+ { "bqg", "Bago-Kusuntu" },
+ { "bqh", "Baima" },
+ { "bqi", "Bakhtiari" },
+ { "bqj", "Bandial" },
+ { "bqk", "Banda-Mbrès" },
+ { "bql", "Bilakura" },
+ { "bqm", "Wumboko" },
+ { "bqn", "Bulgarian Sign Language" },
+ { "bqo", "Balo" },
+ { "bqp", "Busa" },
+ { "bqq", "Biritai" },
+ { "bqr", "Burusu" },
+ { "bqs", "Bosngun" },
+ { "bqt", "Bamukumbit" },
+ { "bqu", "Boguru" },
+ { "bqv", "Koro Wachi" },
+ { "bqw", "Buru (Nigeria)" },
+ { "bqx", "Baangi" },
+ { "bqy", "Bengkala Sign Language" },
+ { "bqz", "Bakaka" },
+ { "bra", "Braj" },
+ { "brb", "Lave" },
+ { "brc", "Berbice Creole Dutch" },
+ { "brd", "Baraamu" },
+ { "bre", "Breton" },
+ { "brf", "Bera" },
+ { "brg", "Baure" },
+ { "brh", "Brahui" },
+ { "bri", "Mokpwe" },
+ { "brj", "Bieria" },
+ { "brk", "Birked" },
+ { "brl", "Birwa" },
+ { "brm", "Barambu" },
+ { "brn", "Boruca" },
+ { "bro", "Brokkat" },
+ { "brp", "Barapasi" },
+ { "brq", "Breri" },
+ { "brr", "Birao" },
+ { "brs", "Baras" },
+ { "brt", "Bitare" },
+ { "bru", "Eastern Bru" },
+ { "brv", "Western Bru" },
+ { "brw", "Bellari" },
+ { "brx", "Bodo (India)" },
+ { "bry", "Burui" },
+ { "brz", "Bilbil" },
+ { "bsa", "Abinomn" },
+ { "bsb", "Brunei Bisaya" },
+ { "bsc", "Bassari" },
+ { "bse", "Wushi" },
+ { "bsf", "Bauchi" },
+ { "bsg", "Bashkardi" },
+ { "bsh", "Kati" },
+ { "bsi", "Bassossi" },
+ { "bsj", "Bangwinji" },
+ { "bsk", "Burushaski" },
+ { "bsl", "Basa-Gumna" },
+ { "bsm", "Busami" },
+ { "bsn", "Barasana-Eduria" },
+ { "bso", "Buso" },
+ { "bsp", "Baga Sitemu" },
+ { "bsq", "Bassa" },
+ { "bsr", "Bassa-Kontagora" },
+ { "bss", "Akoose" },
+ { "bst", "Basketo" },
+ { "bsu", "Bahonsuai" },
+ { "bsv", "Baga Sobané" },
+ { "bsw", "Baiso" },
+ { "bsx", "Yangkam" },
+ { "bsy", "Sabah Bisaya" },
+ { "bta", "Bata" },
+ { "btc", "Bati (Cameroon)" },
+ { "btd", "Batak Dairi" },
+ { "bte", "Gamo-Ningi" },
+ { "btf", "Birgit" },
+ { "btg", "Gagnoa Bété" },
+ { "bth", "Biatah Bidayuh" },
+ { "bti", "Burate" },
+ { "btj", "Bacanese Malay" },
+ { "btl", "Bhatola" },
+ { "btm", "Batak Mandailing" },
+ { "btn", "Ratagnon" },
+ { "bto", "Rinconada Bikol" },
+ { "btp", "Budibud" },
+ { "btq", "Batek" },
+ { "btr", "Baetora" },
+ { "bts", "Batak Simalungun" },
+ { "btt", "Bete-Bendi" },
+ { "btu", "Batu" },
+ { "btv", "Bateri" },
+ { "btw", "Butuanon" },
+ { "btx", "Batak Karo" },
+ { "bty", "Bobot" },
+ { "btz", "Batak Alas-Kluet" },
+ { "bua", "Buriat" },
+ { "bub", "Bua" },
+ { "buc", "Bushi" },
+ { "bud", "Ntcham" },
+ { "bue", "Beothuk" },
+ { "buf", "Bushoong" },
+ { "bug", "Buginese" },
+ { "buh", "Younuo Bunu" },
+ { "bui", "Bongili" },
+ { "buj", "Basa-Gurmana" },
+ { "buk", "Bugawac" },
+ { "bul", "Bulgarian" },
+ { "bum", "Bulu (Cameroon)" },
+ { "bun", "Sherbro" },
+ { "buo", "Terei" },
+ { "bup", "Busoa" },
+ { "buq", "Brem" },
+ { "bus", "Bokobaru" },
+ { "but", "Bungain" },
+ { "buu", "Budu" },
+ { "buv", "Bun" },
+ { "buw", "Bubi" },
+ { "bux", "Boghom" },
+ { "buy", "Bullom So" },
+ { "buz", "Bukwen" },
+ { "bva", "Barein" },
+ { "bvb", "Bube" },
+ { "bvc", "Baelelea" },
+ { "bvd", "Baeggu" },
+ { "bve", "Berau Malay" },
+ { "bvf", "Boor" },
+ { "bvg", "Bonkeng" },
+ { "bvh", "Bure" },
+ { "bvi", "Belanda Viri" },
+ { "bvj", "Baan" },
+ { "bvk", "Bukat" },
+ { "bvl", "Bolivian Sign Language" },
+ { "bvm", "Bamunka" },
+ { "bvn", "Buna" },
+ { "bvo", "Bolgo" },
+ { "bvp", "Bumang" },
+ { "bvq", "Birri" },
+ { "bvr", "Burarra" },
+ { "bvt", "Bati (Indonesia)" },
+ { "bvu", "Bukit Malay" },
+ { "bvv", "Baniva" },
+ { "bvw", "Boga" },
+ { "bvx", "Dibole" },
+ { "bvy", "Baybayanon" },
+ { "bvz", "Bauzi" },
+ { "bwa", "Bwatoo" },
+ { "bwb", "Namosi-Naitasiri-Serua" },
+ { "bwc", "Bwile" },
+ { "bwd", "Bwaidoka" },
+ { "bwe", "Bwe Karen" },
+ { "bwf", "Boselewa" },
+ { "bwg", "Barwe" },
+ { "bwh", "Bishuo" },
+ { "bwi", "Baniwa" },
+ { "bwj", "Láá Láá Bwamu" },
+ { "bwk", "Bauwaki" },
+ { "bwl", "Bwela" },
+ { "bwm", "Biwat" },
+ { "bwn", "Wunai Bunu" },
+ { "bwo", "Boro (Ethiopia)" },
+ { "bwp", "Mandobo Bawah" },
+ { "bwq", "Southern Bobo Madaré" },
+ { "bwr", "Bura-Pabir" },
+ { "bws", "Bomboma" },
+ { "bwt", "Bafaw-Balong" },
+ { "bwu", "Buli (Ghana)" },
+ { "bww", "Bwa" },
+ { "bwx", "Bu-Nao Bunu" },
+ { "bwy", "Cwi Bwamu" },
+ { "bwz", "Bwisi" },
+ { "bxa", "Tairaha" },
+ { "bxb", "Belanda Bor" },
+ { "bxc", "Molengue" },
+ { "bxd", "Pela" },
+ { "bxe", "Birale" },
+ { "bxf", "Bilur" },
+ { "bxg", "Bangala" },
+ { "bxh", "Buhutu" },
+ { "bxi", "Pirlatapa" },
+ { "bxj", "Bayungu" },
+ { "bxk", "Bukusu" },
+ { "bxl", "Jalkunan" },
+ { "bxm", "Mongolia Buriat" },
+ { "bxn", "Burduna" },
+ { "bxo", "Barikanchi" },
+ { "bxp", "Bebil" },
+ { "bxq", "Beele" },
+ { "bxr", "Russia Buriat" },
+ { "bxs", "Busam" },
+ { "bxu", "China Buriat" },
+ { "bxv", "Berakou" },
+ { "bxw", "Bankagooma" },
+ { "bxx", "Borna (Democratic Republic of Congo)" },
+ { "bxz", "Binahari" },
+ { "bya", "Batak" },
+ { "byb", "Bikya" },
+ { "byc", "Ubaghara" },
+ { "byd", "Benyadu'" },
+ { "bye", "Pouye" },
+ { "byf", "Bete" },
+ { "byg", "Baygo" },
+ { "byh", "Bhujel" },
+ { "byi", "Buyu" },
+ { "byj", "Bina (Nigeria)" },
+ { "byk", "Biao" },
+ { "byl", "Bayono" },
+ { "bym", "Bidyara" },
+ { "byn", "Bilin" },
+ { "byo", "Biyo" },
+ { "byp", "Bumaji" },
+ { "byq", "Basay" },
+ { "byr", "Baruya" },
+ { "bys", "Burak" },
+ { "byt", "Berti" },
+ { "byv", "Medumba" },
+ { "byw", "Belhariya" },
+ { "byx", "Qaqet" },
+ { "byy", "Buya" },
+ { "byz", "Banaro" },
+ { "bza", "Bandi" },
+ { "bzb", "Andio" },
+ { "bzc", "Southern Betsimisaraka Malagasy" },
+ { "bzd", "Bribri" },
+ { "bze", "Jenaama Bozo" },
+ { "bzf", "Boikin" },
+ { "bzg", "Babuza" },
+ { "bzh", "Mapos Buang" },
+ { "bzi", "Bisu" },
+ { "bzj", "Belize Kriol English" },
+ { "bzk", "Nicaragua Creole English" },
+ { "bzl", "Boano (Sulawesi)" },
+ { "bzm", "Bolondo" },
+ { "bzn", "Boano (Maluku)" },
+ { "bzo", "Bozaba" },
+ { "bzp", "Kemberano" },
+ { "bzq", "Buli (Indonesia)" },
+ { "bzr", "Biri" },
+ { "bzs", "Brazilian Sign Language" },
+ { "bzt", "Brithenig" },
+ { "bzu", "Burmeso" },
+ { "bzv", "Naami" },
+ { "bzw", "Basa (Nigeria)" },
+ { "bzx", "Kɛlɛngaxo Bozo" },
+ { "bzy", "Obanliku" },
+ { "bzz", "Evant" },
+ { "caa", "Chortí" },
+ { "cab", "Garifuna" },
+ { "cac", "Chuj" },
+ { "cad", "Caddo" },
+ { "cae", "Lehar" },
+ { "caf", "Southern Carrier" },
+ { "cag", "Nivaclé" },
+ { "cah", "Cahuarano" },
+ { "caj", "Chané" },
+ { "cak", "Kaqchikel" },
+ { "cal", "Carolinian" },
+ { "cam", "Cemuhî" },
+ { "can", "Chambri" },
+ { "cao", "Chácobo" },
+ { "cap", "Chipaya" },
+ { "caq", "Car Nicobarese" },
+ { "car", "Galibi Carib" },
+ { "cas", "Tsimané" },
+ { "cat", "Catalan" },
+ { "cav", "Cavineña" },
+ { "caw", "Callawalla" },
+ { "cax", "Chiquitano" },
+ { "cay", "Cayuga" },
+ { "caz", "Canichana" },
+ { "cbb", "Cabiyarí" },
+ { "cbc", "Carapana" },
+ { "cbd", "Carijona" },
+ { "cbe", "Chipiajes" },
+ { "cbg", "Chimila" },
+ { "cbh", "Cagua" },
+ { "cbi", "Chachi" },
+ { "cbj", "Ede Cabe" },
+ { "cbk", "Chavacano" },
+ { "cbl", "Bualkhaw Chin" },
+ { "cbn", "Nyahkur" },
+ { "cbo", "Izora" },
+ { "cbr", "Cashibo-Cacataibo" },
+ { "cbs", "Cashinahua" },
+ { "cbt", "Chayahuita" },
+ { "cbu", "Candoshi-Shapra" },
+ { "cbv", "Cacua" },
+ { "cbw", "Kinabalian" },
+ { "cby", "Carabayo" },
+ { "cca", "Cauca" },
+ { "ccc", "Chamicuro" },
+ { "ccd", "Cafundo Creole" },
+ { "cce", "Chopi" },
+ { "ccg", "Samba Daka" },
+ { "cch", "Atsam" },
+ { "ccj", "Kasanga" },
+ { "ccl", "Cutchi-Swahili" },
+ { "ccm", "Malaccan Creole Malay" },
+ { "cco", "Comaltepec Chinantec" },
+ { "ccp", "Chakma" },
+ { "ccr", "Cacaopera" },
+ { "cda", "Choni" },
+ { "cde", "Chenchu" },
+ { "cdf", "Chiru" },
+ { "cdg", "Chamari" },
+ { "cdh", "Chambeali" },
+ { "cdi", "Chodri" },
+ { "cdj", "Churahi" },
+ { "cdm", "Chepang" },
+ { "cdn", "Chaudangsi" },
+ { "cdo", "Min Dong Chinese" },
+ { "cdr", "Cinda-Regi-Tiyal" },
+ { "cds", "Chadian Sign Language" },
+ { "cdy", "Chadong" },
+ { "cdz", "Koda" },
+ { "cea", "Lower Chehalis" },
+ { "ceb", "Cebuano" },
+ { "ceg", "Chamacoco" },
+ { "cek", "Eastern Khumi Chin" },
+ { "cen", "Cen" },
+ { "ces", "Czech" },
+ { "cet", "Centúúm" },
+ { "cfa", "Dijim-Bwilim" },
+ { "cfd", "Cara" },
+ { "cfg", "Como Karim" },
+ { "cfm", "Falam Chin" },
+ { "cga", "Changriwa" },
+ { "cgc", "Kagayanen" },
+ { "cgg", "Chiga" },
+ { "cgk", "Chocangacakha" },
+ { "cha", "Chamorro" },
+ { "chb", "Chibcha" },
+ { "chc", "Catawba" },
+ { "chd", "Highland Oaxaca Chontal" },
+ { "che", "Chechen" },
+ { "chf", "Tabasco Chontal" },
+ { "chg", "Chagatai" },
+ { "chh", "Chinook" },
+ { "chj", "Ojitlán Chinantec" },
+ { "chk", "Chuukese" },
+ { "chl", "Cahuilla" },
+ { "chm", "Mari (Russia)" },
+ { "chn", "Chinook jargon" },
+ { "cho", "Choctaw" },
+ { "chp", "Chipewyan" },
+ { "chq", "Quiotepec Chinantec" },
+ { "chr", "Cherokee" },
+ { "cht", "Cholón" },
+ { "chu", "Church Slavic" },
+ { "chv", "Chuvash" },
+ { "chw", "Chuwabu" },
+ { "chx", "Chantyal" },
+ { "chy", "Cheyenne" },
+ { "chz", "Ozumacín Chinantec" },
+ { "cia", "Cia-Cia" },
+ { "cib", "Ci Gbe" },
+ { "cic", "Chickasaw" },
+ { "cid", "Chimariko" },
+ { "cie", "Cineni" },
+ { "cih", "Chinali" },
+ { "cik", "Chitkuli Kinnauri" },
+ { "cim", "Cimbrian" },
+ { "cin", "Cinta Larga" },
+ { "cip", "Chiapanec" },
+ { "cir", "Tiri" },
+ { "ciw", "Chippewa" },
+ { "ciy", "Chaima" },
+ { "cja", "Western Cham" },
+ { "cje", "Chru" },
+ { "cjh", "Upper Chehalis" },
+ { "cji", "Chamalal" },
+ { "cjk", "Chokwe" },
+ { "cjm", "Eastern Cham" },
+ { "cjn", "Chenapian" },
+ { "cjo", "Ashéninka Pajonal" },
+ { "cjp", "Cabécar" },
+ { "cjs", "Shor" },
+ { "cjv", "Chuave" },
+ { "cjy", "Jinyu Chinese" },
+ { "ckb", "Central Kurdish" },
+ { "ckh", "Chak" },
+ { "ckl", "Cibak" },
+ { "ckn", "Kaang Chin" },
+ { "cko", "Anufo" },
+ { "ckq", "Kajakse" },
+ { "ckr", "Kairak" },
+ { "cks", "Tayo" },
+ { "ckt", "Chukot" },
+ { "cku", "Koasati" },
+ { "ckv", "Kavalan" },
+ { "ckx", "Caka" },
+ { "cky", "Cakfem-Mushere" },
+ { "ckz", "Cakchiquel-Quiché Mixed Language" },
+ { "cla", "Ron" },
+ { "clc", "Chilcotin" },
+ { "cld", "Chaldean Neo-Aramaic" },
+ { "cle", "Lealao Chinantec" },
+ { "clh", "Chilisso" },
+ { "cli", "Chakali" },
+ { "clj", "Laitu Chin" },
+ { "clk", "Idu-Mishmi" },
+ { "cll", "Chala" },
+ { "clm", "Clallam" },
+ { "clo", "Lowland Oaxaca Chontal" },
+ { "clt", "Lautu Chin" },
+ { "clu", "Caluyanun" },
+ { "clw", "Chulym" },
+ { "cly", "Eastern Highland Chatino" },
+ { "cma", "Maa" },
+ { "cme", "Cerma" },
+ { "cmg", "Classical Mongolian" },
+ { "cmi", "Emberá-Chamí" },
+ { "cml", "Campalagian" },
+ { "cmm", "Michigamea" },
+ { "cmn", "Mandarin Chinese" },
+ { "cmo", "Central Mnong" },
+ { "cmr", "Mro-Khimi Chin" },
+ { "cms", "Messapic" },
+ { "cmt", "Camtho" },
+ { "cna", "Changthang" },
+ { "cnb", "Chinbon Chin" },
+ { "cnc", "Côông" },
+ { "cng", "Northern Qiang" },
+ { "cnh", "Haka Chin" },
+ { "cni", "Asháninka" },
+ { "cnk", "Khumi Chin" },
+ { "cnl", "Lalana Chinantec" },
+ { "cno", "Con" },
+ { "cns", "Central Asmat" },
+ { "cnt", "Tepetotutla Chinantec" },
+ { "cnu", "Chenoua" },
+ { "cnw", "Ngawn Chin" },
+ { "cnx", "Middle Cornish" },
+ { "coa", "Cocos Islands Malay" },
+ { "cob", "Chicomuceltec" },
+ { "coc", "Cocopa" },
+ { "cod", "Cocama-Cocamilla" },
+ { "coe", "Koreguaje" },
+ { "cof", "Colorado" },
+ { "cog", "Chong" },
+ { "coh", "Chonyi-Dzihana-Kauma" },
+ { "coj", "Cochimi" },
+ { "cok", "Santa Teresa Cora" },
+ { "col", "Columbia-Wenatchi" },
+ { "com", "Comanche" },
+ { "con", "Cofán" },
+ { "coo", "Comox" },
+ { "cop", "Coptic" },
+ { "coq", "Coquille" },
+ { "cor", "Cornish" },
+ { "cos", "Corsican" },
+ { "cot", "Caquinte" },
+ { "cou", "Wamey" },
+ { "cov", "Cao Miao" },
+ { "cow", "Cowlitz" },
+ { "cox", "Nanti" },
+ { "coy", "Coyaima" },
+ { "coz", "Chochotec" },
+ { "cpa", "Palantla Chinantec" },
+ { "cpb", "Ucayali-Yurúa Ashéninka" },
+ { "cpc", "Ajyíninka Apurucayali" },
+ { "cpg", "Cappadocian Greek" },
+ { "cpi", "Chinese Pidgin English" },
+ { "cpn", "Cherepon" },
+ { "cpo", "Kpeego" },
+ { "cps", "Capiznon" },
+ { "cpu", "Pichis Ashéninka" },
+ { "cpx", "Pu-Xian Chinese" },
+ { "cpy", "South Ucayali Ashéninka" },
+ { "cqd", "Chuanqiandian Cluster Miao" },
+ { "cqu", "Chilean Quechua" },
+ { "cra", "Chara" },
+ { "crb", "Island Carib" },
+ { "crc", "Lonwolwol" },
+ { "crd", "Coeur d'Alene" },
+ { "cre", "Cree" },
+ { "crf", "Caramanta" },
+ { "crg", "Michif" },
+ { "crh", "Crimean Tatar" },
+ { "cri", "Sãotomense" },
+ { "crj", "Southern East Cree" },
+ { "crk", "Plains Cree" },
+ { "crl", "Northern East Cree" },
+ { "crm", "Moose Cree" },
+ { "crn", "El Nayar Cora" },
+ { "cro", "Crow" },
+ { "crq", "Iyo'wujwa Chorote" },
+ { "crr", "Carolina Algonquian" },
+ { "crs", "Seselwa Creole French" },
+ { "crt", "Iyojwa'ja Chorote" },
+ { "crv", "Chaura" },
+ { "crw", "Chrau" },
+ { "crx", "Carrier" },
+ { "cry", "Cori" },
+ { "crz", "Cruzeño" },
+ { "csa", "Chiltepec Chinantec" },
+ { "csb", "Kashubian" },
+ { "csc", "Catalan Sign Language" },
+ { "csd", "Chiangmai Sign Language" },
+ { "cse", "Czech Sign Language" },
+ { "csf", "Cuba Sign Language" },
+ { "csg", "Chilean Sign Language" },
+ { "csh", "Asho Chin" },
+ { "csi", "Coast Miwok" },
+ { "csj", "Songlai Chin" },
+ { "csk", "Jola-Kasa" },
+ { "csl", "Chinese Sign Language" },
+ { "csm", "Central Sierra Miwok" },
+ { "csn", "Colombian Sign Language" },
+ { "cso", "Sochiapam Chinantec" },
+ { "csq", "Croatia Sign Language" },
+ { "csr", "Costa Rican Sign Language" },
+ { "css", "Southern Ohlone" },
+ { "cst", "Northern Ohlone" },
+ { "csv", "Sumtu Chin" },
+ { "csw", "Swampy Cree" },
+ { "csy", "Siyin Chin" },
+ { "csz", "Coos" },
+ { "cta", "Tataltepec Chatino" },
+ { "ctc", "Chetco" },
+ { "ctd", "Tedim Chin" },
+ { "cte", "Tepinapa Chinantec" },
+ { "ctg", "Chittagonian" },
+ { "cth", "Thaiphum Chin" },
+ { "ctl", "Tlacoatzintepec Chinantec" },
+ { "ctm", "Chitimacha" },
+ { "ctn", "Chhintange" },
+ { "cto", "Emberá-Catío" },
+ { "ctp", "Western Highland Chatino" },
+ { "cts", "Northern Catanduanes Bikol" },
+ { "ctt", "Wayanad Chetti" },
+ { "ctu", "Chol" },
+ { "ctz", "Zacatepec Chatino" },
+ { "cua", "Cua" },
+ { "cub", "Cubeo" },
+ { "cuc", "Usila Chinantec" },
+ { "cug", "Cung" },
+ { "cuh", "Chuka" },
+ { "cui", "Cuiba" },
+ { "cuj", "Mashco Piro" },
+ { "cuk", "San Blas Kuna" },
+ { "cul", "Culina" },
+ { "cum", "Cumeral" },
+ { "cuo", "Cumanagoto" },
+ { "cup", "Cupeño" },
+ { "cuq", "Cun" },
+ { "cur", "Chhulung" },
+ { "cut", "Teutila Cuicatec" },
+ { "cuu", "Tai Ya" },
+ { "cuv", "Cuvok" },
+ { "cuw", "Chukwa" },
+ { "cux", "Tepeuxila Cuicatec" },
+ { "cvg", "Chug" },
+ { "cvn", "Valle Nacional Chinantec" },
+ { "cwa", "Kabwa" },
+ { "cwb", "Maindo" },
+ { "cwd", "Woods Cree" },
+ { "cwe", "Kwere" },
+ { "cwg", "Chewong" },
+ { "cwt", "Kuwaataay" },
+ { "cya", "Nopala Chatino" },
+ { "cyb", "Cayubaba" },
+ { "cym", "Welsh" },
+ { "cyo", "Cuyonon" },
+ { "czh", "Huizhou Chinese" },
+ { "czk", "Knaanic" },
+ { "czn", "Zenzontepec Chatino" },
+ { "czo", "Min Zhong Chinese" },
+ { "czt", "Zotung Chin" },
+ { "daa", "Dangaléat" },
+ { "dac", "Dambi" },
+ { "dad", "Marik" },
+ { "dae", "Duupa" },
+ { "dag", "Dagbani" },
+ { "dah", "Gwahatike" },
+ { "dai", "Day" },
+ { "daj", "Dar Fur Daju" },
+ { "dak", "Dakota" },
+ { "dal", "Dahalo" },
+ { "dam", "Damakawa" },
+ { "dan", "Danish" },
+ { "dao", "Daai Chin" },
+ { "daq", "Dandami Maria" },
+ { "dar", "Dargwa" },
+ { "das", "Daho-Doo" },
+ { "dau", "Dar Sila Daju" },
+ { "dav", "Taita" },
+ { "daw", "Davawenyo" },
+ { "dax", "Dayi" },
+ { "daz", "Dao" },
+ { "dba", "Bangime" },
+ { "dbb", "Deno" },
+ { "dbd", "Dadiya" },
+ { "dbe", "Dabe" },
+ { "dbf", "Edopi" },
+ { "dbg", "Dogul Dom Dogon" },
+ { "dbi", "Doka" },
+ { "dbj", "Ida'an" },
+ { "dbl", "Dyirbal" },
+ { "dbm", "Duguri" },
+ { "dbn", "Duriankere" },
+ { "dbo", "Dulbu" },
+ { "dbp", "Duwai" },
+ { "dbq", "Daba" },
+ { "dbr", "Dabarre" },
+ { "dbt", "Ben Tey Dogon" },
+ { "dbu", "Bondum Dom Dogon" },
+ { "dbv", "Dungu" },
+ { "dbw", "Bankan Tey Dogon" },
+ { "dby", "Dibiyaso" },
+ { "dcc", "Deccan" },
+ { "dcr", "Negerhollands" },
+ { "dda", "Dadi Dadi" },
+ { "ddd", "Dongotono" },
+ { "dde", "Doondo" },
+ { "ddg", "Fataluku" },
+ { "ddi", "West Goodenough" },
+ { "ddj", "Jaru" },
+ { "ddn", "Dendi (Benin)" },
+ { "ddo", "Dido" },
+ { "ddr", "Dhudhuroa" },
+ { "dds", "Donno So Dogon" },
+ { "ddw", "Dawera-Daweloor" },
+ { "dec", "Dagik" },
+ { "ded", "Dedua" },
+ { "dee", "Dewoin" },
+ { "def", "Dezfuli" },
+ { "deg", "Degema" },
+ { "deh", "Dehwari" },
+ { "dei", "Demisa" },
+ { "dek", "Dek" },
+ { "del", "Delaware" },
+ { "dem", "Dem" },
+ { "den", "Slave (Athapascan)" },
+ { "dep", "Pidgin Delaware" },
+ { "deq", "Dendi (Central African Republic)" },
+ { "der", "Deori" },
+ { "des", "Desano" },
+ { "deu", "German" },
+ { "dev", "Domung" },
+ { "dez", "Dengese" },
+ { "dga", "Southern Dagaare" },
+ { "dgb", "Bunoge Dogon" },
+ { "dgc", "Casiguran Dumagat Agta" },
+ { "dgd", "Dagaari Dioula" },
+ { "dge", "Degenan" },
+ { "dgg", "Doga" },
+ { "dgh", "Dghwede" },
+ { "dgi", "Northern Dagara" },
+ { "dgk", "Dagba" },
+ { "dgl", "Andaandi" },
+ { "dgn", "Dagoman" },
+ { "dgo", "Dogri (individual language)" },
+ { "dgr", "Dogrib" },
+ { "dgs", "Dogoso" },
+ { "dgt", "Ndra'ngith" },
+ { "dgu", "Degaru" },
+ { "dgw", "Daungwurrung" },
+ { "dgx", "Doghoro" },
+ { "dgz", "Daga" },
+ { "dhd", "Dhundari" },
+ { "dhg", "Djangu" },
+ { "dhi", "Dhimal" },
+ { "dhl", "Dhalandji" },
+ { "dhm", "Zemba" },
+ { "dhn", "Dhanki" },
+ { "dho", "Dhodia" },
+ { "dhr", "Dhargari" },
+ { "dhs", "Dhaiso" },
+ { "dhu", "Dhurga" },
+ { "dhv", "Dehu" },
+ { "dhw", "Dhanwar (Nepal)" },
+ { "dhx", "Dhungaloo" },
+ { "dia", "Dia" },
+ { "dib", "South Central Dinka" },
+ { "dic", "Lakota Dida" },
+ { "did", "Didinga" },
+ { "dif", "Dieri" },
+ { "dig", "Digo" },
+ { "dih", "Kumiai" },
+ { "dii", "Dimbong" },
+ { "dij", "Dai" },
+ { "dik", "Southwestern Dinka" },
+ { "dil", "Dilling" },
+ { "dim", "Dime" },
+ { "din", "Dinka" },
+ { "dio", "Dibo" },
+ { "dip", "Northeastern Dinka" },
+ { "diq", "Dimli (individual language)" },
+ { "dir", "Dirim" },
+ { "dis", "Dimasa" },
+ { "dit", "Dirari" },
+ { "diu", "Diriku" },
+ { "div", "Dhivehi" },
+ { "diw", "Northwestern Dinka" },
+ { "dix", "Dixon Reef" },
+ { "diy", "Diuwe" },
+ { "diz", "Ding" },
+ { "dja", "Djadjawurrung" },
+ { "djb", "Djinba" },
+ { "djc", "Dar Daju Daju" },
+ { "djd", "Djamindjung" },
+ { "dje", "Zarma" },
+ { "djf", "Djangun" },
+ { "dji", "Djinang" },
+ { "djj", "Djeebbana" },
+ { "djk", "Eastern Maroon Creole" },
+ { "djm", "Jamsay Dogon" },
+ { "djn", "Djauan" },
+ { "djo", "Jangkang" },
+ { "djr", "Djambarrpuyngu" },
+ { "dju", "Kapriman" },
+ { "djw", "Djawi" },
+ { "dka", "Dakpakha" },
+ { "dkk", "Dakka" },
+ { "dkr", "Kuijau" },
+ { "dks", "Southeastern Dinka" },
+ { "dkx", "Mazagway" },
+ { "dlg", "Dolgan" },
+ { "dlk", "Dahalik" },
+ { "dlm", "Dalmatian" },
+ { "dln", "Darlong" },
+ { "dma", "Duma" },
+ { "dmb", "Mombo Dogon" },
+ { "dmc", "Gavak" },
+ { "dmd", "Madhi Madhi" },
+ { "dme", "Dugwor" },
+ { "dmg", "Upper Kinabatangan" },
+ { "dmk", "Domaaki" },
+ { "dml", "Dameli" },
+ { "dmm", "Dama" },
+ { "dmo", "Kemedzung" },
+ { "dmr", "East Damar" },
+ { "dms", "Dampelas" },
+ { "dmu", "Dubu" },
+ { "dmv", "Dumpas" },
+ { "dmw", "Mudburra" },
+ { "dmx", "Dema" },
+ { "dmy", "Demta" },
+ { "dna", "Upper Grand Valley Dani" },
+ { "dnd", "Daonda" },
+ { "dne", "Ndendeule" },
+ { "dng", "Dungan" },
+ { "dni", "Lower Grand Valley Dani" },
+ { "dnj", "Dan" },
+ { "dnk", "Dengka" },
+ { "dnn", "Dzùùngoo" },
+ { "dnr", "Danaru" },
+ { "dnt", "Mid Grand Valley Dani" },
+ { "dnu", "Danau" },
+ { "dnv", "Danu" },
+ { "dnw", "Western Dani" },
+ { "dny", "Dení" },
+ { "doa", "Dom" },
+ { "dob", "Dobu" },
+ { "doc", "Northern Dong" },
+ { "doe", "Doe" },
+ { "dof", "Domu" },
+ { "doh", "Dong" },
+ { "doi", "Dogri (macrolanguage)" },
+ { "dok", "Dondo" },
+ { "dol", "Doso" },
+ { "don", "Toura (Papua New Guinea)" },
+ { "doo", "Dongo" },
+ { "dop", "Lukpa" },
+ { "doq", "Dominican Sign Language" },
+ { "dor", "Dori'o" },
+ { "dos", "Dogosé" },
+ { "dot", "Dass" },
+ { "dov", "Dombe" },
+ { "dow", "Doyayo" },
+ { "dox", "Bussa" },
+ { "doy", "Dompo" },
+ { "doz", "Dorze" },
+ { "dpp", "Papar" },
+ { "drb", "Dair" },
+ { "drc", "Minderico" },
+ { "drd", "Darmiya" },
+ { "dre", "Dolpo" },
+ { "drg", "Rungus" },
+ { "dri", "C'lela" },
+ { "drl", "Paakantyi" },
+ { "drn", "West Damar" },
+ { "dro", "Daro-Matu Melanau" },
+ { "drq", "Dura" },
+ { "drr", "Dororo" },
+ { "drs", "Gedeo" },
+ { "drt", "Drents" },
+ { "dru", "Rukai" },
+ { "dry", "Darai" },
+ { "dsb", "Lower Sorbian" },
+ { "dse", "Dutch Sign Language" },
+ { "dsh", "Daasanach" },
+ { "dsi", "Disa" },
+ { "dsl", "Danish Sign Language" },
+ { "dsn", "Dusner" },
+ { "dso", "Desiya" },
+ { "dsq", "Tadaksahak" },
+ { "dta", "Daur" },
+ { "dtb", "Labuk-Kinabatangan Kadazan" },
+ { "dtd", "Ditidaht" },
+ { "dth", "Adithinngithigh" },
+ { "dti", "Ana Tinga Dogon" },
+ { "dtk", "Tene Kan Dogon" },
+ { "dtm", "Tomo Kan Dogon" },
+ { "dto", "Tommo So Dogon" },
+ { "dtp", "Central Dusun" },
+ { "dtr", "Lotud" },
+ { "dts", "Toro So Dogon" },
+ { "dtt", "Toro Tegu Dogon" },
+ { "dtu", "Tebul Ure Dogon" },
+ { "dty", "Dotyali" },
+ { "dua", "Duala" },
+ { "dub", "Dubli" },
+ { "duc", "Duna" },
+ { "dud", "Hun-Saare" },
+ { "due", "Umiray Dumaget Agta" },
+ { "duf", "Dumbea" },
+ { "dug", "Duruma" },
+ { "duh", "Dungra Bhil" },
+ { "dui", "Dumun" },
+ { "duj", "Dhuwal" },
+ { "duk", "Uyajitaya" },
+ { "dul", "Alabat Island Agta" },
+ { "dum", "Middle Dutch (ca. 1050-1350)" },
+ { "dun", "Dusun Deyah" },
+ { "duo", "Dupaninan Agta" },
+ { "dup", "Duano" },
+ { "duq", "Dusun Malang" },
+ { "dur", "Dii" },
+ { "dus", "Dumi" },
+ { "duu", "Drung" },
+ { "duv", "Duvle" },
+ { "duw", "Dusun Witu" },
+ { "dux", "Duungooma" },
+ { "duy", "Dicamay Agta" },
+ { "duz", "Duli" },
+ { "dva", "Duau" },
+ { "dwa", "Diri" },
+ { "dwr", "Dawro" },
+ { "dws", "Dutton World Speedwords" },
+ { "dww", "Dawawa" },
+ { "dya", "Dyan" },
+ { "dyb", "Dyaberdyaber" },
+ { "dyd", "Dyugun" },
+ { "dyg", "Villa Viciosa Agta" },
+ { "dyi", "Djimini Senoufo" },
+ { "dym", "Yanda Dom Dogon" },
+ { "dyn", "Dyangadi" },
+ { "dyo", "Jola-Fonyi" },
+ { "dyu", "Dyula" },
+ { "dyy", "Dyaabugay" },
+ { "dza", "Tunzu" },
+ { "dzd", "Daza" },
+ { "dze", "Djiwarli" },
+ { "dzg", "Dazaga" },
+ { "dzl", "Dzalakha" },
+ { "dzn", "Dzando" },
+ { "dzo", "Dzongkha" },
+ { "eaa", "Karenggapa" },
+ { "ebg", "Ebughu" },
+ { "ebk", "Eastern Bontok" },
+ { "ebo", "Teke-Ebo" },
+ { "ebr", "Ebrié" },
+ { "ebu", "Embu" },
+ { "ecr", "Eteocretan" },
+ { "ecs", "Ecuadorian Sign Language" },
+ { "ecy", "Eteocypriot" },
+ { "eee", "E" },
+ { "efa", "Efai" },
+ { "efe", "Efe" },
+ { "efi", "Efik" },
+ { "ega", "Ega" },
+ { "egl", "Emilian" },
+ { "ego", "Eggon" },
+ { "egy", "Egyptian (Ancient)" },
+ { "ehu", "Ehueun" },
+ { "eip", "Eipomek" },
+ { "eit", "Eitiep" },
+ { "eiv", "Askopan" },
+ { "eja", "Ejamat" },
+ { "eka", "Ekajuk" },
+ { "ekc", "Eastern Karnic" },
+ { "eke", "Ekit" },
+ { "ekg", "Ekari" },
+ { "eki", "Eki" },
+ { "ekk", "Standard Estonian" },
+ { "ekl", "Kol (Bangladesh)" },
+ { "ekm", "Elip" },
+ { "eko", "Koti" },
+ { "ekp", "Ekpeye" },
+ { "ekr", "Yace" },
+ { "eky", "Eastern Kayah" },
+ { "ele", "Elepi" },
+ { "elh", "El Hugeirat" },
+ { "eli", "Nding" },
+ { "elk", "Elkei" },
+ { "ell", "Modern Greek (1453-)" },
+ { "elm", "Eleme" },
+ { "elo", "El Molo" },
+ { "elu", "Elu" },
+ { "elx", "Elamite" },
+ { "ema", "Emai-Iuleha-Ora" },
+ { "emb", "Embaloh" },
+ { "eme", "Emerillon" },
+ { "emg", "Eastern Meohang" },
+ { "emi", "Mussau-Emira" },
+ { "emk", "Eastern Maninkakan" },
+ { "emm", "Mamulique" },
+ { "emn", "Eman" },
+ { "emo", "Emok" },
+ { "emp", "Northern Emberá" },
+ { "ems", "Pacific Gulf Yupik" },
+ { "emu", "Eastern Muria" },
+ { "emw", "Emplawas" },
+ { "emx", "Erromintxela" },
+ { "emy", "Epigraphic Mayan" },
+ { "ena", "Apali" },
+ { "enb", "Markweeta" },
+ { "enc", "En" },
+ { "end", "Ende" },
+ { "enf", "Forest Enets" },
+ { "eng", "English" },
+ { "enh", "Tundra Enets" },
+ { "enm", "Middle English (1100-1500)" },
+ { "enn", "Engenni" },
+ { "eno", "Enggano" },
+ { "enq", "Enga" },
+ { "enr", "Emumu" },
+ { "enu", "Enu" },
+ { "env", "Enwan (Edu State)" },
+ { "enw", "Enwan (Akwa Ibom State)" },
+ { "eot", "Beti (Côte d'Ivoire)" },
+ { "epi", "Epie" },
+ { "epo", "Esperanto" },
+ { "era", "Eravallan" },
+ { "erg", "Sie" },
+ { "erh", "Eruwa" },
+ { "eri", "Ogea" },
+ { "erk", "South Efate" },
+ { "ero", "Horpa" },
+ { "err", "Erre" },
+ { "ers", "Ersu" },
+ { "ert", "Eritai" },
+ { "erw", "Erokwanas" },
+ { "ese", "Ese Ejja" },
+ { "esh", "Eshtehardi" },
+ { "esi", "North Alaskan Inupiatun" },
+ { "esk", "Northwest Alaska Inupiatun" },
+ { "esl", "Egypt Sign Language" },
+ { "esm", "Esuma" },
+ { "esn", "Salvadoran Sign Language" },
+ { "eso", "Estonian Sign Language" },
+ { "esq", "Esselen" },
+ { "ess", "Central Siberian Yupik" },
+ { "est", "Estonian" },
+ { "esu", "Central Yupik" },
+ { "etb", "Etebi" },
+ { "etc", "Etchemin" },
+ { "eth", "Ethiopian Sign Language" },
+ { "etn", "Eton (Vanuatu)" },
+ { "eto", "Eton (Cameroon)" },
+ { "etr", "Edolo" },
+ { "ets", "Yekhee" },
+ { "ett", "Etruscan" },
+ { "etu", "Ejagham" },
+ { "etx", "Eten" },
+ { "etz", "Semimi" },
+ { "eus", "Basque" },
+ { "eve", "Even" },
+ { "evh", "Uvbie" },
+ { "evn", "Evenki" },
+ { "ewe", "Ewe" },
+ { "ewo", "Ewondo" },
+ { "ext", "Extremaduran" },
+ { "eya", "Eyak" },
+ { "eyo", "Keiyo" },
+ { "eza", "Ezaa" },
+ { "eze", "Uzekwe" },
+ { "faa", "Fasu" },
+ { "fab", "Fa d'Ambu" },
+ { "fad", "Wagi" },
+ { "faf", "Fagani" },
+ { "fag", "Finongan" },
+ { "fah", "Baissa Fali" },
+ { "fai", "Faiwol" },
+ { "faj", "Faita" },
+ { "fak", "Fang (Cameroon)" },
+ { "fal", "South Fali" },
+ { "fam", "Fam" },
+ { "fan", "Fang (Equatorial Guinea)" },
+ { "fao", "Faroese" },
+ { "fap", "Palor" },
+ { "far", "Fataleka" },
+ { "fas", "Persian" },
+ { "fat", "Fanti" },
+ { "fau", "Fayu" },
+ { "fax", "Fala" },
+ { "fay", "Southwestern Fars" },
+ { "faz", "Northwestern Fars" },
+ { "fbl", "West Albay Bikol" },
+ { "fcs", "Quebec Sign Language" },
+ { "fer", "Feroge" },
+ { "ffi", "Foia Foia" },
+ { "ffm", "Maasina Fulfulde" },
+ { "fgr", "Fongoro" },
+ { "fia", "Nobiin" },
+ { "fie", "Fyer" },
+ { "fij", "Fijian" },
+ { "fil", "Filipino" },
+ { "fin", "Finnish" },
+ { "fip", "Fipa" },
+ { "fir", "Firan" },
+ { "fit", "Tornedalen Finnish" },
+ { "fiw", "Fiwaga" },
+ { "fkk", "Kirya-Konzəl" },
+ { "fkv", "Kven Finnish" },
+ { "fla", "Kalispel-Pend d'Oreille" },
+ { "flh", "Foau" },
+ { "fli", "Fali" },
+ { "fll", "North Fali" },
+ { "fln", "Flinders Island" },
+ { "flr", "Fuliiru" },
+ { "fly", "Tsotsitaal" },
+ { "fmp", "Fe'fe'" },
+ { "fmu", "Far Western Muria" },
+ { "fng", "Fanagalo" },
+ { "fni", "Fania" },
+ { "fod", "Foodo" },
+ { "foi", "Foi" },
+ { "fom", "Foma" },
+ { "fon", "Fon" },
+ { "for", "Fore" },
+ { "fos", "Siraya" },
+ { "fpe", "Fernando Po Creole English" },
+ { "fqs", "Fas" },
+ { "fra", "French" },
+ { "frc", "Cajun French" },
+ { "frd", "Fordata" },
+ { "frk", "Frankish" },
+ { "frm", "Middle French (ca. 1400-1600)" },
+ { "fro", "Old French (842-ca. 1400)" },
+ { "frp", "Arpitan" },
+ { "frq", "Forak" },
+ { "frr", "Northern Frisian" },
+ { "frs", "Eastern Frisian" },
+ { "frt", "Fortsenal" },
+ { "fry", "Western Frisian" },
+ { "fse", "Finnish Sign Language" },
+ { "fsl", "French Sign Language" },
+ { "fss", "Finland-Swedish Sign Language" },
+ { "fub", "Adamawa Fulfulde" },
+ { "fuc", "Pulaar" },
+ { "fud", "East Futuna" },
+ { "fue", "Borgu Fulfulde" },
+ { "fuf", "Pular" },
+ { "fuh", "Western Niger Fulfulde" },
+ { "fui", "Bagirmi Fulfulde" },
+ { "fuj", "Ko" },
+ { "ful", "Fulah" },
+ { "fum", "Fum" },
+ { "fun", "Fulniô" },
+ { "fuq", "Central-Eastern Niger Fulfulde" },
+ { "fur", "Friulian" },
+ { "fut", "Futuna-Aniwa" },
+ { "fuu", "Furu" },
+ { "fuv", "Nigerian Fulfulde" },
+ { "fuy", "Fuyug" },
+ { "fvr", "Fur" },
+ { "fwa", "Fwâi" },
+ { "fwe", "Fwe" },
+ { "gaa", "Ga" },
+ { "gab", "Gabri" },
+ { "gac", "Mixed Great Andamanese" },
+ { "gad", "Gaddang" },
+ { "gae", "Guarequena" },
+ { "gaf", "Gende" },
+ { "gag", "Gagauz" },
+ { "gah", "Alekano" },
+ { "gai", "Borei" },
+ { "gaj", "Gadsup" },
+ { "gak", "Gamkonora" },
+ { "gal", "Galolen" },
+ { "gam", "Kandawo" },
+ { "gan", "Gan Chinese" },
+ { "gao", "Gants" },
+ { "gap", "Gal" },
+ { "gaq", "Gata'" },
+ { "gar", "Galeya" },
+ { "gas", "Adiwasi Garasia" },
+ { "gat", "Kenati" },
+ { "gau", "Mudhili Gadaba" },
+ { "gaw", "Nobonob" },
+ { "gax", "Borana-Arsi-Guji Oromo" },
+ { "gay", "Gayo" },
+ { "gaz", "West Central Oromo" },
+ { "gba", "Gbaya (Central African Republic)" },
+ { "gbb", "Kaytetye" },
+ { "gbd", "Karadjeri" },
+ { "gbe", "Niksek" },
+ { "gbf", "Gaikundi" },
+ { "gbg", "Gbanziri" },
+ { "gbh", "Defi Gbe" },
+ { "gbi", "Galela" },
+ { "gbj", "Bodo Gadaba" },
+ { "gbk", "Gaddi" },
+ { "gbl", "Gamit" },
+ { "gbm", "Garhwali" },
+ { "gbn", "Mo'da" },
+ { "gbo", "Northern Grebo" },
+ { "gbp", "Gbaya-Bossangoa" },
+ { "gbq", "Gbaya-Bozoum" },
+ { "gbr", "Gbagyi" },
+ { "gbs", "Gbesi Gbe" },
+ { "gbu", "Gagadu" },
+ { "gbv", "Gbanu" },
+ { "gbw", "Gabi-Gabi" },
+ { "gbx", "Eastern Xwla Gbe" },
+ { "gby", "Gbari" },
+ { "gbz", "Zoroastrian Dari" },
+ { "gcc", "Mali" },
+ { "gcd", "Ganggalida" },
+ { "gce", "Galice" },
+ { "gcf", "Guadeloupean Creole French" },
+ { "gcl", "Grenadian Creole English" },
+ { "gcn", "Gaina" },
+ { "gcr", "Guianese Creole French" },
+ { "gct", "Colonia Tovar German" },
+ { "gda", "Gade Lohar" },
+ { "gdb", "Pottangi Ollar Gadaba" },
+ { "gdc", "Gugu Badhun" },
+ { "gdd", "Gedaged" },
+ { "gde", "Gude" },
+ { "gdf", "Guduf-Gava" },
+ { "gdg", "Ga'dang" },
+ { "gdh", "Gadjerawang" },
+ { "gdi", "Gundi" },
+ { "gdj", "Gurdjar" },
+ { "gdk", "Gadang" },
+ { "gdl", "Dirasha" },
+ { "gdm", "Laal" },
+ { "gdn", "Umanakaina" },
+ { "gdo", "Ghodoberi" },
+ { "gdq", "Mehri" },
+ { "gdr", "Wipi" },
+ { "gds", "Ghandruk Sign Language" },
+ { "gdt", "Kungardutyi" },
+ { "gdu", "Gudu" },
+ { "gdx", "Godwari" },
+ { "gea", "Geruma" },
+ { "geb", "Kire" },
+ { "gec", "Gboloo Grebo" },
+ { "ged", "Gade" },
+ { "geg", "Gengle" },
+ { "geh", "Hutterite German" },
+ { "gei", "Gebe" },
+ { "gej", "Gen" },
+ { "gek", "Yiwom" },
+ { "gel", "ut-Ma'in" },
+ { "geq", "Geme" },
+ { "ges", "Geser-Gorom" },
+ { "gew", "Gera" },
+ { "gex", "Garre" },
+ { "gey", "Enya" },
+ { "gez", "Geez" },
+ { "gfk", "Patpatar" },
+ { "gft", "Gafat" },
+ { "gfx", "Mangetti Dune !Xung" },
+ { "gga", "Gao" },
+ { "ggb", "Gbii" },
+ { "ggd", "Gugadj" },
+ { "gge", "Guragone" },
+ { "ggg", "Gurgula" },
+ { "ggk", "Kungarakany" },
+ { "ggl", "Ganglau" },
+ { "ggm", "Gugu Mini" },
+ { "ggn", "Eastern Gurung" },
+ { "ggo", "Southern Gondi" },
+ { "ggt", "Gitua" },
+ { "ggu", "Gagu" },
+ { "ggw", "Gogodala" },
+ { "gha", "Ghadamès" },
+ { "ghc", "Hiberno-Scottish Gaelic" },
+ { "ghe", "Southern Ghale" },
+ { "ghh", "Northern Ghale" },
+ { "ghk", "Geko Karen" },
+ { "ghl", "Ghulfan" },
+ { "ghn", "Ghanongga" },
+ { "gho", "Ghomara" },
+ { "ghr", "Ghera" },
+ { "ghs", "Guhu-Samane" },
+ { "ght", "Kuke" },
+ { "gia", "Kitja" },
+ { "gib", "Gibanawa" },
+ { "gic", "Gail" },
+ { "gid", "Gidar" },
+ { "gig", "Goaria" },
+ { "gih", "Githabul" },
+ { "gil", "Gilbertese" },
+ { "gim", "Gimi (Eastern Highlands)" },
+ { "gin", "Hinukh" },
+ { "gip", "Gimi (West New Britain)" },
+ { "giq", "Green Gelao" },
+ { "gir", "Red Gelao" },
+ { "gis", "North Giziga" },
+ { "git", "Gitxsan" },
+ { "giu", "Mulao" },
+ { "giw", "White Gelao" },
+ { "gix", "Gilima" },
+ { "giy", "Giyug" },
+ { "giz", "South Giziga" },
+ { "gji", "Geji" },
+ { "gjk", "Kachi Koli" },
+ { "gjm", "Gunditjmara" },
+ { "gjn", "Gonja" },
+ { "gju", "Gujari" },
+ { "gka", "Guya" },
+ { "gke", "Ndai" },
+ { "gkn", "Gokana" },
+ { "gko", "Kok-Nar" },
+ { "gkp", "Guinea Kpelle" },
+ { "gla", "Scottish Gaelic" },
+ { "glc", "Bon Gula" },
+ { "gld", "Nanai" },
+ { "gle", "Irish" },
+ { "glg", "Galician" },
+ { "glh", "Northwest Pashayi" },
+ { "gli", "Guliguli" },
+ { "glj", "Gula Iro" },
+ { "glk", "Gilaki" },
+ { "gll", "Garlali" },
+ { "glo", "Galambu" },
+ { "glr", "Glaro-Twabo" },
+ { "glu", "Gula (Chad)" },
+ { "glv", "Manx" },
+ { "glw", "Glavda" },
+ { "gly", "Gule" },
+ { "gma", "Gambera" },
+ { "gmb", "Gula'alaa" },
+ { "gmd", "Mághdì" },
+ { "gmh", "Middle High German (ca. 1050-1500)" },
+ { "gml", "Middle Low German" },
+ { "gmm", "Gbaya-Mbodomo" },
+ { "gmn", "Gimnime" },
+ { "gmu", "Gumalu" },
+ { "gmv", "Gamo" },
+ { "gmx", "Magoma" },
+ { "gmy", "Mycenaean Greek" },
+ { "gmz", "Mgbolizhia" },
+ { "gna", "Kaansa" },
+ { "gnb", "Gangte" },
+ { "gnc", "Guanche" },
+ { "gnd", "Zulgo-Gemzek" },
+ { "gne", "Ganang" },
+ { "gng", "Ngangam" },
+ { "gnh", "Lere" },
+ { "gni", "Gooniyandi" },
+ { "gnk", "Gana" },
+ { "gnl", "Gangulu" },
+ { "gnm", "Ginuman" },
+ { "gnn", "Gumatj" },
+ { "gno", "Northern Gondi" },
+ { "gnq", "Gana" },
+ { "gnr", "Gureng Gureng" },
+ { "gnt", "Guntai" },
+ { "gnu", "Gnau" },
+ { "gnw", "Western Bolivian Guaraní" },
+ { "gnz", "Ganzi" },
+ { "goa", "Guro" },
+ { "gob", "Playero" },
+ { "goc", "Gorakor" },
+ { "god", "Godié" },
+ { "goe", "Gongduk" },
+ { "gof", "Gofa" },
+ { "gog", "Gogo" },
+ { "goh", "Old High German (ca. 750-1050)" },
+ { "goi", "Gobasi" },
+ { "goj", "Gowlan" },
+ { "gok", "Gowli" },
+ { "gol", "Gola" },
+ { "gom", "Goan Konkani" },
+ { "gon", "Gondi" },
+ { "goo", "Gone Dau" },
+ { "gop", "Yeretuar" },
+ { "goq", "Gorap" },
+ { "gor", "Gorontalo" },
+ { "gos", "Gronings" },
+ { "got", "Gothic" },
+ { "gou", "Gavar" },
+ { "gow", "Gorowa" },
+ { "gox", "Gobu" },
+ { "goy", "Goundo" },
+ { "goz", "Gozarkhani" },
+ { "gpa", "Gupa-Abawa" },
+ { "gpe", "Ghanaian Pidgin English" },
+ { "gpn", "Taiap" },
+ { "gqa", "Ga'anda" },
+ { "gqi", "Guiqiong" },
+ { "gqn", "Guana (Brazil)" },
+ { "gqr", "Gor" },
+ { "gqu", "Qau" },
+ { "gra", "Rajput Garasia" },
+ { "grb", "Grebo" },
+ { "grc", "Ancient Greek (to 1453)" },
+ { "grd", "Guruntum-Mbaaru" },
+ { "grg", "Madi" },
+ { "grh", "Gbiri-Niragu" },
+ { "gri", "Ghari" },
+ { "grj", "Southern Grebo" },
+ { "grm", "Kota Marudu Talantang" },
+ { "grn", "Guarani" },
+ { "gro", "Groma" },
+ { "grq", "Gorovu" },
+ { "grr", "Taznatit" },
+ { "grs", "Gresi" },
+ { "grt", "Garo" },
+ { "gru", "Kistane" },
+ { "grv", "Central Grebo" },
+ { "grw", "Gweda" },
+ { "grx", "Guriaso" },
+ { "gry", "Barclayville Grebo" },
+ { "grz", "Guramalum" },
+ { "gse", "Ghanaian Sign Language" },
+ { "gsg", "German Sign Language" },
+ { "gsl", "Gusilay" },
+ { "gsm", "Guatemalan Sign Language" },
+ { "gsn", "Gusan" },
+ { "gso", "Southwest Gbaya" },
+ { "gsp", "Wasembo" },
+ { "gss", "Greek Sign Language" },
+ { "gsw", "Swiss German" },
+ { "gta", "Guató" },
+ { "gti", "Gbati-ri" },
+ { "gtu", "Aghu-Tharnggala" },
+ { "gua", "Shiki" },
+ { "gub", "Guajajára" },
+ { "guc", "Wayuu" },
+ { "gud", "Yocoboué Dida" },
+ { "gue", "Gurinji" },
+ { "guf", "Gupapuyngu" },
+ { "gug", "Paraguayan Guaraní" },
+ { "guh", "Guahibo" },
+ { "gui", "Eastern Bolivian Guaraní" },
+ { "guj", "Gujarati" },
+ { "guk", "Gumuz" },
+ { "gul", "Sea Island Creole English" },
+ { "gum", "Guambiano" },
+ { "gun", "Mbyá Guaraní" },
+ { "guo", "Guayabero" },
+ { "gup", "Gunwinggu" },
+ { "guq", "Aché" },
+ { "gur", "Farefare" },
+ { "gus", "Guinean Sign Language" },
+ { "gut", "Maléku Jaíka" },
+ { "guu", "Yanomamö" },
+ { "guv", "Gey" },
+ { "guw", "Gun" },
+ { "gux", "Gourmanchéma" },
+ { "guz", "Gusii" },
+ { "gva", "Guana (Paraguay)" },
+ { "gvc", "Guanano" },
+ { "gve", "Duwet" },
+ { "gvf", "Golin" },
+ { "gvj", "Guajá" },
+ { "gvl", "Gulay" },
+ { "gvm", "Gurmana" },
+ { "gvn", "Kuku-Yalanji" },
+ { "gvo", "Gavião Do Jiparaná" },
+ { "gvp", "Pará Gavião" },
+ { "gvr", "Western Gurung" },
+ { "gvs", "Gumawana" },
+ { "gvy", "Guyani" },
+ { "gwa", "Mbato" },
+ { "gwb", "Gwa" },
+ { "gwc", "Kalami" },
+ { "gwd", "Gawwada" },
+ { "gwe", "Gweno" },
+ { "gwf", "Gowro" },
+ { "gwg", "Moo" },
+ { "gwi", "Gwichʼin" },
+ { "gwj", "Gwi" },
+ { "gwm", "Awngthim" },
+ { "gwn", "Gwandara" },
+ { "gwr", "Gwere" },
+ { "gwt", "Gawar-Bati" },
+ { "gwu", "Guwamu" },
+ { "gww", "Kwini" },
+ { "gwx", "Gua" },
+ { "gxx", "Wè Southern" },
+ { "gya", "Northwest Gbaya" },
+ { "gyb", "Garus" },
+ { "gyd", "Kayardild" },
+ { "gye", "Gyem" },
+ { "gyf", "Gungabula" },
+ { "gyg", "Gbayi" },
+ { "gyi", "Gyele" },
+ { "gyl", "Gayil" },
+ { "gym", "Ngäbere" },
+ { "gyn", "Guyanese Creole English" },
+ { "gyr", "Guarayu" },
+ { "gyy", "Gunya" },
+ { "gza", "Ganza" },
+ { "gzi", "Gazi" },
+ { "gzn", "Gane" },
+ { "haa", "Han" },
+ { "hab", "Hanoi Sign Language" },
+ { "hac", "Gurani" },
+ { "had", "Hatam" },
+ { "hae", "Eastern Oromo" },
+ { "haf", "Haiphong Sign Language" },
+ { "hag", "Hanga" },
+ { "hah", "Hahon" },
+ { "hai", "Haida" },
+ { "haj", "Hajong" },
+ { "hak", "Hakka Chinese" },
+ { "hal", "Halang" },
+ { "ham", "Hewa" },
+ { "han", "Hangaza" },
+ { "hao", "Hakö" },
+ { "hap", "Hupla" },
+ { "haq", "Ha" },
+ { "har", "Harari" },
+ { "has", "Haisla" },
+ { "hat", "Haitian" },
+ { "hau", "Hausa" },
+ { "hav", "Havu" },
+ { "haw", "Hawaiian" },
+ { "hax", "Southern Haida" },
+ { "hay", "Haya" },
+ { "haz", "Hazaragi" },
+ { "hba", "Hamba" },
+ { "hbb", "Huba" },
+ { "hbn", "Heiban" },
+ { "hbo", "Ancient Hebrew" },
+ { "hbs", "Serbo-Croatian" },
+ { "hbu", "Habu" },
+ { "hca", "Andaman Creole Hindi" },
+ { "hch", "Huichol" },
+ { "hdn", "Northern Haida" },
+ { "hds", "Honduras Sign Language" },
+ { "hdy", "Hadiyya" },
+ { "hea", "Northern Qiandong Miao" },
+ { "heb", "Hebrew" },
+ { "hed", "Herdé" },
+ { "heg", "Helong" },
+ { "heh", "Hehe" },
+ { "hei", "Heiltsuk" },
+ { "hem", "Hemba" },
+ { "her", "Herero" },
+ { "hgm", "Haiom" },
+ { "hgw", "Haigwai" },
+ { "hhi", "Hoia Hoia" },
+ { "hhr", "Kerak" },
+ { "hhy", "Hoyahoya" },
+ { "hia", "Lamang" },
+ { "hib", "Hibito" },
+ { "hid", "Hidatsa" },
+ { "hif", "Fiji Hindi" },
+ { "hig", "Kamwe" },
+ { "hih", "Pamosu" },
+ { "hii", "Hinduri" },
+ { "hij", "Hijuk" },
+ { "hik", "Seit-Kaitetu" },
+ { "hil", "Hiligaynon" },
+ { "hin", "Hindi" },
+ { "hio", "Tsoa" },
+ { "hir", "Himarimã" },
+ { "hit", "Hittite" },
+ { "hiw", "Hiw" },
+ { "hix", "Hixkaryána" },
+ { "hji", "Haji" },
+ { "hka", "Kahe" },
+ { "hke", "Hunde" },
+ { "hkk", "Hunjara-Kaina Ke" },
+ { "hks", "Hong Kong Sign Language" },
+ { "hla", "Halia" },
+ { "hlb", "Halbi" },
+ { "hld", "Halang Doan" },
+ { "hle", "Hlersu" },
+ { "hlt", "Matu Chin" },
+ { "hlu", "Hieroglyphic Luwian" },
+ { "hma", "Southern Mashan Hmong" },
+ { "hmb", "Humburi Senni Songhay" },
+ { "hmc", "Central Huishui Hmong" },
+ { "hmd", "Large Flowery Miao" },
+ { "hme", "Eastern Huishui Hmong" },
+ { "hmf", "Hmong Don" },
+ { "hmg", "Southwestern Guiyang Hmong" },
+ { "hmh", "Southwestern Huishui Hmong" },
+ { "hmi", "Northern Huishui Hmong" },
+ { "hmj", "Ge" },
+ { "hmk", "Maek" },
+ { "hml", "Luopohe Hmong" },
+ { "hmm", "Central Mashan Hmong" },
+ { "hmn", "Hmong" },
+ { "hmo", "Hiri Motu" },
+ { "hmp", "Northern Mashan Hmong" },
+ { "hmq", "Eastern Qiandong Miao" },
+ { "hmr", "Hmar" },
+ { "hms", "Southern Qiandong Miao" },
+ { "hmt", "Hamtai" },
+ { "hmu", "Hamap" },
+ { "hmv", "Hmong Dô" },
+ { "hmw", "Western Mashan Hmong" },
+ { "hmy", "Southern Guiyang Hmong" },
+ { "hmz", "Hmong Shua" },
+ { "hna", "Mina (Cameroon)" },
+ { "hnd", "Southern Hindko" },
+ { "hne", "Chhattisgarhi" },
+ { "hnh", "Ani" },
+ { "hni", "Hani" },
+ { "hnj", "Hmong Njua" },
+ { "hnn", "Hanunoo" },
+ { "hno", "Northern Hindko" },
+ { "hns", "Caribbean Hindustani" },
+ { "hnu", "Hung" },
+ { "hoa", "Hoava" },
+ { "hob", "Mari (Madang Province)" },
+ { "hoc", "Ho" },
+ { "hod", "Holma" },
+ { "hoe", "Horom" },
+ { "hoh", "Hobyót" },
+ { "hoi", "Holikachuk" },
+ { "hoj", "Hadothi" },
+ { "hol", "Holu" },
+ { "hom", "Homa" },
+ { "hoo", "Holoholo" },
+ { "hop", "Hopi" },
+ { "hor", "Horo" },
+ { "hos", "Ho Chi Minh City Sign Language" },
+ { "hot", "Hote" },
+ { "hov", "Hovongan" },
+ { "how", "Honi" },
+ { "hoy", "Holiya" },
+ { "hoz", "Hozo" },
+ { "hpo", "Hpon" },
+ { "hps", "Hawai'i Pidgin Sign Language" },
+ { "hra", "Hrangkhol" },
+ { "hrc", "Niwer Mil" },
+ { "hre", "Hre" },
+ { "hrk", "Haruku" },
+ { "hrm", "Horned Miao" },
+ { "hro", "Haroi" },
+ { "hrp", "Nhirrpi" },
+ { "hrt", "Hértevin" },
+ { "hru", "Hruso" },
+ { "hrv", "Croatian" },
+ { "hrw", "Warwar Feni" },
+ { "hrx", "Hunsrik" },
+ { "hrz", "Harzani" },
+ { "hsb", "Upper Sorbian" },
+ { "hsh", "Hungarian Sign Language" },
+ { "hsl", "Hausa Sign Language" },
+ { "hsn", "Xiang Chinese" },
+ { "hss", "Harsusi" },
+ { "hti", "Hoti" },
+ { "hto", "Minica Huitoto" },
+ { "hts", "Hadza" },
+ { "htu", "Hitu" },
+ { "htx", "Middle Hittite" },
+ { "hub", "Huambisa" },
+ { "huc", "=Hua" },
+ { "hud", "Huaulu" },
+ { "hue", "San Francisco Del Mar Huave" },
+ { "huf", "Humene" },
+ { "hug", "Huachipaeri" },
+ { "huh", "Huilliche" },
+ { "hui", "Huli" },
+ { "huj", "Northern Guiyang Hmong" },
+ { "huk", "Hulung" },
+ { "hul", "Hula" },
+ { "hum", "Hungana" },
+ { "hun", "Hungarian" },
+ { "huo", "Hu" },
+ { "hup", "Hupa" },
+ { "huq", "Tsat" },
+ { "hur", "Halkomelem" },
+ { "hus", "Huastec" },
+ { "hut", "Humla" },
+ { "huu", "Murui Huitoto" },
+ { "huv", "San Mateo Del Mar Huave" },
+ { "huw", "Hukumina" },
+ { "hux", "Nüpode Huitoto" },
+ { "huy", "Hulaulá" },
+ { "huz", "Hunzib" },
+ { "hvc", "Haitian Vodoun Culture Language" },
+ { "hve", "San Dionisio Del Mar Huave" },
+ { "hvk", "Haveke" },
+ { "hvn", "Sabu" },
+ { "hvv", "Santa María Del Mar Huave" },
+ { "hwa", "Wané" },
+ { "hwc", "Hawai'i Creole English" },
+ { "hwo", "Hwana" },
+ { "hya", "Hya" },
+ { "hye", "Armenian" },
+ { "iai", "Iaai" },
+ { "ian", "Iatmul" },
+ { "iap", "Iapama" },
+ { "iar", "Purari" },
+ { "iba", "Iban" },
+ { "ibb", "Ibibio" },
+ { "ibd", "Iwaidja" },
+ { "ibe", "Akpes" },
+ { "ibg", "Ibanag" },
+ { "ibl", "Ibaloi" },
+ { "ibm", "Agoi" },
+ { "ibn", "Ibino" },
+ { "ibo", "Igbo" },
+ { "ibr", "Ibuoro" },
+ { "ibu", "Ibu" },
+ { "iby", "Ibani" },
+ { "ica", "Ede Ica" },
+ { "ich", "Etkywan" },
+ { "icl", "Icelandic Sign Language" },
+ { "icr", "Islander Creole English" },
+ { "ida", "Idakho-Isukha-Tiriki" },
+ { "idb", "Indo-Portuguese" },
+ { "idc", "Idon" },
+ { "idd", "Ede Idaca" },
+ { "ide", "Idere" },
+ { "idi", "Idi" },
+ { "ido", "Ido" },
+ { "idr", "Indri" },
+ { "ids", "Idesa" },
+ { "idt", "Idaté" },
+ { "idu", "Idoma" },
+ { "ifa", "Amganad Ifugao" },
+ { "ifb", "Batad Ifugao" },
+ { "ife", "Ifè" },
+ { "iff", "Ifo" },
+ { "ifk", "Tuwali Ifugao" },
+ { "ifm", "Teke-Fuumu" },
+ { "ifu", "Mayoyao Ifugao" },
+ { "ify", "Keley-I Kallahan" },
+ { "igb", "Ebira" },
+ { "ige", "Igede" },
+ { "igg", "Igana" },
+ { "igl", "Igala" },
+ { "igm", "Kanggape" },
+ { "ign", "Ignaciano" },
+ { "igo", "Isebe" },
+ { "igs", "Interglossa" },
+ { "igw", "Igwe" },
+ { "ihb", "Iha Based Pidgin" },
+ { "ihi", "Ihievbe" },
+ { "ihp", "Iha" },
+ { "ihw", "Bidhawal" },
+ { "iii", "Sichuan Yi" },
+ { "iin", "Thiin" },
+ { "ijc", "Izon" },
+ { "ije", "Biseni" },
+ { "ijj", "Ede Ije" },
+ { "ijn", "Kalabari" },
+ { "ijs", "Southeast Ijo" },
+ { "ike", "Eastern Canadian Inuktitut" },
+ { "iki", "Iko" },
+ { "ikk", "Ika" },
+ { "ikl", "Ikulu" },
+ { "iko", "Olulumo-Ikom" },
+ { "ikp", "Ikpeshi" },
+ { "ikr", "Ikaranggal" },
+ { "ikt", "Inuinnaqtun" },
+ { "iku", "Inuktitut" },
+ { "ikv", "Iku-Gora-Ankwa" },
+ { "ikw", "Ikwere" },
+ { "ikx", "Ik" },
+ { "ikz", "Ikizu" },
+ { "ila", "Ile Ape" },
+ { "ilb", "Ila" },
+ { "ile", "Interlingue" },
+ { "ilg", "Garig-Ilgar" },
+ { "ili", "Ili Turki" },
+ { "ilk", "Ilongot" },
+ { "ill", "Iranun" },
+ { "ilo", "Iloko" },
+ { "ils", "International Sign" },
+ { "ilu", "Ili'uun" },
+ { "ilv", "Ilue" },
+ { "ima", "Mala Malasar" },
+ { "ime", "Imeraguen" },
+ { "imi", "Anamgura" },
+ { "iml", "Miluk" },
+ { "imn", "Imonda" },
+ { "imo", "Imbongu" },
+ { "imr", "Imroing" },
+ { "ims", "Marsian" },
+ { "imy", "Milyan" },
+ { "ina", "Interlingua (International Auxiliary Language Association)" },
+ { "inb", "Inga" },
+ { "ind", "Indonesian" },
+ { "ing", "Degexit'an" },
+ { "inh", "Ingush" },
+ { "inj", "Jungle Inga" },
+ { "inl", "Indonesian Sign Language" },
+ { "inm", "Minaean" },
+ { "inn", "Isinai" },
+ { "ino", "Inoke-Yate" },
+ { "inp", "Iñapari" },
+ { "ins", "Indian Sign Language" },
+ { "int", "Intha" },
+ { "inz", "Ineseño" },
+ { "ior", "Inor" },
+ { "iou", "Tuma-Irumu" },
+ { "iow", "Iowa-Oto" },
+ { "ipi", "Ipili" },
+ { "ipk", "Inupiaq" },
+ { "ipo", "Ipiko" },
+ { "iqu", "Iquito" },
+ { "iqw", "Ikwo" },
+ { "ire", "Iresim" },
+ { "irh", "Irarutu" },
+ { "iri", "Irigwe" },
+ { "irk", "Iraqw" },
+ { "irn", "Irántxe" },
+ { "irr", "Ir" },
+ { "iru", "Irula" },
+ { "irx", "Kamberau" },
+ { "iry", "Iraya" },
+ { "isa", "Isabi" },
+ { "isc", "Isconahua" },
+ { "isd", "Isnag" },
+ { "ise", "Italian Sign Language" },
+ { "isg", "Irish Sign Language" },
+ { "ish", "Esan" },
+ { "isi", "Nkem-Nkum" },
+ { "isk", "Ishkashimi" },
+ { "isl", "Icelandic" },
+ { "ism", "Masimasi" },
+ { "isn", "Isanzu" },
+ { "iso", "Isoko" },
+ { "isr", "Israeli Sign Language" },
+ { "ist", "Istriot" },
+ { "isu", "Isu (Menchum Division)" },
+ { "ita", "Italian" },
+ { "itb", "Binongan Itneg" },
+ { "ite", "Itene" },
+ { "iti", "Inlaod Itneg" },
+ { "itk", "Judeo-Italian" },
+ { "itl", "Itelmen" },
+ { "itm", "Itu Mbon Uzo" },
+ { "ito", "Itonama" },
+ { "itr", "Iteri" },
+ { "its", "Isekiri" },
+ { "itt", "Maeng Itneg" },
+ { "itv", "Itawit" },
+ { "itw", "Ito" },
+ { "itx", "Itik" },
+ { "ity", "Moyadan Itneg" },
+ { "itz", "Itzá" },
+ { "ium", "Iu Mien" },
+ { "ivb", "Ibatan" },
+ { "ivv", "Ivatan" },
+ { "iwk", "I-Wak" },
+ { "iwm", "Iwam" },
+ { "iwo", "Iwur" },
+ { "iws", "Sepik Iwam" },
+ { "ixc", "Ixcatec" },
+ { "ixl", "Ixil" },
+ { "iya", "Iyayu" },
+ { "iyo", "Mesaka" },
+ { "iyx", "Yaka (Congo)" },
+ { "izh", "Ingrian" },
+ { "izr", "Izere" },
+ { "izz", "Izii" },
+ { "jaa", "Jamamadí" },
+ { "jab", "Hyam" },
+ { "jac", "Popti'" },
+ { "jad", "Jahanka" },
+ { "jae", "Yabem" },
+ { "jaf", "Jara" },
+ { "jah", "Jah Hut" },
+ { "jaj", "Zazao" },
+ { "jak", "Jakun" },
+ { "jal", "Yalahatan" },
+ { "jam", "Jamaican Creole English" },
+ { "jan", "Jandai" },
+ { "jao", "Yanyuwa" },
+ { "jaq", "Yaqay" },
+ { "jas", "New Caledonian Javanese" },
+ { "jat", "Jakati" },
+ { "jau", "Yaur" },
+ { "jav", "Javanese" },
+ { "jax", "Jambi Malay" },
+ { "jay", "Yan-nhangu" },
+ { "jaz", "Jawe" },
+ { "jbe", "Judeo-Berber" },
+ { "jbi", "Badjiri" },
+ { "jbj", "Arandai" },
+ { "jbk", "Barikewa" },
+ { "jbn", "Nafusi" },
+ { "jbo", "Lojban" },
+ { "jbr", "Jofotek-Bromnya" },
+ { "jbt", "Jabutí" },
+ { "jbu", "Jukun Takum" },
+ { "jbw", "Yawijibaya" },
+ { "jcs", "Jamaican Country Sign Language" },
+ { "jct", "Krymchak" },
+ { "jda", "Jad" },
+ { "jdg", "Jadgali" },
+ { "jdt", "Judeo-Tat" },
+ { "jeb", "Jebero" },
+ { "jee", "Jerung" },
+ { "jeg", "Jeng" },
+ { "jeh", "Jeh" },
+ { "jei", "Yei" },
+ { "jek", "Jeri Kuo" },
+ { "jel", "Yelmek" },
+ { "jen", "Dza" },
+ { "jer", "Jere" },
+ { "jet", "Manem" },
+ { "jeu", "Jonkor Bourmataguil" },
+ { "jgb", "Ngbee" },
+ { "jge", "Judeo-Georgian" },
+ { "jgk", "Gwak" },
+ { "jgo", "Ngomba" },
+ { "jhi", "Jehai" },
+ { "jhs", "Jhankot Sign Language" },
+ { "jia", "Jina" },
+ { "jib", "Jibu" },
+ { "jic", "Tol" },
+ { "jid", "Bu" },
+ { "jie", "Jilbe" },
+ { "jig", "Djingili" },
+ { "jih", "sTodsde" },
+ { "jii", "Jiiddu" },
+ { "jil", "Jilim" },
+ { "jim", "Jimi (Cameroon)" },
+ { "jio", "Jiamao" },
+ { "jiq", "Guanyinqiao" },
+ { "jit", "Jita" },
+ { "jiu", "Youle Jinuo" },
+ { "jiv", "Shuar" },
+ { "jiy", "Buyuan Jinuo" },
+ { "jjr", "Bankal" },
+ { "jkm", "Mobwa Karen" },
+ { "jko", "Kubo" },
+ { "jkp", "Paku Karen" },
+ { "jkr", "Koro (India)" },
+ { "jku", "Labir" },
+ { "jle", "Ngile" },
+ { "jls", "Jamaican Sign Language" },
+ { "jma", "Dima" },
+ { "jmb", "Zumbun" },
+ { "jmc", "Machame" },
+ { "jmd", "Yamdena" },
+ { "jmi", "Jimi (Nigeria)" },
+ { "jml", "Jumli" },
+ { "jmn", "Makuri Naga" },
+ { "jmr", "Kamara" },
+ { "jms", "Mashi (Nigeria)" },
+ { "jmw", "Mouwase" },
+ { "jmx", "Western Juxtlahuaca Mixtec" },
+ { "jna", "Jangshung" },
+ { "jnd", "Jandavra" },
+ { "jng", "Yangman" },
+ { "jni", "Janji" },
+ { "jnj", "Yemsa" },
+ { "jnl", "Rawat" },
+ { "jns", "Jaunsari" },
+ { "job", "Joba" },
+ { "jod", "Wojenaka" },
+ { "jor", "Jorá" },
+ { "jos", "Jordanian Sign Language" },
+ { "jow", "Jowulu" },
+ { "jpa", "Jewish Palestinian Aramaic" },
+ { "jpn", "Japanese" },
+ { "jpr", "Judeo-Persian" },
+ { "jqr", "Jaqaru" },
+ { "jra", "Jarai" },
+ { "jrb", "Judeo-Arabic" },
+ { "jrr", "Jiru" },
+ { "jrt", "Jorto" },
+ { "jru", "Japrería" },
+ { "jsl", "Japanese Sign Language" },
+ { "jua", "Júma" },
+ { "jub", "Wannu" },
+ { "juc", "Jurchen" },
+ { "jud", "Worodougou" },
+ { "juh", "Hõne" },
+ { "jui", "Ngadjuri" },
+ { "juk", "Wapan" },
+ { "jul", "Jirel" },
+ { "jum", "Jumjum" },
+ { "jun", "Juang" },
+ { "juo", "Jiba" },
+ { "jup", "Hupdë" },
+ { "jur", "Jurúna" },
+ { "jus", "Jumla Sign Language" },
+ { "jut", "Jutish" },
+ { "juu", "Ju" },
+ { "juw", "Wãpha" },
+ { "juy", "Juray" },
+ { "jvd", "Javindo" },
+ { "jvn", "Caribbean Javanese" },
+ { "jwi", "Jwira-Pepesa" },
+ { "jya", "Jiarong" },
+ { "jye", "Judeo-Yemeni Arabic" },
+ { "jyy", "Jaya" },
+ { "kaa", "Kara-Kalpak" },
+ { "kab", "Kabyle" },
+ { "kac", "Kachin" },
+ { "kad", "Adara" },
+ { "kae", "Ketangalan" },
+ { "kaf", "Katso" },
+ { "kag", "Kajaman" },
+ { "kah", "Kara (Central African Republic)" },
+ { "kai", "Karekare" },
+ { "kaj", "Jju" },
+ { "kak", "Kayapa Kallahan" },
+ { "kal", "Kalaallisut" },
+ { "kam", "Kamba (Kenya)" },
+ { "kan", "Kannada" },
+ { "kao", "Xaasongaxango" },
+ { "kap", "Bezhta" },
+ { "kaq", "Capanahua" },
+ { "kas", "Kashmiri" },
+ { "kat", "Georgian" },
+ { "kau", "Kanuri" },
+ { "kav", "Katukína" },
+ { "kaw", "Kawi" },
+ { "kax", "Kao" },
+ { "kay", "Kamayurá" },
+ { "kaz", "Kazakh" },
+ { "kba", "Kalarko" },
+ { "kbb", "Kaxuiâna" },
+ { "kbc", "Kadiwéu" },
+ { "kbd", "Kabardian" },
+ { "kbe", "Kanju" },
+ { "kbf", "Kakauhua" },
+ { "kbg", "Khamba" },
+ { "kbh", "Camsá" },
+ { "kbi", "Kaptiau" },
+ { "kbj", "Kari" },
+ { "kbk", "Grass Koiari" },
+ { "kbl", "Kanembu" },
+ { "kbm", "Iwal" },
+ { "kbn", "Kare (Central African Republic)" },
+ { "kbo", "Keliko" },
+ { "kbp", "Kabiyè" },
+ { "kbq", "Kamano" },
+ { "kbr", "Kafa" },
+ { "kbs", "Kande" },
+ { "kbt", "Abadi" },
+ { "kbu", "Kabutra" },
+ { "kbv", "Dera (Indonesia)" },
+ { "kbw", "Kaiep" },
+ { "kbx", "Ap Ma" },
+ { "kby", "Manga Kanuri" },
+ { "kbz", "Duhwa" },
+ { "kca", "Khanty" },
+ { "kcb", "Kawacha" },
+ { "kcc", "Lubila" },
+ { "kcd", "Ngkâlmpw Kanum" },
+ { "kce", "Kaivi" },
+ { "kcf", "Ukaan" },
+ { "kcg", "Tyap" },
+ { "kch", "Vono" },
+ { "kci", "Kamantan" },
+ { "kcj", "Kobiana" },
+ { "kck", "Kalanga" },
+ { "kcl", "Kela (Papua New Guinea)" },
+ { "kcm", "Gula (Central African Republic)" },
+ { "kcn", "Nubi" },
+ { "kco", "Kinalakna" },
+ { "kcp", "Kanga" },
+ { "kcq", "Kamo" },
+ { "kcr", "Katla" },
+ { "kcs", "Koenoem" },
+ { "kct", "Kaian" },
+ { "kcu", "Kami (Tanzania)" },
+ { "kcv", "Kete" },
+ { "kcw", "Kabwari" },
+ { "kcx", "Kachama-Ganjule" },
+ { "kcy", "Korandje" },
+ { "kcz", "Konongo" },
+ { "kda", "Worimi" },
+ { "kdc", "Kutu" },
+ { "kdd", "Yankunytjatjara" },
+ { "kde", "Makonde" },
+ { "kdf", "Mamusi" },
+ { "kdg", "Seba" },
+ { "kdh", "Tem" },
+ { "kdi", "Kumam" },
+ { "kdj", "Karamojong" },
+ { "kdk", "Numèè" },
+ { "kdl", "Tsikimba" },
+ { "kdm", "Kagoma" },
+ { "kdn", "Kunda" },
+ { "kdp", "Kaningdon-Nindem" },
+ { "kdq", "Koch" },
+ { "kdr", "Karaim" },
+ { "kdt", "Kuy" },
+ { "kdu", "Kadaru" },
+ { "kdw", "Koneraw" },
+ { "kdx", "Kam" },
+ { "kdy", "Keder" },
+ { "kdz", "Kwaja" },
+ { "kea", "Kabuverdianu" },
+ { "keb", "Kélé" },
+ { "kec", "Keiga" },
+ { "ked", "Kerewe" },
+ { "kee", "Eastern Keres" },
+ { "kef", "Kpessi" },
+ { "keg", "Tese" },
+ { "keh", "Keak" },
+ { "kei", "Kei" },
+ { "kej", "Kadar" },
+ { "kek", "Kekchí" },
+ { "kel", "Kela (Democratic Republic of Congo)" },
+ { "kem", "Kemak" },
+ { "ken", "Kenyang" },
+ { "keo", "Kakwa" },
+ { "kep", "Kaikadi" },
+ { "keq", "Kamar" },
+ { "ker", "Kera" },
+ { "kes", "Kugbo" },
+ { "ket", "Ket" },
+ { "keu", "Akebu" },
+ { "kev", "Kanikkaran" },
+ { "kew", "West Kewa" },
+ { "kex", "Kukna" },
+ { "key", "Kupia" },
+ { "kez", "Kukele" },
+ { "kfa", "Kodava" },
+ { "kfb", "Northwestern Kolami" },
+ { "kfc", "Konda-Dora" },
+ { "kfd", "Korra Koraga" },
+ { "kfe", "Kota (India)" },
+ { "kff", "Koya" },
+ { "kfg", "Kudiya" },
+ { "kfh", "Kurichiya" },
+ { "kfi", "Kannada Kurumba" },
+ { "kfj", "Kemiehua" },
+ { "kfk", "Kinnauri" },
+ { "kfl", "Kung" },
+ { "kfm", "Khunsari" },
+ { "kfn", "Kuk" },
+ { "kfo", "Koro (Côte d'Ivoire)" },
+ { "kfp", "Korwa" },
+ { "kfq", "Korku" },
+ { "kfr", "Kachchi" },
+ { "kfs", "Bilaspuri" },
+ { "kft", "Kanjari" },
+ { "kfu", "Katkari" },
+ { "kfv", "Kurmukar" },
+ { "kfw", "Kharam Naga" },
+ { "kfx", "Kullu Pahari" },
+ { "kfy", "Kumaoni" },
+ { "kfz", "Koromfé" },
+ { "kga", "Koyaga" },
+ { "kgb", "Kawe" },
+ { "kgc", "Kasseng" },
+ { "kgd", "Kataang" },
+ { "kge", "Komering" },
+ { "kgf", "Kube" },
+ { "kgg", "Kusunda" },
+ { "kgi", "Selangor Sign Language" },
+ { "kgj", "Gamale Kham" },
+ { "kgk", "Kaiwá" },
+ { "kgl", "Kunggari" },
+ { "kgm", "Karipúna" },
+ { "kgn", "Karingani" },
+ { "kgo", "Krongo" },
+ { "kgp", "Kaingang" },
+ { "kgq", "Kamoro" },
+ { "kgr", "Abun" },
+ { "kgs", "Kumbainggar" },
+ { "kgt", "Somyev" },
+ { "kgu", "Kobol" },
+ { "kgv", "Karas" },
+ { "kgw", "Karon Dori" },
+ { "kgx", "Kamaru" },
+ { "kgy", "Kyerung" },
+ { "kha", "Khasi" },
+ { "khb", "Lü" },
+ { "khc", "Tukang Besi North" },
+ { "khd", "Bädi Kanum" },
+ { "khe", "Korowai" },
+ { "khf", "Khuen" },
+ { "khg", "Khams Tibetan" },
+ { "khh", "Kehu" },
+ { "khj", "Kuturmi" },
+ { "khk", "Halh Mongolian" },
+ { "khl", "Lusi" },
+ { "khm", "Central Khmer" },
+ { "khn", "Khandesi" },
+ { "kho", "Khotanese" },
+ { "khp", "Kapori" },
+ { "khq", "Koyra Chiini Songhay" },
+ { "khr", "Kharia" },
+ { "khs", "Kasua" },
+ { "kht", "Khamti" },
+ { "khu", "Nkhumbi" },
+ { "khv", "Khvarshi" },
+ { "khw", "Khowar" },
+ { "khx", "Kanu" },
+ { "khy", "Kele (Democratic Republic of Congo)" },
+ { "khz", "Keapara" },
+ { "kia", "Kim" },
+ { "kib", "Koalib" },
+ { "kic", "Kickapoo" },
+ { "kid", "Koshin" },
+ { "kie", "Kibet" },
+ { "kif", "Eastern Parbate Kham" },
+ { "kig", "Kimaama" },
+ { "kih", "Kilmeri" },
+ { "kii", "Kitsai" },
+ { "kij", "Kilivila" },
+ { "kik", "Kikuyu" },
+ { "kil", "Kariya" },
+ { "kim", "Karagas" },
+ { "kin", "Kinyarwanda" },
+ { "kio", "Kiowa" },
+ { "kip", "Sheshi Kham" },
+ { "kiq", "Kosadle" },
+ { "kir", "Kirghiz" },
+ { "kis", "Kis" },
+ { "kit", "Agob" },
+ { "kiu", "Kirmanjki (individual language)" },
+ { "kiv", "Kimbu" },
+ { "kiw", "Northeast Kiwai" },
+ { "kix", "Khiamniungan Naga" },
+ { "kiy", "Kirikiri" },
+ { "kiz", "Kisi" },
+ { "kja", "Mlap" },
+ { "kjb", "Q'anjob'al" },
+ { "kjc", "Coastal Konjo" },
+ { "kjd", "Southern Kiwai" },
+ { "kje", "Kisar" },
+ { "kjf", "Khalaj" },
+ { "kjg", "Khmu" },
+ { "kjh", "Khakas" },
+ { "kji", "Zabana" },
+ { "kjj", "Khinalugh" },
+ { "kjk", "Highland Konjo" },
+ { "kjl", "Western Parbate Kham" },
+ { "kjm", "Kháng" },
+ { "kjn", "Kunjen" },
+ { "kjo", "Harijan Kinnauri" },
+ { "kjp", "Pwo Eastern Karen" },
+ { "kjq", "Western Keres" },
+ { "kjr", "Kurudu" },
+ { "kjs", "East Kewa" },
+ { "kjt", "Phrae Pwo Karen" },
+ { "kju", "Kashaya" },
+ { "kjx", "Ramopa" },
+ { "kjy", "Erave" },
+ { "kjz", "Bumthangkha" },
+ { "kka", "Kakanda" },
+ { "kkb", "Kwerisa" },
+ { "kkc", "Odoodee" },
+ { "kkd", "Kinuku" },
+ { "kke", "Kakabe" },
+ { "kkf", "Kalaktang Monpa" },
+ { "kkg", "Mabaka Valley Kalinga" },
+ { "kkh", "Khün" },
+ { "kki", "Kagulu" },
+ { "kkj", "Kako" },
+ { "kkk", "Kokota" },
+ { "kkl", "Kosarek Yale" },
+ { "kkm", "Kiong" },
+ { "kkn", "Kon Keu" },
+ { "kko", "Karko" },
+ { "kkp", "Gugubera" },
+ { "kkq", "Kaiku" },
+ { "kkr", "Kir-Balar" },
+ { "kks", "Giiwo" },
+ { "kkt", "Koi" },
+ { "kku", "Tumi" },
+ { "kkv", "Kangean" },
+ { "kkw", "Teke-Kukuya" },
+ { "kkx", "Kohin" },
+ { "kky", "Guguyimidjir" },
+ { "kkz", "Kaska" },
+ { "kla", "Klamath-Modoc" },
+ { "klb", "Kiliwa" },
+ { "klc", "Kolbila" },
+ { "kld", "Gamilaraay" },
+ { "kle", "Kulung (Nepal)" },
+ { "klf", "Kendeje" },
+ { "klg", "Tagakaulo" },
+ { "klh", "Weliki" },
+ { "kli", "Kalumpang" },
+ { "klj", "Turkic Khalaj" },
+ { "klk", "Kono (Nigeria)" },
+ { "kll", "Kagan Kalagan" },
+ { "klm", "Migum" },
+ { "kln", "Kalenjin" },
+ { "klo", "Kapya" },
+ { "klp", "Kamasa" },
+ { "klq", "Rumu" },
+ { "klr", "Khaling" },
+ { "kls", "Kalasha" },
+ { "klt", "Nukna" },
+ { "klu", "Klao" },
+ { "klv", "Maskelynes" },
+ { "klw", "Lindu" },
+ { "klx", "Koluwawa" },
+ { "kly", "Kalao" },
+ { "klz", "Kabola" },
+ { "kma", "Konni" },
+ { "kmb", "Kimbundu" },
+ { "kmc", "Southern Dong" },
+ { "kmd", "Majukayang Kalinga" },
+ { "kme", "Bakole" },
+ { "kmf", "Kare (Papua New Guinea)" },
+ { "kmg", "Kâte" },
+ { "kmh", "Kalam" },
+ { "kmi", "Kami (Nigeria)" },
+ { "kmj", "Kumarbhag Paharia" },
+ { "kmk", "Limos Kalinga" },
+ { "kml", "Tanudan Kalinga" },
+ { "kmm", "Kom (India)" },
+ { "kmn", "Awtuw" },
+ { "kmo", "Kwoma" },
+ { "kmp", "Gimme" },
+ { "kmq", "Kwama" },
+ { "kmr", "Northern Kurdish" },
+ { "kms", "Kamasau" },
+ { "kmt", "Kemtuik" },
+ { "kmu", "Kanite" },
+ { "kmv", "Karipúna Creole French" },
+ { "kmw", "Komo (Democratic Republic of Congo)" },
+ { "kmx", "Waboda" },
+ { "kmy", "Koma" },
+ { "kmz", "Khorasani Turkish" },
+ { "kna", "Dera (Nigeria)" },
+ { "knb", "Lubuagan Kalinga" },
+ { "knc", "Central Kanuri" },
+ { "knd", "Konda" },
+ { "kne", "Kankanaey" },
+ { "knf", "Mankanya" },
+ { "kng", "Koongo" },
+ { "kni", "Kanufi" },
+ { "knj", "Western Kanjobal" },
+ { "knk", "Kuranko" },
+ { "knl", "Keninjal" },
+ { "knm", "Kanamarí" },
+ { "knn", "Konkani (individual language)" },
+ { "kno", "Kono (Sierra Leone)" },
+ { "knp", "Kwanja" },
+ { "knq", "Kintaq" },
+ { "knr", "Kaningra" },
+ { "kns", "Kensiu" },
+ { "knt", "Panoan Katukína" },
+ { "knu", "Kono (Guinea)" },
+ { "knv", "Tabo" },
+ { "knw", "Kung-Ekoka" },
+ { "knx", "Kendayan" },
+ { "kny", "Kanyok" },
+ { "knz", "Kalamsé" },
+ { "koa", "Konomala" },
+ { "koc", "Kpati" },
+ { "kod", "Kodi" },
+ { "koe", "Kacipo-Balesi" },
+ { "kof", "Kubi" },
+ { "kog", "Cogui" },
+ { "koh", "Koyo" },
+ { "koi", "Komi-Permyak" },
+ { "koj", "Sara Dunjo" },
+ { "kok", "Konkani (macrolanguage)" },
+ { "kol", "Kol (Papua New Guinea)" },
+ { "kom", "Komi" },
+ { "kon", "Kongo" },
+ { "koo", "Konzo" },
+ { "kop", "Waube" },
+ { "koq", "Kota (Gabon)" },
+ { "kor", "Korean" },
+ { "kos", "Kosraean" },
+ { "kot", "Lagwan" },
+ { "kou", "Koke" },
+ { "kov", "Kudu-Camo" },
+ { "kow", "Kugama" },
+ { "kox", "Coxima" },
+ { "koy", "Koyukon" },
+ { "koz", "Korak" },
+ { "kpa", "Kutto" },
+ { "kpb", "Mullu Kurumba" },
+ { "kpc", "Curripaco" },
+ { "kpd", "Koba" },
+ { "kpe", "Kpelle" },
+ { "kpf", "Komba" },
+ { "kpg", "Kapingamarangi" },
+ { "kph", "Kplang" },
+ { "kpi", "Kofei" },
+ { "kpj", "Karajá" },
+ { "kpk", "Kpan" },
+ { "kpl", "Kpala" },
+ { "kpm", "Koho" },
+ { "kpn", "Kepkiriwát" },
+ { "kpo", "Ikposo" },
+ { "kpq", "Korupun-Sela" },
+ { "kpr", "Korafe-Yegha" },
+ { "kps", "Tehit" },
+ { "kpt", "Karata" },
+ { "kpu", "Kafoa" },
+ { "kpv", "Komi-Zyrian" },
+ { "kpw", "Kobon" },
+ { "kpx", "Mountain Koiali" },
+ { "kpy", "Koryak" },
+ { "kpz", "Kupsabiny" },
+ { "kqa", "Mum" },
+ { "kqb", "Kovai" },
+ { "kqc", "Doromu-Koki" },
+ { "kqd", "Koy Sanjaq Surat" },
+ { "kqe", "Kalagan" },
+ { "kqf", "Kakabai" },
+ { "kqg", "Khe" },
+ { "kqh", "Kisankasa" },
+ { "kqi", "Koitabu" },
+ { "kqj", "Koromira" },
+ { "kqk", "Kotafon Gbe" },
+ { "kql", "Kyenele" },
+ { "kqm", "Khisa" },
+ { "kqn", "Kaonde" },
+ { "kqo", "Eastern Krahn" },
+ { "kqp", "Kimré" },
+ { "kqq", "Krenak" },
+ { "kqr", "Kimaragang" },
+ { "kqs", "Northern Kissi" },
+ { "kqt", "Klias River Kadazan" },
+ { "kqu", "Seroa" },
+ { "kqv", "Okolod" },
+ { "kqw", "Kandas" },
+ { "kqx", "Mser" },
+ { "kqy", "Koorete" },
+ { "kqz", "Korana" },
+ { "kra", "Kumhali" },
+ { "krb", "Karkin" },
+ { "krc", "Karachay-Balkar" },
+ { "krd", "Kairui-Midiki" },
+ { "kre", "Panará" },
+ { "krf", "Koro (Vanuatu)" },
+ { "krh", "Kurama" },
+ { "kri", "Krio" },
+ { "krj", "Kinaray-A" },
+ { "krk", "Kerek" },
+ { "krl", "Karelian" },
+ { "krm", "Krim" },
+ { "krn", "Sapo" },
+ { "krp", "Korop" },
+ { "krr", "Kru'ng 2" },
+ { "krs", "Gbaya (Sudan)" },
+ { "krt", "Tumari Kanuri" },
+ { "kru", "Kurukh" },
+ { "krv", "Kavet" },
+ { "krw", "Western Krahn" },
+ { "krx", "Karon" },
+ { "kry", "Kryts" },
+ { "krz", "Sota Kanum" },
+ { "ksa", "Shuwa-Zamani" },
+ { "ksb", "Shambala" },
+ { "ksc", "Southern Kalinga" },
+ { "ksd", "Kuanua" },
+ { "kse", "Kuni" },
+ { "ksf", "Bafia" },
+ { "ksg", "Kusaghe" },
+ { "ksh", "Kölsch" },
+ { "ksi", "Krisa" },
+ { "ksj", "Uare" },
+ { "ksk", "Kansa" },
+ { "ksl", "Kumalu" },
+ { "ksm", "Kumba" },
+ { "ksn", "Kasiguranin" },
+ { "kso", "Kofa" },
+ { "ksp", "Kaba" },
+ { "ksq", "Kwaami" },
+ { "ksr", "Borong" },
+ { "kss", "Southern Kisi" },
+ { "kst", "Winyé" },
+ { "ksu", "Khamyang" },
+ { "ksv", "Kusu" },
+ { "ksw", "S'gaw Karen" },
+ { "ksx", "Kedang" },
+ { "ksy", "Kharia Thar" },
+ { "ksz", "Kodaku" },
+ { "kta", "Katua" },
+ { "ktb", "Kambaata" },
+ { "ktc", "Kholok" },
+ { "ktd", "Kokata" },
+ { "kte", "Nubri" },
+ { "ktf", "Kwami" },
+ { "ktg", "Kalkutung" },
+ { "kth", "Karanga" },
+ { "kti", "North Muyu" },
+ { "ktj", "Plapo Krumen" },
+ { "ktk", "Kaniet" },
+ { "ktl", "Koroshi" },
+ { "ktm", "Kurti" },
+ { "ktn", "Karitiâna" },
+ { "kto", "Kuot" },
+ { "ktp", "Kaduo" },
+ { "ktq", "Katabaga" },
+ { "ktr", "Kota Marudu Tinagas" },
+ { "kts", "South Muyu" },
+ { "ktt", "Ketum" },
+ { "ktu", "Kituba (Democratic Republic of Congo)" },
+ { "ktv", "Eastern Katu" },
+ { "ktw", "Kato" },
+ { "ktx", "Kaxararí" },
+ { "kty", "Kango (Bas-Uélé District)" },
+ { "ktz", "Ju'hoan" },
+ { "kua", "Kuanyama" },
+ { "kub", "Kutep" },
+ { "kuc", "Kwinsu" },
+ { "kud", "'Auhelawa" },
+ { "kue", "Kuman" },
+ { "kuf", "Western Katu" },
+ { "kug", "Kupa" },
+ { "kuh", "Kushi" },
+ { "kui", "Kuikúro-Kalapálo" },
+ { "kuj", "Kuria" },
+ { "kuk", "Kepo'" },
+ { "kul", "Kulere" },
+ { "kum", "Kumyk" },
+ { "kun", "Kunama" },
+ { "kuo", "Kumukio" },
+ { "kup", "Kunimaipa" },
+ { "kuq", "Karipuna" },
+ { "kur", "Kurdish" },
+ { "kus", "Kusaal" },
+ { "kut", "Kutenai" },
+ { "kuu", "Upper Kuskokwim" },
+ { "kuv", "Kur" },
+ { "kuw", "Kpagua" },
+ { "kux", "Kukatja" },
+ { "kuy", "Kuuku-Ya'u" },
+ { "kuz", "Kunza" },
+ { "kva", "Bagvalal" },
+ { "kvb", "Kubu" },
+ { "kvc", "Kove" },
+ { "kvd", "Kui (Indonesia)" },
+ { "kve", "Kalabakan" },
+ { "kvf", "Kabalai" },
+ { "kvg", "Kuni-Boazi" },
+ { "kvh", "Komodo" },
+ { "kvi", "Kwang" },
+ { "kvj", "Psikye" },
+ { "kvk", "Korean Sign Language" },
+ { "kvl", "Kayaw" },
+ { "kvm", "Kendem" },
+ { "kvn", "Border Kuna" },
+ { "kvo", "Dobel" },
+ { "kvp", "Kompane" },
+ { "kvq", "Geba Karen" },
+ { "kvr", "Kerinci" },
+ { "kvs", "Kunggara" },
+ { "kvt", "Lahta Karen" },
+ { "kvu", "Yinbaw Karen" },
+ { "kvv", "Kola" },
+ { "kvw", "Wersing" },
+ { "kvx", "Parkari Koli" },
+ { "kvy", "Yintale Karen" },
+ { "kvz", "Tsakwambo" },
+ { "kwa", "Dâw" },
+ { "kwb", "Kwa" },
+ { "kwc", "Likwala" },
+ { "kwd", "Kwaio" },
+ { "kwe", "Kwerba" },
+ { "kwf", "Kwara'ae" },
+ { "kwg", "Sara Kaba Deme" },
+ { "kwh", "Kowiai" },
+ { "kwi", "Awa-Cuaiquer" },
+ { "kwj", "Kwanga" },
+ { "kwk", "Kwakiutl" },
+ { "kwl", "Kofyar" },
+ { "kwm", "Kwambi" },
+ { "kwn", "Kwangali" },
+ { "kwo", "Kwomtari" },
+ { "kwp", "Kodia" },
+ { "kwq", "Kwak" },
+ { "kwr", "Kwer" },
+ { "kws", "Kwese" },
+ { "kwt", "Kwesten" },
+ { "kwu", "Kwakum" },
+ { "kwv", "Sara Kaba Náà" },
+ { "kww", "Kwinti" },
+ { "kwx", "Khirwar" },
+ { "kwy", "San Salvador Kongo" },
+ { "kwz", "Kwadi" },
+ { "kxa", "Kairiru" },
+ { "kxb", "Krobu" },
+ { "kxc", "Konso" },
+ { "kxd", "Brunei" },
+ { "kxe", "Kakihum" },
+ { "kxf", "Manumanaw Karen" },
+ { "kxh", "Karo (Ethiopia)" },
+ { "kxi", "Keningau Murut" },
+ { "kxj", "Kulfa" },
+ { "kxk", "Zayein Karen" },
+ { "kxl", "Nepali Kurux" },
+ { "kxm", "Northern Khmer" },
+ { "kxn", "Kanowit-Tanjong Melanau" },
+ { "kxo", "Kanoé" },
+ { "kxp", "Wadiyara Koli" },
+ { "kxq", "Smärky Kanum" },
+ { "kxr", "Koro (Papua New Guinea)" },
+ { "kxs", "Kangjia" },
+ { "kxt", "Koiwat" },
+ { "kxu", "Kui (India)" },
+ { "kxv", "Kuvi" },
+ { "kxw", "Konai" },
+ { "kxx", "Likuba" },
+ { "kxy", "Kayong" },
+ { "kxz", "Kerewo" },
+ { "kya", "Kwaya" },
+ { "kyb", "Butbut Kalinga" },
+ { "kyc", "Kyaka" },
+ { "kyd", "Karey" },
+ { "kye", "Krache" },
+ { "kyf", "Kouya" },
+ { "kyg", "Keyagana" },
+ { "kyh", "Karok" },
+ { "kyi", "Kiput" },
+ { "kyj", "Karao" },
+ { "kyk", "Kamayo" },
+ { "kyl", "Kalapuya" },
+ { "kym", "Kpatili" },
+ { "kyn", "Northern Binukidnon" },
+ { "kyo", "Kelon" },
+ { "kyp", "Kang" },
+ { "kyq", "Kenga" },
+ { "kyr", "Kuruáya" },
+ { "kys", "Baram Kayan" },
+ { "kyt", "Kayagar" },
+ { "kyu", "Western Kayah" },
+ { "kyv", "Kayort" },
+ { "kyw", "Kudmali" },
+ { "kyx", "Rapoisi" },
+ { "kyy", "Kambaira" },
+ { "kyz", "Kayabí" },
+ { "kza", "Western Karaboro" },
+ { "kzb", "Kaibobo" },
+ { "kzc", "Bondoukou Kulango" },
+ { "kzd", "Kadai" },
+ { "kze", "Kosena" },
+ { "kzf", "Da'a Kaili" },
+ { "kzg", "Kikai" },
+ { "kzi", "Kelabit" },
+ { "kzj", "Coastal Kadazan" },
+ { "kzk", "Kazukuru" },
+ { "kzl", "Kayeli" },
+ { "kzm", "Kais" },
+ { "kzn", "Kokola" },
+ { "kzo", "Kaningi" },
+ { "kzp", "Kaidipang" },
+ { "kzq", "Kaike" },
+ { "kzr", "Karang" },
+ { "kzs", "Sugut Dusun" },
+ { "kzt", "Tambunan Dusun" },
+ { "kzu", "Kayupulau" },
+ { "kzv", "Komyandaret" },
+ { "kzw", "Karirí-Xocó" },
+ { "kzx", "Kamarian" },
+ { "kzy", "Kango (Tshopo District)" },
+ { "kzz", "Kalabra" },
+ { "laa", "Southern Subanen" },
+ { "lab", "Linear A" },
+ { "lac", "Lacandon" },
+ { "lad", "Ladino" },
+ { "lae", "Pattani" },
+ { "laf", "Lafofa" },
+ { "lag", "Langi" },
+ { "lah", "Lahnda" },
+ { "lai", "Lambya" },
+ { "laj", "Lango (Uganda)" },
+ { "lak", "Laka (Nigeria)" },
+ { "lal", "Lalia" },
+ { "lam", "Lamba" },
+ { "lan", "Laru" },
+ { "lao", "Lao" },
+ { "lap", "Laka (Chad)" },
+ { "laq", "Qabiao" },
+ { "lar", "Larteh" },
+ { "las", "Lama (Togo)" },
+ { "lat", "Latin" },
+ { "lau", "Laba" },
+ { "lav", "Latvian" },
+ { "law", "Lauje" },
+ { "lax", "Tiwa" },
+ { "lay", "Lama (Myanmar)" },
+ { "laz", "Aribwatsa" },
+ { "lba", "Lui" },
+ { "lbb", "Label" },
+ { "lbc", "Lakkia" },
+ { "lbe", "Lak" },
+ { "lbf", "Tinani" },
+ { "lbg", "Laopang" },
+ { "lbi", "La'bi" },
+ { "lbj", "Ladakhi" },
+ { "lbk", "Central Bontok" },
+ { "lbl", "Libon Bikol" },
+ { "lbm", "Lodhi" },
+ { "lbn", "Lamet" },
+ { "lbo", "Laven" },
+ { "lbq", "Wampar" },
+ { "lbr", "Lohorung" },
+ { "lbs", "Libyan Sign Language" },
+ { "lbt", "Lachi" },
+ { "lbu", "Labu" },
+ { "lbv", "Lavatbura-Lamusong" },
+ { "lbw", "Tolaki" },
+ { "lbx", "Lawangan" },
+ { "lby", "Lamu-Lamu" },
+ { "lbz", "Lardil" },
+ { "lcc", "Legenyem" },
+ { "lcd", "Lola" },
+ { "lce", "Loncong" },
+ { "lcf", "Lubu" },
+ { "lch", "Luchazi" },
+ { "lcl", "Lisela" },
+ { "lcm", "Tungag" },
+ { "lcp", "Western Lawa" },
+ { "lcq", "Luhu" },
+ { "lcs", "Lisabata-Nuniali" },
+ { "lda", "Kla-Dan" },
+ { "ldb", "Dũya" },
+ { "ldd", "Luri" },
+ { "ldg", "Lenyima" },
+ { "ldh", "Lamja-Dengsa-Tola" },
+ { "ldi", "Laari" },
+ { "ldj", "Lemoro" },
+ { "ldk", "Leelau" },
+ { "ldl", "Kaan" },
+ { "ldm", "Landoma" },
+ { "ldn", "Láadan" },
+ { "ldo", "Loo" },
+ { "ldp", "Tso" },
+ { "ldq", "Lufu" },
+ { "lea", "Lega-Shabunda" },
+ { "leb", "Lala-Bisa" },
+ { "lec", "Leco" },
+ { "led", "Lendu" },
+ { "lee", "Lyélé" },
+ { "lef", "Lelemi" },
+ { "leg", "Lengua" },
+ { "leh", "Lenje" },
+ { "lei", "Lemio" },
+ { "lej", "Lengola" },
+ { "lek", "Leipon" },
+ { "lel", "Lele (Democratic Republic of Congo)" },
+ { "lem", "Nomaande" },
+ { "len", "Lenca" },
+ { "leo", "Leti (Cameroon)" },
+ { "lep", "Lepcha" },
+ { "leq", "Lembena" },
+ { "ler", "Lenkau" },
+ { "les", "Lese" },
+ { "let", "Lesing-Gelimi" },
+ { "leu", "Kara (Papua New Guinea)" },
+ { "lev", "Lamma" },
+ { "lew", "Ledo Kaili" },
+ { "lex", "Luang" },
+ { "ley", "Lemolang" },
+ { "lez", "Lezghian" },
+ { "lfa", "Lefa" },
+ { "lfn", "Lingua Franca Nova" },
+ { "lga", "Lungga" },
+ { "lgb", "Laghu" },
+ { "lgg", "Lugbara" },
+ { "lgh", "Laghuu" },
+ { "lgi", "Lengilu" },
+ { "lgk", "Lingarak" },
+ { "lgl", "Wala" },
+ { "lgm", "Lega-Mwenga" },
+ { "lgn", "Opuuo" },
+ { "lgq", "Logba" },
+ { "lgr", "Lengo" },
+ { "lgt", "Pahi" },
+ { "lgu", "Longgu" },
+ { "lgz", "Ligenza" },
+ { "lha", "Laha (Viet Nam)" },
+ { "lhh", "Laha (Indonesia)" },
+ { "lhi", "Lahu Shi" },
+ { "lhl", "Lahul Lohar" },
+ { "lhm", "Lhomi" },
+ { "lhn", "Lahanan" },
+ { "lhp", "Lhokpu" },
+ { "lhs", "Mlahsö" },
+ { "lht", "Lo-Toga" },
+ { "lhu", "Lahu" },
+ { "lia", "West-Central Limba" },
+ { "lib", "Likum" },
+ { "lic", "Hlai" },
+ { "lid", "Nyindrou" },
+ { "lie", "Likila" },
+ { "lif", "Limbu" },
+ { "lig", "Ligbi" },
+ { "lih", "Lihir" },
+ { "lii", "Lingkhim" },
+ { "lij", "Ligurian" },
+ { "lik", "Lika" },
+ { "lil", "Lillooet" },
+ { "lim", "Limburgan" },
+ { "lin", "Lingala" },
+ { "lio", "Liki" },
+ { "lip", "Sekpele" },
+ { "liq", "Libido" },
+ { "lir", "Liberian English" },
+ { "lis", "Lisu" },
+ { "lit", "Lithuanian" },
+ { "liu", "Logorik" },
+ { "liv", "Liv" },
+ { "liw", "Col" },
+ { "lix", "Liabuku" },
+ { "liy", "Banda-Bambari" },
+ { "liz", "Libinza" },
+ { "lja", "Golpa" },
+ { "lje", "Rampi" },
+ { "lji", "Laiyolo" },
+ { "ljl", "Li'o" },
+ { "ljp", "Lampung Api" },
+ { "ljw", "Yirandali" },
+ { "ljx", "Yuru" },
+ { "lka", "Lakalei" },
+ { "lkb", "Kabras" },
+ { "lkc", "Kucong" },
+ { "lkd", "Lakondê" },
+ { "lke", "Kenyi" },
+ { "lkh", "Lakha" },
+ { "lki", "Laki" },
+ { "lkj", "Remun" },
+ { "lkl", "Laeko-Libuat" },
+ { "lkm", "Kalaamaya" },
+ { "lkn", "Lakon" },
+ { "lko", "Khayo" },
+ { "lkr", "Päri" },
+ { "lks", "Kisa" },
+ { "lkt", "Lakota" },
+ { "lku", "Kungkari" },
+ { "lky", "Lokoya" },
+ { "lla", "Lala-Roba" },
+ { "llb", "Lolo" },
+ { "llc", "Lele (Guinea)" },
+ { "lld", "Ladin" },
+ { "lle", "Lele (Papua New Guinea)" },
+ { "llf", "Hermit" },
+ { "llg", "Lole" },
+ { "llh", "Lamu" },
+ { "lli", "Teke-Laali" },
+ { "llj", "Ladji Ladji" },
+ { "llk", "Lelak" },
+ { "lll", "Lilau" },
+ { "llm", "Lasalimu" },
+ { "lln", "Lele (Chad)" },
+ { "llo", "Khlor" },
+ { "llp", "North Efate" },
+ { "llq", "Lolak" },
+ { "lls", "Lithuanian Sign Language" },
+ { "llu", "Lau" },
+ { "llx", "Lauan" },
+ { "lma", "East Limba" },
+ { "lmb", "Merei" },
+ { "lmc", "Limilngan" },
+ { "lmd", "Lumun" },
+ { "lme", "Pévé" },
+ { "lmf", "South Lembata" },
+ { "lmg", "Lamogai" },
+ { "lmh", "Lambichhong" },
+ { "lmi", "Lombi" },
+ { "lmj", "West Lembata" },
+ { "lmk", "Lamkang" },
+ { "lml", "Hano" },
+ { "lmm", "Lamam" },
+ { "lmn", "Lambadi" },
+ { "lmo", "Lombard" },
+ { "lmp", "Limbum" },
+ { "lmq", "Lamatuka" },
+ { "lmr", "Lamalera" },
+ { "lmu", "Lamenu" },
+ { "lmv", "Lomaiviti" },
+ { "lmw", "Lake Miwok" },
+ { "lmx", "Laimbue" },
+ { "lmy", "Lamboya" },
+ { "lmz", "Lumbee" },
+ { "lna", "Langbashe" },
+ { "lnb", "Mbalanhu" },
+ { "lnd", "Lundayeh" },
+ { "lng", "Langobardic" },
+ { "lnh", "Lanoh" },
+ { "lni", "Daantanai'" },
+ { "lnj", "Leningitij" },
+ { "lnl", "South Central Banda" },
+ { "lnm", "Langam" },
+ { "lnn", "Lorediakarkar" },
+ { "lno", "Lango (Sudan)" },
+ { "lns", "Lamnso'" },
+ { "lnu", "Longuda" },
+ { "lnw", "Lanima" },
+ { "lnz", "Lonzo" },
+ { "loa", "Loloda" },
+ { "lob", "Lobi" },
+ { "loc", "Inonhan" },
+ { "loe", "Saluan" },
+ { "lof", "Logol" },
+ { "log", "Logo" },
+ { "loh", "Narim" },
+ { "loi", "Loma (Côte d'Ivoire)" },
+ { "loj", "Lou" },
+ { "lok", "Loko" },
+ { "lol", "Mongo" },
+ { "lom", "Loma (Liberia)" },
+ { "lon", "Malawi Lomwe" },
+ { "loo", "Lombo" },
+ { "lop", "Lopa" },
+ { "loq", "Lobala" },
+ { "lor", "Téén" },
+ { "los", "Loniu" },
+ { "lot", "Otuho" },
+ { "lou", "Louisiana Creole French" },
+ { "lov", "Lopi" },
+ { "low", "Tampias Lobu" },
+ { "lox", "Loun" },
+ { "loy", "Loke" },
+ { "loz", "Lozi" },
+ { "lpa", "Lelepa" },
+ { "lpe", "Lepki" },
+ { "lpn", "Long Phuri Naga" },
+ { "lpo", "Lipo" },
+ { "lpx", "Lopit" },
+ { "lra", "Rara Bakati'" },
+ { "lrc", "Northern Luri" },
+ { "lre", "Laurentian" },
+ { "lrg", "Laragia" },
+ { "lri", "Marachi" },
+ { "lrk", "Loarki" },
+ { "lrl", "Lari" },
+ { "lrm", "Marama" },
+ { "lrn", "Lorang" },
+ { "lro", "Laro" },
+ { "lrr", "Southern Yamphu" },
+ { "lrt", "Larantuka Malay" },
+ { "lrv", "Larevat" },
+ { "lrz", "Lemerig" },
+ { "lsa", "Lasgerdi" },
+ { "lsd", "Lishana Deni" },
+ { "lse", "Lusengo" },
+ { "lsg", "Lyons Sign Language" },
+ { "lsh", "Lish" },
+ { "lsi", "Lashi" },
+ { "lsl", "Latvian Sign Language" },
+ { "lsm", "Saamia" },
+ { "lso", "Laos Sign Language" },
+ { "lsp", "Panamanian Sign Language" },
+ { "lsr", "Aruop" },
+ { "lss", "Lasi" },
+ { "lst", "Trinidad and Tobago Sign Language" },
+ { "lsy", "Mauritian Sign Language" },
+ { "ltc", "Late Middle Chinese" },
+ { "ltg", "Latgalian" },
+ { "lti", "Leti (Indonesia)" },
+ { "ltn", "Latundê" },
+ { "lto", "Tsotso" },
+ { "lts", "Tachoni" },
+ { "ltu", "Latu" },
+ { "ltz", "Luxembourgish" },
+ { "lua", "Luba-Lulua" },
+ { "lub", "Luba-Katanga" },
+ { "luc", "Aringa" },
+ { "lud", "Ludian" },
+ { "lue", "Luvale" },
+ { "luf", "Laua" },
+ { "lug", "Ganda" },
+ { "lui", "Luiseno" },
+ { "luj", "Luna" },
+ { "luk", "Lunanakha" },
+ { "lul", "Olu'bo" },
+ { "lum", "Luimbi" },
+ { "lun", "Lunda" },
+ { "luo", "Luo (Kenya and Tanzania)" },
+ { "lup", "Lumbu" },
+ { "luq", "Lucumi" },
+ { "lur", "Laura" },
+ { "lus", "Lushai" },
+ { "lut", "Lushootseed" },
+ { "luu", "Lumba-Yakkha" },
+ { "luv", "Luwati" },
+ { "luw", "Luo (Cameroon)" },
+ { "luy", "Luyia" },
+ { "luz", "Southern Luri" },
+ { "lva", "Maku'a" },
+ { "lvk", "Lavukaleve" },
+ { "lvs", "Standard Latvian" },
+ { "lvu", "Levuka" },
+ { "lwa", "Lwalu" },
+ { "lwe", "Lewo Eleng" },
+ { "lwg", "Wanga" },
+ { "lwh", "White Lachi" },
+ { "lwl", "Eastern Lawa" },
+ { "lwm", "Laomian" },
+ { "lwo", "Luwo" },
+ { "lwt", "Lewotobi" },
+ { "lwu", "Lawu" },
+ { "lww", "Lewo" },
+ { "lya", "Layakha" },
+ { "lyg", "Lyngngam" },
+ { "lyn", "Luyana" },
+ { "lzh", "Literary Chinese" },
+ { "lzl", "Litzlitz" },
+ { "lzn", "Leinong Naga" },
+ { "lzz", "Laz" },
+ { "maa", "San Jerónimo Tecóatl Mazatec" },
+ { "mab", "Yutanduchi Mixtec" },
+ { "mad", "Madurese" },
+ { "mae", "Bo-Rukul" },
+ { "maf", "Mafa" },
+ { "mag", "Magahi" },
+ { "mah", "Marshallese" },
+ { "mai", "Maithili" },
+ { "maj", "Jalapa De Díaz Mazatec" },
+ { "mak", "Makasar" },
+ { "mal", "Malayalam" },
+ { "mam", "Mam" },
+ { "man", "Mandingo" },
+ { "maq", "Chiquihuitlán Mazatec" },
+ { "mar", "Marathi" },
+ { "mas", "Masai" },
+ { "mat", "San Francisco Matlatzinca" },
+ { "mau", "Huautla Mazatec" },
+ { "mav", "Sateré-Mawé" },
+ { "maw", "Mampruli" },
+ { "max", "North Moluccan Malay" },
+ { "maz", "Central Mazahua" },
+ { "mba", "Higaonon" },
+ { "mbb", "Western Bukidnon Manobo" },
+ { "mbc", "Macushi" },
+ { "mbd", "Dibabawon Manobo" },
+ { "mbe", "Molale" },
+ { "mbf", "Baba Malay" },
+ { "mbh", "Mangseng" },
+ { "mbi", "Ilianen Manobo" },
+ { "mbj", "Nadëb" },
+ { "mbk", "Malol" },
+ { "mbl", "Maxakalí" },
+ { "mbm", "Ombamba" },
+ { "mbn", "Macaguán" },
+ { "mbo", "Mbo (Cameroon)" },
+ { "mbp", "Malayo" },
+ { "mbq", "Maisin" },
+ { "mbr", "Nukak Makú" },
+ { "mbs", "Sarangani Manobo" },
+ { "mbt", "Matigsalug Manobo" },
+ { "mbu", "Mbula-Bwazza" },
+ { "mbv", "Mbulungish" },
+ { "mbw", "Maring" },
+ { "mbx", "Mari (East Sepik Province)" },
+ { "mby", "Memoni" },
+ { "mbz", "Amoltepec Mixtec" },
+ { "mca", "Maca" },
+ { "mcb", "Machiguenga" },
+ { "mcc", "Bitur" },
+ { "mcd", "Sharanahua" },
+ { "mce", "Itundujia Mixtec" },
+ { "mcf", "Matsés" },
+ { "mcg", "Mapoyo" },
+ { "mch", "Maquiritari" },
+ { "mci", "Mese" },
+ { "mcj", "Mvanip" },
+ { "mck", "Mbunda" },
+ { "mcl", "Macaguaje" },
+ { "mcm", "Malaccan Creole Portuguese" },
+ { "mcn", "Masana" },
+ { "mco", "Coatlán Mixe" },
+ { "mcp", "Makaa" },
+ { "mcq", "Ese" },
+ { "mcr", "Menya" },
+ { "mcs", "Mambai" },
+ { "mct", "Mengisa" },
+ { "mcu", "Cameroon Mambila" },
+ { "mcv", "Minanibai" },
+ { "mcw", "Mawa (Chad)" },
+ { "mcx", "Mpiemo" },
+ { "mcy", "South Watut" },
+ { "mcz", "Mawan" },
+ { "mda", "Mada (Nigeria)" },
+ { "mdb", "Morigi" },
+ { "mdc", "Male (Papua New Guinea)" },
+ { "mdd", "Mbum" },
+ { "mde", "Maba (Chad)" },
+ { "mdf", "Moksha" },
+ { "mdg", "Massalat" },
+ { "mdh", "Maguindanaon" },
+ { "mdi", "Mamvu" },
+ { "mdj", "Mangbetu" },
+ { "mdk", "Mangbutu" },
+ { "mdl", "Maltese Sign Language" },
+ { "mdm", "Mayogo" },
+ { "mdn", "Mbati" },
+ { "mdp", "Mbala" },
+ { "mdq", "Mbole" },
+ { "mdr", "Mandar" },
+ { "mds", "Maria (Papua New Guinea)" },
+ { "mdt", "Mbere" },
+ { "mdu", "Mboko" },
+ { "mdv", "Santa Lucía Monteverde Mixtec" },
+ { "mdw", "Mbosi" },
+ { "mdx", "Dizin" },
+ { "mdy", "Male (Ethiopia)" },
+ { "mdz", "Suruí Do Pará" },
+ { "mea", "Menka" },
+ { "meb", "Ikobi" },
+ { "mec", "Mara" },
+ { "med", "Melpa" },
+ { "mee", "Mengen" },
+ { "mef", "Megam" },
+ { "meh", "Southwestern Tlaxiaco Mixtec" },
+ { "mei", "Midob" },
+ { "mej", "Meyah" },
+ { "mek", "Mekeo" },
+ { "mel", "Central Melanau" },
+ { "mem", "Mangala" },
+ { "men", "Mende (Sierra Leone)" },
+ { "meo", "Kedah Malay" },
+ { "mep", "Miriwung" },
+ { "meq", "Merey" },
+ { "mer", "Meru" },
+ { "mes", "Masmaje" },
+ { "met", "Mato" },
+ { "meu", "Motu" },
+ { "mev", "Mano" },
+ { "mew", "Maaka" },
+ { "mey", "Hassaniyya" },
+ { "mez", "Menominee" },
+ { "mfa", "Pattani Malay" },
+ { "mfb", "Bangka" },
+ { "mfc", "Mba" },
+ { "mfd", "Mendankwe-Nkwen" },
+ { "mfe", "Morisyen" },
+ { "mff", "Naki" },
+ { "mfg", "Mogofin" },
+ { "mfh", "Matal" },
+ { "mfi", "Wandala" },
+ { "mfj", "Mefele" },
+ { "mfk", "North Mofu" },
+ { "mfl", "Putai" },
+ { "mfm", "Marghi South" },
+ { "mfn", "Cross River Mbembe" },
+ { "mfo", "Mbe" },
+ { "mfp", "Makassar Malay" },
+ { "mfq", "Moba" },
+ { "mfr", "Marithiel" },
+ { "mfs", "Mexican Sign Language" },
+ { "mft", "Mokerang" },
+ { "mfu", "Mbwela" },
+ { "mfv", "Mandjak" },
+ { "mfw", "Mulaha" },
+ { "mfx", "Melo" },
+ { "mfy", "Mayo" },
+ { "mfz", "Mabaan" },
+ { "mga", "Middle Irish (900-1200)" },
+ { "mgb", "Mararit" },
+ { "mgc", "Morokodo" },
+ { "mgd", "Moru" },
+ { "mge", "Mango" },
+ { "mgf", "Maklew" },
+ { "mgg", "Mpumpong" },
+ { "mgh", "Makhuwa-Meetto" },
+ { "mgi", "Lijili" },
+ { "mgj", "Abureni" },
+ { "mgk", "Mawes" },
+ { "mgl", "Maleu-Kilenge" },
+ { "mgm", "Mambae" },
+ { "mgn", "Mbangi" },
+ { "mgo", "Meta'" },
+ { "mgp", "Eastern Magar" },
+ { "mgq", "Malila" },
+ { "mgr", "Mambwe-Lungu" },
+ { "mgs", "Manda (Tanzania)" },
+ { "mgt", "Mongol" },
+ { "mgu", "Mailu" },
+ { "mgv", "Matengo" },
+ { "mgw", "Matumbi" },
+ { "mgy", "Mbunga" },
+ { "mgz", "Mbugwe" },
+ { "mha", "Manda (India)" },
+ { "mhb", "Mahongwe" },
+ { "mhc", "Mocho" },
+ { "mhd", "Mbugu" },
+ { "mhe", "Besisi" },
+ { "mhf", "Mamaa" },
+ { "mhg", "Margu" },
+ { "mhh", "Maskoy Pidgin" },
+ { "mhi", "Ma'di" },
+ { "mhj", "Mogholi" },
+ { "mhk", "Mungaka" },
+ { "mhl", "Mauwake" },
+ { "mhm", "Makhuwa-Moniga" },
+ { "mhn", "Mócheno" },
+ { "mho", "Mashi (Zambia)" },
+ { "mhp", "Balinese Malay" },
+ { "mhq", "Mandan" },
+ { "mhr", "Eastern Mari" },
+ { "mhs", "Buru (Indonesia)" },
+ { "mht", "Mandahuaca" },
+ { "mhu", "Digaro-Mishmi" },
+ { "mhw", "Mbukushu" },
+ { "mhx", "Maru" },
+ { "mhy", "Ma'anyan" },
+ { "mhz", "Mor (Mor Islands)" },
+ { "mia", "Miami" },
+ { "mib", "Atatláhuca Mixtec" },
+ { "mic", "Mi'kmaq" },
+ { "mid", "Mandaic" },
+ { "mie", "Ocotepec Mixtec" },
+ { "mif", "Mofu-Gudur" },
+ { "mig", "San Miguel El Grande Mixtec" },
+ { "mih", "Chayuco Mixtec" },
+ { "mii", "Chigmecatitlán Mixtec" },
+ { "mij", "Abar" },
+ { "mik", "Mikasuki" },
+ { "mil", "Peñoles Mixtec" },
+ { "mim", "Alacatlatzala Mixtec" },
+ { "min", "Minangkabau" },
+ { "mio", "Pinotepa Nacional Mixtec" },
+ { "mip", "Apasco-Apoala Mixtec" },
+ { "miq", "Mískito" },
+ { "mir", "Isthmus Mixe" },
+ { "mis", "Uncoded languages" },
+ { "mit", "Southern Puebla Mixtec" },
+ { "miu", "Cacaloxtepec Mixtec" },
+ { "miw", "Akoye" },
+ { "mix", "Mixtepec Mixtec" },
+ { "miy", "Ayutla Mixtec" },
+ { "miz", "Coatzospan Mixtec" },
+ { "mjc", "San Juan Colorado Mixtec" },
+ { "mjd", "Northwest Maidu" },
+ { "mje", "Muskum" },
+ { "mjg", "Tu" },
+ { "mjh", "Mwera (Nyasa)" },
+ { "mji", "Kim Mun" },
+ { "mjj", "Mawak" },
+ { "mjk", "Matukar" },
+ { "mjl", "Mandeali" },
+ { "mjm", "Medebur" },
+ { "mjn", "Ma (Papua New Guinea)" },
+ { "mjo", "Malankuravan" },
+ { "mjp", "Malapandaram" },
+ { "mjq", "Malaryan" },
+ { "mjr", "Malavedan" },
+ { "mjs", "Miship" },
+ { "mjt", "Sauria Paharia" },
+ { "mju", "Manna-Dora" },
+ { "mjv", "Mannan" },
+ { "mjw", "Karbi" },
+ { "mjx", "Mahali" },
+ { "mjy", "Mahican" },
+ { "mjz", "Majhi" },
+ { "mka", "Mbre" },
+ { "mkb", "Mal Paharia" },
+ { "mkc", "Siliput" },
+ { "mkd", "Macedonian" },
+ { "mke", "Mawchi" },
+ { "mkf", "Miya" },
+ { "mkg", "Mak (China)" },
+ { "mki", "Dhatki" },
+ { "mkj", "Mokilese" },
+ { "mkk", "Byep" },
+ { "mkl", "Mokole" },
+ { "mkm", "Moklen" },
+ { "mkn", "Kupang Malay" },
+ { "mko", "Mingang Doso" },
+ { "mkp", "Moikodi" },
+ { "mkq", "Bay Miwok" },
+ { "mkr", "Malas" },
+ { "mks", "Silacayoapan Mixtec" },
+ { "mkt", "Vamale" },
+ { "mku", "Konyanka Maninka" },
+ { "mkv", "Mafea" },
+ { "mkw", "Kituba (Congo)" },
+ { "mkx", "Kinamiging Manobo" },
+ { "mky", "East Makian" },
+ { "mkz", "Makasae" },
+ { "mla", "Malo" },
+ { "mlb", "Mbule" },
+ { "mlc", "Cao Lan" },
+ { "mle", "Manambu" },
+ { "mlf", "Mal" },
+ { "mlg", "Malagasy" },
+ { "mlh", "Mape" },
+ { "mli", "Malimpung" },
+ { "mlj", "Miltu" },
+ { "mlk", "Ilwana" },
+ { "mll", "Malua Bay" },
+ { "mlm", "Mulam" },
+ { "mln", "Malango" },
+ { "mlo", "Mlomp" },
+ { "mlp", "Bargam" },
+ { "mlq", "Western Maninkakan" },
+ { "mlr", "Vame" },
+ { "mls", "Masalit" },
+ { "mlt", "Maltese" },
+ { "mlu", "To'abaita" },
+ { "mlv", "Motlav" },
+ { "mlw", "Moloko" },
+ { "mlx", "Malfaxal" },
+ { "mlz", "Malaynon" },
+ { "mma", "Mama" },
+ { "mmb", "Momina" },
+ { "mmc", "Michoacán Mazahua" },
+ { "mmd", "Maonan" },
+ { "mme", "Mae" },
+ { "mmf", "Mundat" },
+ { "mmg", "North Ambrym" },
+ { "mmh", "Mehináku" },
+ { "mmi", "Musar" },
+ { "mmj", "Majhwar" },
+ { "mmk", "Mukha-Dora" },
+ { "mml", "Man Met" },
+ { "mmm", "Maii" },
+ { "mmn", "Mamanwa" },
+ { "mmo", "Mangga Buang" },
+ { "mmp", "Siawi" },
+ { "mmq", "Musak" },
+ { "mmr", "Western Xiangxi Miao" },
+ { "mmt", "Malalamai" },
+ { "mmu", "Mmaala" },
+ { "mmv", "Miriti" },
+ { "mmw", "Emae" },
+ { "mmx", "Madak" },
+ { "mmy", "Migaama" },
+ { "mmz", "Mabaale" },
+ { "mna", "Mbula" },
+ { "mnb", "Muna" },
+ { "mnc", "Manchu" },
+ { "mnd", "Mondé" },
+ { "mne", "Naba" },
+ { "mnf", "Mundani" },
+ { "mng", "Eastern Mnong" },
+ { "mnh", "Mono (Democratic Republic of Congo)" },
+ { "mni", "Manipuri" },
+ { "mnj", "Munji" },
+ { "mnk", "Mandinka" },
+ { "mnl", "Tiale" },
+ { "mnm", "Mapena" },
+ { "mnn", "Southern Mnong" },
+ { "mnp", "Min Bei Chinese" },
+ { "mnq", "Minriq" },
+ { "mnr", "Mono (USA)" },
+ { "mns", "Mansi" },
+ { "mnu", "Mer" },
+ { "mnv", "Rennell-Bellona" },
+ { "mnw", "Mon" },
+ { "mnx", "Manikion" },
+ { "mny", "Manyawa" },
+ { "mnz", "Moni" },
+ { "moa", "Mwan" },
+ { "moc", "Mocoví" },
+ { "mod", "Mobilian" },
+ { "moe", "Montagnais" },
+ { "mog", "Mongondow" },
+ { "moh", "Mohawk" },
+ { "moi", "Mboi" },
+ { "moj", "Monzombo" },
+ { "mok", "Morori" },
+ { "mom", "Mangue" },
+ { "mon", "Mongolian" },
+ { "moo", "Monom" },
+ { "mop", "Mopán Maya" },
+ { "moq", "Mor (Bomberai Peninsula)" },
+ { "mor", "Moro" },
+ { "mos", "Mossi" },
+ { "mot", "Barí" },
+ { "mou", "Mogum" },
+ { "mov", "Mohave" },
+ { "mow", "Moi (Congo)" },
+ { "mox", "Molima" },
+ { "moy", "Shekkacho" },
+ { "moz", "Mukulu" },
+ { "mpa", "Mpoto" },
+ { "mpb", "Mullukmulluk" },
+ { "mpc", "Mangarayi" },
+ { "mpd", "Machinere" },
+ { "mpe", "Majang" },
+ { "mpg", "Marba" },
+ { "mph", "Maung" },
+ { "mpi", "Mpade" },
+ { "mpj", "Martu Wangka" },
+ { "mpk", "Mbara (Chad)" },
+ { "mpl", "Middle Watut" },
+ { "mpm", "Yosondúa Mixtec" },
+ { "mpn", "Mindiri" },
+ { "mpo", "Miu" },
+ { "mpp", "Migabac" },
+ { "mpq", "Matís" },
+ { "mpr", "Vangunu" },
+ { "mps", "Dadibi" },
+ { "mpt", "Mian" },
+ { "mpu", "Makuráp" },
+ { "mpv", "Mungkip" },
+ { "mpw", "Mapidian" },
+ { "mpx", "Misima-Panaeati" },
+ { "mpy", "Mapia" },
+ { "mpz", "Mpi" },
+ { "mqa", "Maba (Indonesia)" },
+ { "mqb", "Mbuko" },
+ { "mqc", "Mangole" },
+ { "mqe", "Matepi" },
+ { "mqf", "Momuna" },
+ { "mqg", "Kota Bangun Kutai Malay" },
+ { "mqh", "Tlazoyaltepec Mixtec" },
+ { "mqi", "Mariri" },
+ { "mqj", "Mamasa" },
+ { "mqk", "Rajah Kabunsuwan Manobo" },
+ { "mql", "Mbelime" },
+ { "mqm", "South Marquesan" },
+ { "mqn", "Moronene" },
+ { "mqo", "Modole" },
+ { "mqp", "Manipa" },
+ { "mqq", "Minokok" },
+ { "mqr", "Mander" },
+ { "mqs", "West Makian" },
+ { "mqt", "Mok" },
+ { "mqu", "Mandari" },
+ { "mqv", "Mosimo" },
+ { "mqw", "Murupi" },
+ { "mqx", "Mamuju" },
+ { "mqy", "Manggarai" },
+ { "mqz", "Pano" },
+ { "mra", "Mlabri" },
+ { "mrb", "Marino" },
+ { "mrc", "Maricopa" },
+ { "mrd", "Western Magar" },
+ { "mre", "Martha's Vineyard Sign Language" },
+ { "mrf", "Elseng" },
+ { "mrg", "Mising" },
+ { "mrh", "Mara Chin" },
+ { "mri", "Maori" },
+ { "mrj", "Western Mari" },
+ { "mrk", "Hmwaveke" },
+ { "mrl", "Mortlockese" },
+ { "mrm", "Merlav" },
+ { "mrn", "Cheke Holo" },
+ { "mro", "Mru" },
+ { "mrp", "Morouas" },
+ { "mrq", "North Marquesan" },
+ { "mrr", "Maria (India)" },
+ { "mrs", "Maragus" },
+ { "mrt", "Marghi Central" },
+ { "mru", "Mono (Cameroon)" },
+ { "mrv", "Mangareva" },
+ { "mrw", "Maranao" },
+ { "mrx", "Maremgi" },
+ { "mry", "Mandaya" },
+ { "mrz", "Marind" },
+ { "msa", "Malay (macrolanguage)" },
+ { "msb", "Masbatenyo" },
+ { "msc", "Sankaran Maninka" },
+ { "msd", "Yucatec Maya Sign Language" },
+ { "mse", "Musey" },
+ { "msf", "Mekwei" },
+ { "msg", "Moraid" },
+ { "msh", "Masikoro Malagasy" },
+ { "msi", "Sabah Malay" },
+ { "msj", "Ma (Democratic Republic of Congo)" },
+ { "msk", "Mansaka" },
+ { "msl", "Molof" },
+ { "msm", "Agusan Manobo" },
+ { "msn", "Vurës" },
+ { "mso", "Mombum" },
+ { "msp", "Maritsauá" },
+ { "msq", "Caac" },
+ { "msr", "Mongolian Sign Language" },
+ { "mss", "West Masela" },
+ { "msu", "Musom" },
+ { "msv", "Maslam" },
+ { "msw", "Mansoanka" },
+ { "msx", "Moresada" },
+ { "msy", "Aruamu" },
+ { "msz", "Momare" },
+ { "mta", "Cotabato Manobo" },
+ { "mtb", "Anyin Morofo" },
+ { "mtc", "Munit" },
+ { "mtd", "Mualang" },
+ { "mte", "Mono (Solomon Islands)" },
+ { "mtf", "Murik (Papua New Guinea)" },
+ { "mtg", "Una" },
+ { "mth", "Munggui" },
+ { "mti", "Maiwa (Papua New Guinea)" },
+ { "mtj", "Moskona" },
+ { "mtk", "Mbe'" },
+ { "mtl", "Montol" },
+ { "mtm", "Mator" },
+ { "mtn", "Matagalpa" },
+ { "mto", "Totontepec Mixe" },
+ { "mtp", "Wichí Lhamtés Nocten" },
+ { "mtq", "Muong" },
+ { "mtr", "Mewari" },
+ { "mts", "Yora" },
+ { "mtt", "Mota" },
+ { "mtu", "Tututepec Mixtec" },
+ { "mtv", "Asaro'o" },
+ { "mtw", "Southern Binukidnon" },
+ { "mtx", "Tidaá Mixtec" },
+ { "mty", "Nabi" },
+ { "mua", "Mundang" },
+ { "mub", "Mubi" },
+ { "muc", "Ajumbu" },
+ { "mud", "Mednyj Aleut" },
+ { "mue", "Media Lengua" },
+ { "mug", "Musgu" },
+ { "muh", "Mündü" },
+ { "mui", "Musi" },
+ { "muj", "Mabire" },
+ { "muk", "Mugom" },
+ { "mul", "Multiple languages" },
+ { "mum", "Maiwala" },
+ { "muo", "Nyong" },
+ { "mup", "Malvi" },
+ { "muq", "Eastern Xiangxi Miao" },
+ { "mur", "Murle" },
+ { "mus", "Creek" },
+ { "mut", "Western Muria" },
+ { "muu", "Yaaku" },
+ { "muv", "Muthuvan" },
+ { "mux", "Bo-Ung" },
+ { "muy", "Muyang" },
+ { "muz", "Mursi" },
+ { "mva", "Manam" },
+ { "mvb", "Mattole" },
+ { "mvd", "Mamboru" },
+ { "mve", "Marwari (Pakistan)" },
+ { "mvf", "Peripheral Mongolian" },
+ { "mvg", "Yucuañe Mixtec" },
+ { "mvh", "Mulgi" },
+ { "mvi", "Miyako" },
+ { "mvk", "Mekmek" },
+ { "mvl", "Mbara (Australia)" },
+ { "mvm", "Muya" },
+ { "mvn", "Minaveha" },
+ { "mvo", "Marovo" },
+ { "mvp", "Duri" },
+ { "mvq", "Moere" },
+ { "mvr", "Marau" },
+ { "mvs", "Massep" },
+ { "mvt", "Mpotovoro" },
+ { "mvu", "Marfa" },
+ { "mvv", "Tagal Murut" },
+ { "mvw", "Machinga" },
+ { "mvx", "Meoswar" },
+ { "mvy", "Indus Kohistani" },
+ { "mvz", "Mesqan" },
+ { "mwa", "Mwatebu" },
+ { "mwb", "Juwal" },
+ { "mwc", "Are" },
+ { "mwe", "Mwera (Chimwera)" },
+ { "mwf", "Murrinh-Patha" },
+ { "mwg", "Aiklep" },
+ { "mwh", "Mouk-Aria" },
+ { "mwi", "Labo" },
+ { "mwj", "Maligo" },
+ { "mwk", "Kita Maninkakan" },
+ { "mwl", "Mirandese" },
+ { "mwm", "Sar" },
+ { "mwn", "Nyamwanga" },
+ { "mwo", "Central Maewo" },
+ { "mwp", "Kala Lagaw Ya" },
+ { "mwq", "Mün Chin" },
+ { "mwr", "Marwari" },
+ { "mws", "Mwimbi-Muthambi" },
+ { "mwt", "Moken" },
+ { "mwu", "Mittu" },
+ { "mwv", "Mentawai" },
+ { "mww", "Hmong Daw" },
+ { "mwx", "Mediak" },
+ { "mwy", "Mosiro" },
+ { "mwz", "Moingi" },
+ { "mxa", "Northwest Oaxaca Mixtec" },
+ { "mxb", "Tezoatlán Mixtec" },
+ { "mxc", "Manyika" },
+ { "mxd", "Modang" },
+ { "mxe", "Mele-Fila" },
+ { "mxf", "Malgbe" },
+ { "mxg", "Mbangala" },
+ { "mxh", "Mvuba" },
+ { "mxi", "Mozarabic" },
+ { "mxj", "Miju-Mishmi" },
+ { "mxk", "Monumbo" },
+ { "mxl", "Maxi Gbe" },
+ { "mxm", "Meramera" },
+ { "mxn", "Moi (Indonesia)" },
+ { "mxo", "Mbowe" },
+ { "mxp", "Tlahuitoltepec Mixe" },
+ { "mxq", "Juquila Mixe" },
+ { "mxr", "Murik (Malaysia)" },
+ { "mxs", "Huitepec Mixtec" },
+ { "mxt", "Jamiltepec Mixtec" },
+ { "mxu", "Mada (Cameroon)" },
+ { "mxv", "Metlatónoc Mixtec" },
+ { "mxw", "Namo" },
+ { "mxx", "Mahou" },
+ { "mxy", "Southeastern Nochixtlán Mixtec" },
+ { "mxz", "Central Masela" },
+ { "mya", "Burmese" },
+ { "myb", "Mbay" },
+ { "myc", "Mayeka" },
+ { "myd", "Maramba" },
+ { "mye", "Myene" },
+ { "myf", "Bambassi" },
+ { "myg", "Manta" },
+ { "myh", "Makah" },
+ { "myi", "Mina (India)" },
+ { "myj", "Mangayat" },
+ { "myk", "Mamara Senoufo" },
+ { "myl", "Moma" },
+ { "mym", "Me'en" },
+ { "myo", "Anfillo" },
+ { "myp", "Pirahã" },
+ { "myr", "Muniche" },
+ { "mys", "Mesmes" },
+ { "myu", "Mundurukú" },
+ { "myv", "Erzya" },
+ { "myw", "Muyuw" },
+ { "myx", "Masaaba" },
+ { "myy", "Macuna" },
+ { "myz", "Classical Mandaic" },
+ { "mza", "Santa María Zacatepec Mixtec" },
+ { "mzb", "Tumzabt" },
+ { "mzc", "Madagascar Sign Language" },
+ { "mzd", "Malimba" },
+ { "mze", "Morawa" },
+ { "mzg", "Monastic Sign Language" },
+ { "mzh", "Wichí Lhamtés Güisnay" },
+ { "mzi", "Ixcatlán Mazatec" },
+ { "mzj", "Manya" },
+ { "mzk", "Nigeria Mambila" },
+ { "mzl", "Mazatlán Mixe" },
+ { "mzm", "Mumuye" },
+ { "mzn", "Mazanderani" },
+ { "mzo", "Matipuhy" },
+ { "mzp", "Movima" },
+ { "mzq", "Mori Atas" },
+ { "mzr", "Marúbo" },
+ { "mzs", "Macanese" },
+ { "mzt", "Mintil" },
+ { "mzu", "Inapang" },
+ { "mzv", "Manza" },
+ { "mzw", "Deg" },
+ { "mzx", "Mawayana" },
+ { "mzy", "Mozambican Sign Language" },
+ { "mzz", "Maiadomu" },
+ { "naa", "Namla" },
+ { "nab", "Southern Nambikuára" },
+ { "nac", "Narak" },
+ { "nad", "Nijadali" },
+ { "nae", "Naka'ela" },
+ { "naf", "Nabak" },
+ { "nag", "Naga Pidgin" },
+ { "naj", "Nalu" },
+ { "nak", "Nakanai" },
+ { "nal", "Nalik" },
+ { "nam", "Ngan'gityemerri" },
+ { "nan", "Min Nan Chinese" },
+ { "nao", "Naaba" },
+ { "nap", "Neapolitan" },
+ { "naq", "Nama (Namibia)" },
+ { "nar", "Iguta" },
+ { "nas", "Naasioi" },
+ { "nat", "Hungworo" },
+ { "nau", "Nauru" },
+ { "nav", "Navajo" },
+ { "naw", "Nawuri" },
+ { "nax", "Nakwi" },
+ { "nay", "Narrinyeri" },
+ { "naz", "Coatepec Nahuatl" },
+ { "nba", "Nyemba" },
+ { "nbb", "Ndoe" },
+ { "nbc", "Chang Naga" },
+ { "nbd", "Ngbinda" },
+ { "nbe", "Konyak Naga" },
+ { "nbg", "Nagarchal" },
+ { "nbh", "Ngamo" },
+ { "nbi", "Mao Naga" },
+ { "nbj", "Ngarinman" },
+ { "nbk", "Nake" },
+ { "nbl", "South Ndebele" },
+ { "nbm", "Ngbaka Ma'bo" },
+ { "nbn", "Kuri" },
+ { "nbo", "Nkukoli" },
+ { "nbp", "Nnam" },
+ { "nbq", "Nggem" },
+ { "nbr", "Numana-Nunku-Gbantu-Numbu" },
+ { "nbs", "Namibian Sign Language" },
+ { "nbt", "Na" },
+ { "nbu", "Rongmei Naga" },
+ { "nbv", "Ngamambo" },
+ { "nbw", "Southern Ngbandi" },
+ { "nby", "Ningera" },
+ { "nca", "Iyo" },
+ { "ncb", "Central Nicobarese" },
+ { "ncc", "Ponam" },
+ { "ncd", "Nachering" },
+ { "nce", "Yale" },
+ { "ncf", "Notsi" },
+ { "ncg", "Nisga'a" },
+ { "nch", "Central Huasteca Nahuatl" },
+ { "nci", "Classical Nahuatl" },
+ { "ncj", "Northern Puebla Nahuatl" },
+ { "nck", "Nakara" },
+ { "ncl", "Michoacán Nahuatl" },
+ { "ncm", "Nambo" },
+ { "ncn", "Nauna" },
+ { "nco", "Sibe" },
+ { "ncp", "Ndaktup" },
+ { "ncr", "Ncane" },
+ { "ncs", "Nicaraguan Sign Language" },
+ { "nct", "Chothe Naga" },
+ { "ncu", "Chumburung" },
+ { "ncx", "Central Puebla Nahuatl" },
+ { "ncz", "Natchez" },
+ { "nda", "Ndasa" },
+ { "ndb", "Kenswei Nsei" },
+ { "ndc", "Ndau" },
+ { "ndd", "Nde-Nsele-Nta" },
+ { "nde", "North Ndebele" },
+ { "ndf", "Nadruvian" },
+ { "ndg", "Ndengereko" },
+ { "ndh", "Ndali" },
+ { "ndi", "Samba Leko" },
+ { "ndj", "Ndamba" },
+ { "ndk", "Ndaka" },
+ { "ndl", "Ndolo" },
+ { "ndm", "Ndam" },
+ { "ndn", "Ngundi" },
+ { "ndo", "Ndonga" },
+ { "ndp", "Ndo" },
+ { "ndq", "Ndombe" },
+ { "ndr", "Ndoola" },
+ { "nds", "Low German" },
+ { "ndt", "Ndunga" },
+ { "ndu", "Dugun" },
+ { "ndv", "Ndut" },
+ { "ndw", "Ndobo" },
+ { "ndx", "Nduga" },
+ { "ndy", "Lutos" },
+ { "ndz", "Ndogo" },
+ { "nea", "Eastern Ngad'a" },
+ { "neb", "Toura (Côte d'Ivoire)" },
+ { "nec", "Nedebang" },
+ { "ned", "Nde-Gbite" },
+ { "nee", "Nêlêmwa-Nixumwak" },
+ { "nef", "Nefamese" },
+ { "neg", "Negidal" },
+ { "neh", "Nyenkha" },
+ { "nei", "Neo-Hittite" },
+ { "nej", "Neko" },
+ { "nek", "Neku" },
+ { "nem", "Nemi" },
+ { "nen", "Nengone" },
+ { "neo", "Ná-Meo" },
+ { "nep", "Nepali (macrolanguage)" },
+ { "neq", "North Central Mixe" },
+ { "ner", "Yahadian" },
+ { "nes", "Bhoti Kinnauri" },
+ { "net", "Nete" },
+ { "neu", "Neo" },
+ { "nev", "Nyaheun" },
+ { "new", "Newari" },
+ { "nex", "Neme" },
+ { "ney", "Neyo" },
+ { "nez", "Nez Perce" },
+ { "nfa", "Dhao" },
+ { "nfd", "Ahwai" },
+ { "nfl", "Ayiwo" },
+ { "nfr", "Nafaanra" },
+ { "nfu", "Mfumte" },
+ { "nga", "Ngbaka" },
+ { "ngb", "Northern Ngbandi" },
+ { "ngc", "Ngombe (Democratic Republic of Congo)" },
+ { "ngd", "Ngando (Central African Republic)" },
+ { "nge", "Ngemba" },
+ { "ngg", "Ngbaka Manza" },
+ { "ngh", "Nu" },
+ { "ngi", "Ngizim" },
+ { "ngj", "Ngie" },
+ { "ngk", "Dalabon" },
+ { "ngl", "Lomwe" },
+ { "ngm", "Ngatik Men's Creole" },
+ { "ngn", "Ngwo" },
+ { "ngo", "Ngoni" },
+ { "ngp", "Ngulu" },
+ { "ngq", "Ngurimi" },
+ { "ngr", "Engdewu" },
+ { "ngs", "Gvoko" },
+ { "ngt", "Ngeq" },
+ { "ngu", "Guerrero Nahuatl" },
+ { "ngv", "Nagumi" },
+ { "ngw", "Ngwaba" },
+ { "ngx", "Nggwahyi" },
+ { "ngy", "Tibea" },
+ { "ngz", "Ngungwel" },
+ { "nha", "Nhanda" },
+ { "nhb", "Beng" },
+ { "nhc", "Tabasco Nahuatl" },
+ { "nhd", "Chiripá" },
+ { "nhe", "Eastern Huasteca Nahuatl" },
+ { "nhf", "Nhuwala" },
+ { "nhg", "Tetelcingo Nahuatl" },
+ { "nhh", "Nahari" },
+ { "nhi", "Zacatlán-Ahuacatlán-Tepetzintla Nahuatl" },
+ { "nhk", "Isthmus-Cosoleacaque Nahuatl" },
+ { "nhm", "Morelos Nahuatl" },
+ { "nhn", "Central Nahuatl" },
+ { "nho", "Takuu" },
+ { "nhp", "Isthmus-Pajapan Nahuatl" },
+ { "nhq", "Huaxcaleca Nahuatl" },
+ { "nhr", "Naro" },
+ { "nht", "Ometepec Nahuatl" },
+ { "nhu", "Noone" },
+ { "nhv", "Temascaltepec Nahuatl" },
+ { "nhw", "Western Huasteca Nahuatl" },
+ { "nhx", "Isthmus-Mecayapan Nahuatl" },
+ { "nhy", "Northern Oaxaca Nahuatl" },
+ { "nhz", "Santa María La Alta Nahuatl" },
+ { "nia", "Nias" },
+ { "nib", "Nakame" },
+ { "nid", "Ngandi" },
+ { "nie", "Niellim" },
+ { "nif", "Nek" },
+ { "nig", "Ngalakan" },
+ { "nih", "Nyiha (Tanzania)" },
+ { "nii", "Nii" },
+ { "nij", "Ngaju" },
+ { "nik", "Southern Nicobarese" },
+ { "nil", "Nila" },
+ { "nim", "Nilamba" },
+ { "nin", "Ninzo" },
+ { "nio", "Nganasan" },
+ { "niq", "Nandi" },
+ { "nir", "Nimboran" },
+ { "nis", "Nimi" },
+ { "nit", "Southeastern Kolami" },
+ { "niu", "Niuean" },
+ { "niv", "Gilyak" },
+ { "niw", "Nimo" },
+ { "nix", "Hema" },
+ { "niy", "Ngiti" },
+ { "niz", "Ningil" },
+ { "nja", "Nzanyi" },
+ { "njb", "Nocte Naga" },
+ { "njd", "Ndonde Hamba" },
+ { "njh", "Lotha Naga" },
+ { "nji", "Gudanji" },
+ { "njj", "Njen" },
+ { "njl", "Njalgulgule" },
+ { "njm", "Angami Naga" },
+ { "njn", "Liangmai Naga" },
+ { "njo", "Ao Naga" },
+ { "njr", "Njerep" },
+ { "njs", "Nisa" },
+ { "njt", "Ndyuka-Trio Pidgin" },
+ { "nju", "Ngadjunmaya" },
+ { "njx", "Kunyi" },
+ { "njy", "Njyem" },
+ { "njz", "Nyishi" },
+ { "nka", "Nkoya" },
+ { "nkb", "Khoibu Naga" },
+ { "nkc", "Nkongho" },
+ { "nkd", "Koireng" },
+ { "nke", "Duke" },
+ { "nkf", "Inpui Naga" },
+ { "nkg", "Nekgini" },
+ { "nkh", "Khezha Naga" },
+ { "nki", "Thangal Naga" },
+ { "nkj", "Nakai" },
+ { "nkk", "Nokuku" },
+ { "nkm", "Namat" },
+ { "nkn", "Nkangala" },
+ { "nko", "Nkonya" },
+ { "nkp", "Niuatoputapu" },
+ { "nkq", "Nkami" },
+ { "nkr", "Nukuoro" },
+ { "nks", "North Asmat" },
+ { "nkt", "Nyika (Tanzania)" },
+ { "nku", "Bouna Kulango" },
+ { "nkv", "Nyika (Malawi and Zambia)" },
+ { "nkw", "Nkutu" },
+ { "nkx", "Nkoroo" },
+ { "nkz", "Nkari" },
+ { "nla", "Ngombale" },
+ { "nlc", "Nalca" },
+ { "nld", "Dutch" },
+ { "nle", "East Nyala" },
+ { "nlg", "Gela" },
+ { "nli", "Grangali" },
+ { "nlj", "Nyali" },
+ { "nlk", "Ninia Yali" },
+ { "nll", "Nihali" },
+ { "nlo", "Ngul" },
+ { "nlq", "Lao Naga" },
+ { "nlu", "Nchumbulu" },
+ { "nlv", "Orizaba Nahuatl" },
+ { "nlw", "Walangama" },
+ { "nlx", "Nahali" },
+ { "nly", "Nyamal" },
+ { "nlz", "Nalögo" },
+ { "nma", "Maram Naga" },
+ { "nmb", "Big Nambas" },
+ { "nmc", "Ngam" },
+ { "nmd", "Ndumu" },
+ { "nme", "Mzieme Naga" },
+ { "nmf", "Tangkhul Naga (India)" },
+ { "nmg", "Kwasio" },
+ { "nmh", "Monsang Naga" },
+ { "nmi", "Nyam" },
+ { "nmj", "Ngombe (Central African Republic)" },
+ { "nmk", "Namakura" },
+ { "nml", "Ndemli" },
+ { "nmm", "Manangba" },
+ { "nmn", "!Xóõ" },
+ { "nmo", "Moyon Naga" },
+ { "nmp", "Nimanbur" },
+ { "nmq", "Nambya" },
+ { "nmr", "Nimbari" },
+ { "nms", "Letemboi" },
+ { "nmt", "Namonuito" },
+ { "nmu", "Northeast Maidu" },
+ { "nmv", "Ngamini" },
+ { "nmw", "Nimoa" },
+ { "nmx", "Nama (Papua New Guinea)" },
+ { "nmy", "Namuyi" },
+ { "nmz", "Nawdm" },
+ { "nna", "Nyangumarta" },
+ { "nnb", "Nande" },
+ { "nnc", "Nancere" },
+ { "nnd", "West Ambae" },
+ { "nne", "Ngandyera" },
+ { "nnf", "Ngaing" },
+ { "nng", "Maring Naga" },
+ { "nnh", "Ngiemboon" },
+ { "nni", "North Nuaulu" },
+ { "nnj", "Nyangatom" },
+ { "nnk", "Nankina" },
+ { "nnl", "Northern Rengma Naga" },
+ { "nnm", "Namia" },
+ { "nnn", "Ngete" },
+ { "nno", "Norwegian Nynorsk" },
+ { "nnp", "Wancho Naga" },
+ { "nnq", "Ngindo" },
+ { "nnr", "Narungga" },
+ { "nns", "Ningye" },
+ { "nnt", "Nanticoke" },
+ { "nnu", "Dwang" },
+ { "nnv", "Nugunu (Australia)" },
+ { "nnw", "Southern Nuni" },
+ { "nnx", "Ngong" },
+ { "nny", "Nyangga" },
+ { "nnz", "Nda'nda'" },
+ { "noa", "Woun Meu" },
+ { "nob", "Norwegian Bokmål" },
+ { "noc", "Nuk" },
+ { "nod", "Northern Thai" },
+ { "noe", "Nimadi" },
+ { "nof", "Nomane" },
+ { "nog", "Nogai" },
+ { "noh", "Nomu" },
+ { "noi", "Noiri" },
+ { "noj", "Nonuya" },
+ { "nok", "Nooksack" },
+ { "nol", "Nomlaki" },
+ { "nom", "Nocamán" },
+ { "non", "Old Norse" },
+ { "nop", "Numanggang" },
+ { "noq", "Ngongo" },
+ { "nor", "Norwegian" },
+ { "nos", "Eastern Nisu" },
+ { "not", "Nomatsiguenga" },
+ { "nou", "Ewage-Notu" },
+ { "nov", "Novial" },
+ { "now", "Nyambo" },
+ { "noy", "Noy" },
+ { "noz", "Nayi" },
+ { "npa", "Nar Phu" },
+ { "npb", "Nupbikha" },
+ { "npg", "Ponyo-Gongwang Naga" },
+ { "nph", "Phom Naga" },
+ { "npi", "Nepali (individual language)" },
+ { "npl", "Southeastern Puebla Nahuatl" },
+ { "npn", "Mondropolon" },
+ { "npo", "Pochuri Naga" },
+ { "nps", "Nipsan" },
+ { "npu", "Puimei Naga" },
+ { "npy", "Napu" },
+ { "nqg", "Southern Nago" },
+ { "nqk", "Kura Ede Nago" },
+ { "nqm", "Ndom" },
+ { "nqn", "Nen" },
+ { "nqo", "N'Ko" },
+ { "nqq", "Kyan-Karyaw Naga" },
+ { "nqy", "Akyaung Ari Naga" },
+ { "nra", "Ngom" },
+ { "nrb", "Nara" },
+ { "nrc", "Noric" },
+ { "nre", "Southern Rengma Naga" },
+ { "nrg", "Narango" },
+ { "nri", "Chokri Naga" },
+ { "nrk", "Ngarla" },
+ { "nrl", "Ngarluma" },
+ { "nrm", "Narom" },
+ { "nrn", "Norn" },
+ { "nrp", "North Picene" },
+ { "nrr", "Norra" },
+ { "nrt", "Northern Kalapuya" },
+ { "nru", "Narua" },
+ { "nrx", "Ngurmbur" },
+ { "nrz", "Lala" },
+ { "nsa", "Sangtam Naga" },
+ { "nsc", "Nshi" },
+ { "nsd", "Southern Nisu" },
+ { "nse", "Nsenga" },
+ { "nsf", "Northwestern Nisu" },
+ { "nsg", "Ngasa" },
+ { "nsh", "Ngoshie" },
+ { "nsi", "Nigerian Sign Language" },
+ { "nsk", "Naskapi" },
+ { "nsl", "Norwegian Sign Language" },
+ { "nsm", "Sumi Naga" },
+ { "nsn", "Nehan" },
+ { "nso", "Pedi" },
+ { "nsp", "Nepalese Sign Language" },
+ { "nsq", "Northern Sierra Miwok" },
+ { "nsr", "Maritime Sign Language" },
+ { "nss", "Nali" },
+ { "nst", "Tase Naga" },
+ { "nsu", "Sierra Negra Nahuatl" },
+ { "nsv", "Southwestern Nisu" },
+ { "nsw", "Navut" },
+ { "nsx", "Nsongo" },
+ { "nsy", "Nasal" },
+ { "nsz", "Nisenan" },
+ { "nte", "Nathembo" },
+ { "ntg", "Ngantangarra" },
+ { "nti", "Natioro" },
+ { "ntj", "Ngaanyatjarra" },
+ { "ntk", "Ikoma-Nata-Isenye" },
+ { "ntm", "Nateni" },
+ { "nto", "Ntomba" },
+ { "ntp", "Northern Tepehuan" },
+ { "ntr", "Delo" },
+ { "nts", "Natagaimas" },
+ { "ntu", "Natügu" },
+ { "ntw", "Nottoway" },
+ { "ntx", "Tangkhul Naga (Myanmar)" },
+ { "nty", "Mantsi" },
+ { "ntz", "Natanzi" },
+ { "nua", "Yuanga" },
+ { "nuc", "Nukuini" },
+ { "nud", "Ngala" },
+ { "nue", "Ngundu" },
+ { "nuf", "Nusu" },
+ { "nug", "Nungali" },
+ { "nuh", "Ndunda" },
+ { "nui", "Ngumbi" },
+ { "nuj", "Nyole" },
+ { "nuk", "Nuu-chah-nulth" },
+ { "nul", "Nusa Laut" },
+ { "num", "Niuafo'ou" },
+ { "nun", "Anong" },
+ { "nuo", "Nguôn" },
+ { "nup", "Nupe-Nupe-Tako" },
+ { "nuq", "Nukumanu" },
+ { "nur", "Nukuria" },
+ { "nus", "Nuer" },
+ { "nut", "Nung (Viet Nam)" },
+ { "nuu", "Ngbundu" },
+ { "nuv", "Northern Nuni" },
+ { "nuw", "Nguluwan" },
+ { "nux", "Mehek" },
+ { "nuy", "Nunggubuyu" },
+ { "nuz", "Tlamacazapa Nahuatl" },
+ { "nvh", "Nasarian" },
+ { "nvm", "Namiae" },
+ { "nvo", "Nyokon" },
+ { "nwa", "Nawathinehena" },
+ { "nwb", "Nyabwa" },
+ { "nwc", "Classical Newari" },
+ { "nwe", "Ngwe" },
+ { "nwg", "Ngayawung" },
+ { "nwi", "Southwest Tanna" },
+ { "nwm", "Nyamusa-Molo" },
+ { "nwo", "Nauo" },
+ { "nwr", "Nawaru" },
+ { "nwx", "Middle Newar" },
+ { "nwy", "Nottoway-Meherrin" },
+ { "nxa", "Nauete" },
+ { "nxd", "Ngando (Democratic Republic of Congo)" },
+ { "nxe", "Nage" },
+ { "nxg", "Ngad'a" },
+ { "nxi", "Nindi" },
+ { "nxk", "Koki Naga" },
+ { "nxl", "South Nuaulu" },
+ { "nxm", "Numidian" },
+ { "nxn", "Ngawun" },
+ { "nxq", "Naxi" },
+ { "nxr", "Ninggerum" },
+ { "nxu", "Narau" },
+ { "nxx", "Nafri" },
+ { "nya", "Nyanja" },
+ { "nyb", "Nyangbo" },
+ { "nyc", "Nyanga-li" },
+ { "nyd", "Nyore" },
+ { "nye", "Nyengo" },
+ { "nyf", "Giryama" },
+ { "nyg", "Nyindu" },
+ { "nyh", "Nyigina" },
+ { "nyi", "Ama (Sudan)" },
+ { "nyj", "Nyanga" },
+ { "nyk", "Nyaneka" },
+ { "nyl", "Nyeu" },
+ { "nym", "Nyamwezi" },
+ { "nyn", "Nyankole" },
+ { "nyo", "Nyoro" },
+ { "nyp", "Nyang'i" },
+ { "nyq", "Nayini" },
+ { "nyr", "Nyiha (Malawi)" },
+ { "nys", "Nyunga" },
+ { "nyt", "Nyawaygi" },
+ { "nyu", "Nyungwe" },
+ { "nyv", "Nyulnyul" },
+ { "nyw", "Nyaw" },
+ { "nyx", "Nganyaywana" },
+ { "nyy", "Nyakyusa-Ngonde" },
+ { "nza", "Tigon Mbembe" },
+ { "nzb", "Njebi" },
+ { "nzi", "Nzima" },
+ { "nzk", "Nzakara" },
+ { "nzm", "Zeme Naga" },
+ { "nzs", "New Zealand Sign Language" },
+ { "nzu", "Teke-Nzikou" },
+ { "nzy", "Nzakambay" },
+ { "nzz", "Nanga Dama Dogon" },
+ { "oaa", "Orok" },
+ { "oac", "Oroch" },
+ { "oar", "Old Aramaic (up to 700 BCE)" },
+ { "oav", "Old Avar" },
+ { "obi", "Obispeño" },
+ { "obk", "Southern Bontok" },
+ { "obl", "Oblo" },
+ { "obm", "Moabite" },
+ { "obo", "Obo Manobo" },
+ { "obr", "Old Burmese" },
+ { "obt", "Old Breton" },
+ { "obu", "Obulom" },
+ { "oca", "Ocaina" },
+ { "och", "Old Chinese" },
+ { "oci", "Occitan (post 1500)" },
+ { "oco", "Old Cornish" },
+ { "ocu", "Atzingo Matlatzinca" },
+ { "oda", "Odut" },
+ { "odk", "Od" },
+ { "odt", "Old Dutch" },
+ { "odu", "Odual" },
+ { "ofo", "Ofo" },
+ { "ofs", "Old Frisian" },
+ { "ofu", "Efutop" },
+ { "ogb", "Ogbia" },
+ { "ogc", "Ogbah" },
+ { "oge", "Old Georgian" },
+ { "ogg", "Ogbogolo" },
+ { "ogo", "Khana" },
+ { "ogu", "Ogbronuagum" },
+ { "oht", "Old Hittite" },
+ { "ohu", "Old Hungarian" },
+ { "oia", "Oirata" },
+ { "oin", "Inebu One" },
+ { "ojb", "Northwestern Ojibwa" },
+ { "ojc", "Central Ojibwa" },
+ { "ojg", "Eastern Ojibwa" },
+ { "oji", "Ojibwa" },
+ { "ojp", "Old Japanese" },
+ { "ojs", "Severn Ojibwa" },
+ { "ojv", "Ontong Java" },
+ { "ojw", "Western Ojibwa" },
+ { "oka", "Okanagan" },
+ { "okb", "Okobo" },
+ { "okd", "Okodia" },
+ { "oke", "Okpe (Southwestern Edo)" },
+ { "okg", "Koko Babangk" },
+ { "okh", "Koresh-e Rostam" },
+ { "oki", "Okiek" },
+ { "okj", "Oko-Juwoi" },
+ { "okk", "Kwamtim One" },
+ { "okl", "Old Kentish Sign Language" },
+ { "okm", "Middle Korean (10th-16th cent.)" },
+ { "okn", "Oki-No-Erabu" },
+ { "oko", "Old Korean (3rd-9th cent.)" },
+ { "okr", "Kirike" },
+ { "oks", "Oko-Eni-Osayen" },
+ { "oku", "Oku" },
+ { "okv", "Orokaiva" },
+ { "okx", "Okpe (Northwestern Edo)" },
+ { "ola", "Walungge" },
+ { "old", "Mochi" },
+ { "ole", "Olekha" },
+ { "olk", "Olkol" },
+ { "olm", "Oloma" },
+ { "olo", "Livvi" },
+ { "olr", "Olrat" },
+ { "oma", "Omaha-Ponca" },
+ { "omb", "East Ambae" },
+ { "omc", "Mochica" },
+ { "ome", "Omejes" },
+ { "omg", "Omagua" },
+ { "omi", "Omi" },
+ { "omk", "Omok" },
+ { "oml", "Ombo" },
+ { "omn", "Minoan" },
+ { "omo", "Utarmbung" },
+ { "omp", "Old Manipuri" },
+ { "omr", "Old Marathi" },
+ { "omt", "Omotik" },
+ { "omu", "Omurano" },
+ { "omw", "South Tairora" },
+ { "omx", "Old Mon" },
+ { "ona", "Ona" },
+ { "onb", "Lingao" },
+ { "one", "Oneida" },
+ { "ong", "Olo" },
+ { "oni", "Onin" },
+ { "onj", "Onjob" },
+ { "onk", "Kabore One" },
+ { "onn", "Onobasulu" },
+ { "ono", "Onondaga" },
+ { "onp", "Sartang" },
+ { "onr", "Northern One" },
+ { "ons", "Ono" },
+ { "ont", "Ontenu" },
+ { "onu", "Unua" },
+ { "onw", "Old Nubian" },
+ { "onx", "Onin Based Pidgin" },
+ { "ood", "Tohono O'odham" },
+ { "oog", "Ong" },
+ { "oon", "Önge" },
+ { "oor", "Oorlams" },
+ { "oos", "Old Ossetic" },
+ { "opa", "Okpamheri" },
+ { "opk", "Kopkaka" },
+ { "opm", "Oksapmin" },
+ { "opo", "Opao" },
+ { "opt", "Opata" },
+ { "opy", "Ofayé" },
+ { "ora", "Oroha" },
+ { "orc", "Orma" },
+ { "ore", "Orejón" },
+ { "org", "Oring" },
+ { "orh", "Oroqen" },
+ { "ori", "Oriya (macrolanguage)" },
+ { "orm", "Oromo" },
+ { "orn", "Orang Kanaq" },
+ { "oro", "Orokolo" },
+ { "orr", "Oruma" },
+ { "ors", "Orang Seletar" },
+ { "ort", "Adivasi Oriya" },
+ { "oru", "Ormuri" },
+ { "orv", "Old Russian" },
+ { "orw", "Oro Win" },
+ { "orx", "Oro" },
+ { "ory", "Oriya (individual language)" },
+ { "orz", "Ormu" },
+ { "osa", "Osage" },
+ { "osc", "Oscan" },
+ { "osi", "Osing" },
+ { "oso", "Ososo" },
+ { "osp", "Old Spanish" },
+ { "oss", "Ossetian" },
+ { "ost", "Osatu" },
+ { "osu", "Southern One" },
+ { "osx", "Old Saxon" },
+ { "ota", "Ottoman Turkish (1500-1928)" },
+ { "otb", "Old Tibetan" },
+ { "otd", "Ot Danum" },
+ { "ote", "Mezquital Otomi" },
+ { "oti", "Oti" },
+ { "otk", "Old Turkish" },
+ { "otl", "Tilapa Otomi" },
+ { "otm", "Eastern Highland Otomi" },
+ { "otn", "Tenango Otomi" },
+ { "otq", "Querétaro Otomi" },
+ { "otr", "Otoro" },
+ { "ots", "Estado de México Otomi" },
+ { "ott", "Temoaya Otomi" },
+ { "otu", "Otuke" },
+ { "otw", "Ottawa" },
+ { "otx", "Texcatepec Otomi" },
+ { "oty", "Old Tamil" },
+ { "otz", "Ixtenco Otomi" },
+ { "oua", "Tagargrent" },
+ { "oub", "Glio-Oubi" },
+ { "oue", "Oune" },
+ { "oui", "Old Uighur" },
+ { "oum", "Ouma" },
+ { "oun", "!O!ung" },
+ { "owi", "Owiniga" },
+ { "owl", "Old Welsh" },
+ { "oyb", "Oy" },
+ { "oyd", "Oyda" },
+ { "oym", "Wayampi" },
+ { "oyy", "Oya'oya" },
+ { "ozm", "Koonzime" },
+ { "pab", "Parecís" },
+ { "pac", "Pacoh" },
+ { "pad", "Paumarí" },
+ { "pae", "Pagibete" },
+ { "paf", "Paranawát" },
+ { "pag", "Pangasinan" },
+ { "pah", "Tenharim" },
+ { "pai", "Pe" },
+ { "pak", "Parakanã" },
+ { "pal", "Pahlavi" },
+ { "pam", "Pampanga" },
+ { "pan", "Panjabi" },
+ { "pao", "Northern Paiute" },
+ { "pap", "Papiamento" },
+ { "paq", "Parya" },
+ { "par", "Panamint" },
+ { "pas", "Papasena" },
+ { "pat", "Papitalai" },
+ { "pau", "Palauan" },
+ { "pav", "Pakaásnovos" },
+ { "paw", "Pawnee" },
+ { "pax", "Pankararé" },
+ { "pay", "Pech" },
+ { "paz", "Pankararú" },
+ { "pbb", "Páez" },
+ { "pbc", "Patamona" },
+ { "pbe", "Mezontla Popoloca" },
+ { "pbf", "Coyotepec Popoloca" },
+ { "pbg", "Paraujano" },
+ { "pbh", "E'ñapa Woromaipu" },
+ { "pbi", "Parkwa" },
+ { "pbl", "Mak (Nigeria)" },
+ { "pbn", "Kpasam" },
+ { "pbo", "Papel" },
+ { "pbp", "Badyara" },
+ { "pbr", "Pangwa" },
+ { "pbs", "Central Pame" },
+ { "pbt", "Southern Pashto" },
+ { "pbu", "Northern Pashto" },
+ { "pbv", "Pnar" },
+ { "pby", "Pyu" },
+ { "pca", "Santa Inés Ahuatempan Popoloca" },
+ { "pcb", "Pear" },
+ { "pcc", "Bouyei" },
+ { "pcd", "Picard" },
+ { "pce", "Ruching Palaung" },
+ { "pcf", "Paliyan" },
+ { "pcg", "Paniya" },
+ { "pch", "Pardhan" },
+ { "pci", "Duruwa" },
+ { "pcj", "Parenga" },
+ { "pck", "Paite Chin" },
+ { "pcl", "Pardhi" },
+ { "pcm", "Nigerian Pidgin" },
+ { "pcn", "Piti" },
+ { "pcp", "Pacahuara" },
+ { "pcw", "Pyapun" },
+ { "pda", "Anam" },
+ { "pdc", "Pennsylvania German" },
+ { "pdi", "Pa Di" },
+ { "pdn", "Podena" },
+ { "pdo", "Padoe" },
+ { "pdt", "Plautdietsch" },
+ { "pdu", "Kayan" },
+ { "pea", "Peranakan Indonesian" },
+ { "peb", "Eastern Pomo" },
+ { "ped", "Mala (Papua New Guinea)" },
+ { "pee", "Taje" },
+ { "pef", "Northeastern Pomo" },
+ { "peg", "Pengo" },
+ { "peh", "Bonan" },
+ { "pei", "Chichimeca-Jonaz" },
+ { "pej", "Northern Pomo" },
+ { "pek", "Penchal" },
+ { "pel", "Pekal" },
+ { "pem", "Phende" },
+ { "peo", "Old Persian (ca. 600-400 B.C.)" },
+ { "pep", "Kunja" },
+ { "peq", "Southern Pomo" },
+ { "pes", "Iranian Persian" },
+ { "pev", "Pémono" },
+ { "pex", "Petats" },
+ { "pey", "Petjo" },
+ { "pez", "Eastern Penan" },
+ { "pfa", "Pááfang" },
+ { "pfe", "Peere" },
+ { "pfl", "Pfaelzisch" },
+ { "pga", "Sudanese Creole Arabic" },
+ { "pgg", "Pangwali" },
+ { "pgi", "Pagi" },
+ { "pgk", "Rerep" },
+ { "pgl", "Primitive Irish" },
+ { "pgn", "Paelignian" },
+ { "pgs", "Pangseng" },
+ { "pgu", "Pagu" },
+ { "pha", "Pa-Hng" },
+ { "phd", "Phudagi" },
+ { "phg", "Phuong" },
+ { "phh", "Phukha" },
+ { "phk", "Phake" },
+ { "phl", "Phalura" },
+ { "phm", "Phimbi" },
+ { "phn", "Phoenician" },
+ { "pho", "Phunoi" },
+ { "phq", "Phana'" },
+ { "phr", "Pahari-Potwari" },
+ { "pht", "Phu Thai" },
+ { "phu", "Phuan" },
+ { "phv", "Pahlavani" },
+ { "phw", "Phangduwali" },
+ { "pia", "Pima Bajo" },
+ { "pib", "Yine" },
+ { "pic", "Pinji" },
+ { "pid", "Piaroa" },
+ { "pie", "Piro" },
+ { "pif", "Pingelapese" },
+ { "pig", "Pisabo" },
+ { "pih", "Pitcairn-Norfolk" },
+ { "pii", "Pini" },
+ { "pij", "Pijao" },
+ { "pil", "Yom" },
+ { "pim", "Powhatan" },
+ { "pin", "Piame" },
+ { "pio", "Piapoco" },
+ { "pip", "Pero" },
+ { "pir", "Piratapuyo" },
+ { "pis", "Pijin" },
+ { "pit", "Pitta Pitta" },
+ { "piu", "Pintupi-Luritja" },
+ { "piv", "Pileni" },
+ { "piw", "Pimbwe" },
+ { "pix", "Piu" },
+ { "piy", "Piya-Kwonci" },
+ { "piz", "Pije" },
+ { "pjt", "Pitjantjatjara" },
+ { "pka", "Ardhamāgadhī Prākrit" },
+ { "pkb", "Pokomo" },
+ { "pkc", "Paekche" },
+ { "pkg", "Pak-Tong" },
+ { "pkh", "Pankhu" },
+ { "pkn", "Pakanha" },
+ { "pko", "Pökoot" },
+ { "pkp", "Pukapuka" },
+ { "pkr", "Attapady Kurumba" },
+ { "pks", "Pakistan Sign Language" },
+ { "pkt", "Maleng" },
+ { "pku", "Paku" },
+ { "pla", "Miani" },
+ { "plb", "Polonombauk" },
+ { "plc", "Central Palawano" },
+ { "pld", "Polari" },
+ { "ple", "Palu'e" },
+ { "plg", "Pilagá" },
+ { "plh", "Paulohi" },
+ { "pli", "Pali" },
+ { "plj", "Polci" },
+ { "plk", "Kohistani Shina" },
+ { "pll", "Shwe Palaung" },
+ { "pln", "Palenquero" },
+ { "plo", "Oluta Popoluca" },
+ { "plp", "Palpa" },
+ { "plq", "Palaic" },
+ { "plr", "Palaka Senoufo" },
+ { "pls", "San Marcos Tlalcoyalco Popoloca" },
+ { "plt", "Plateau Malagasy" },
+ { "plu", "Palikúr" },
+ { "plv", "Southwest Palawano" },
+ { "plw", "Brooke's Point Palawano" },
+ { "ply", "Bolyu" },
+ { "plz", "Paluan" },
+ { "pma", "Paama" },
+ { "pmb", "Pambia" },
+ { "pmc", "Palumata" },
+ { "pmd", "Pallanganmiddang" },
+ { "pme", "Pwaamei" },
+ { "pmf", "Pamona" },
+ { "pmh", "Māhārāṣṭri Prākrit" },
+ { "pmi", "Northern Pumi" },
+ { "pmj", "Southern Pumi" },
+ { "pmk", "Pamlico" },
+ { "pml", "Lingua Franca" },
+ { "pmm", "Pomo" },
+ { "pmn", "Pam" },
+ { "pmo", "Pom" },
+ { "pmq", "Northern Pame" },
+ { "pmr", "Paynamar" },
+ { "pms", "Piemontese" },
+ { "pmt", "Tuamotuan" },
+ { "pmu", "Mirpur Panjabi" },
+ { "pmw", "Plains Miwok" },
+ { "pmx", "Poumei Naga" },
+ { "pmy", "Papuan Malay" },
+ { "pmz", "Southern Pame" },
+ { "pna", "Punan Bah-Biau" },
+ { "pnb", "Western Panjabi" },
+ { "pnc", "Pannei" },
+ { "pne", "Western Penan" },
+ { "png", "Pongu" },
+ { "pnh", "Penrhyn" },
+ { "pni", "Aoheng" },
+ { "pnj", "Pinjarup" },
+ { "pnk", "Paunaka" },
+ { "pnl", "Paleni" },
+ { "pnm", "Punan Batu 1" },
+ { "pnn", "Pinai-Hagahai" },
+ { "pno", "Panobo" },
+ { "pnp", "Pancana" },
+ { "pnq", "Pana (Burkina Faso)" },
+ { "pnr", "Panim" },
+ { "pns", "Ponosakan" },
+ { "pnt", "Pontic" },
+ { "pnu", "Jiongnai Bunu" },
+ { "pnv", "Pinigura" },
+ { "pnw", "Panytyima" },
+ { "pnx", "Phong-Kniang" },
+ { "pny", "Pinyin" },
+ { "pnz", "Pana (Central African Republic)" },
+ { "poc", "Poqomam" },
+ { "pod", "Ponares" },
+ { "poe", "San Juan Atzingo Popoloca" },
+ { "pof", "Poke" },
+ { "pog", "Potiguára" },
+ { "poh", "Poqomchi'" },
+ { "poi", "Highland Popoluca" },
+ { "pok", "Pokangá" },
+ { "pol", "Polish" },
+ { "pom", "Southeastern Pomo" },
+ { "pon", "Pohnpeian" },
+ { "poo", "Central Pomo" },
+ { "pop", "Pwapwâ" },
+ { "poq", "Texistepec Popoluca" },
+ { "por", "Portuguese" },
+ { "pos", "Sayula Popoluca" },
+ { "pot", "Potawatomi" },
+ { "pov", "Upper Guinea Crioulo" },
+ { "pow", "San Felipe Otlaltepec Popoloca" },
+ { "pox", "Polabian" },
+ { "poy", "Pogolo" },
+ { "ppa", "Pao" },
+ { "ppe", "Papi" },
+ { "ppi", "Paipai" },
+ { "ppk", "Uma" },
+ { "ppl", "Pipil" },
+ { "ppm", "Papuma" },
+ { "ppn", "Papapana" },
+ { "ppo", "Folopa" },
+ { "ppp", "Pelende" },
+ { "ppq", "Pei" },
+ { "pps", "San Luís Temalacayuca Popoloca" },
+ { "ppt", "Pare" },
+ { "ppu", "Papora" },
+ { "pqa", "Pa'a" },
+ { "pqm", "Malecite-Passamaquoddy" },
+ { "prb", "Lua'" },
+ { "prc", "Parachi" },
+ { "prd", "Parsi-Dari" },
+ { "pre", "Principense" },
+ { "prf", "Paranan" },
+ { "prg", "Prussian" },
+ { "prh", "Porohanon" },
+ { "pri", "Paicî" },
+ { "prk", "Parauk" },
+ { "prl", "Peruvian Sign Language" },
+ { "prm", "Kibiri" },
+ { "prn", "Prasuni" },
+ { "pro", "Old Provençal (to 1500)" },
+ { "prp", "Parsi" },
+ { "prq", "Ashéninka Perené" },
+ { "prr", "Puri" },
+ { "prs", "Dari" },
+ { "prt", "Phai" },
+ { "pru", "Puragi" },
+ { "prw", "Parawen" },
+ { "prx", "Purik" },
+ { "pry", "Pray 3" },
+ { "prz", "Providencia Sign Language" },
+ { "psa", "Asue Awyu" },
+ { "psc", "Persian Sign Language" },
+ { "psd", "Plains Indian Sign Language" },
+ { "pse", "Central Malay" },
+ { "psg", "Penang Sign Language" },
+ { "psh", "Southwest Pashayi" },
+ { "psi", "Southeast Pashayi" },
+ { "psl", "Puerto Rican Sign Language" },
+ { "psm", "Pauserna" },
+ { "psn", "Panasuan" },
+ { "pso", "Polish Sign Language" },
+ { "psp", "Philippine Sign Language" },
+ { "psq", "Pasi" },
+ { "psr", "Portuguese Sign Language" },
+ { "pss", "Kaulong" },
+ { "pst", "Central Pashto" },
+ { "psu", "Sauraseni Prākrit" },
+ { "psw", "Port Sandwich" },
+ { "psy", "Piscataway" },
+ { "pta", "Pai Tavytera" },
+ { "pth", "Pataxó Hã-Ha-Hãe" },
+ { "pti", "Pintiini" },
+ { "ptn", "Patani" },
+ { "pto", "Zo'é" },
+ { "ptp", "Patep" },
+ { "ptr", "Piamatsina" },
+ { "ptt", "Enrekang" },
+ { "ptu", "Bambam" },
+ { "ptv", "Port Vato" },
+ { "ptw", "Pentlatch" },
+ { "pty", "Pathiya" },
+ { "pua", "Western Highland Purepecha" },
+ { "pub", "Purum" },
+ { "puc", "Punan Merap" },
+ { "pud", "Punan Aput" },
+ { "pue", "Puelche" },
+ { "puf", "Punan Merah" },
+ { "pug", "Phuie" },
+ { "pui", "Puinave" },
+ { "puj", "Punan Tubu" },
+ { "puk", "Pu Ko" },
+ { "pum", "Puma" },
+ { "puo", "Puoc" },
+ { "pup", "Pulabu" },
+ { "puq", "Puquina" },
+ { "pur", "Puruborá" },
+ { "pus", "Pushto" },
+ { "put", "Putoh" },
+ { "puu", "Punu" },
+ { "puw", "Puluwatese" },
+ { "pux", "Puare" },
+ { "puy", "Purisimeño" },
+ { "puz", "Purum Naga" },
+ { "pwa", "Pawaia" },
+ { "pwb", "Panawa" },
+ { "pwg", "Gapapaiwa" },
+ { "pwi", "Patwin" },
+ { "pwm", "Molbog" },
+ { "pwn", "Paiwan" },
+ { "pwo", "Pwo Western Karen" },
+ { "pwr", "Powari" },
+ { "pww", "Pwo Northern Karen" },
+ { "pxm", "Quetzaltepec Mixe" },
+ { "pye", "Pye Krumen" },
+ { "pym", "Fyam" },
+ { "pyn", "Poyanáwa" },
+ { "pys", "Paraguayan Sign Language" },
+ { "pyu", "Puyuma" },
+ { "pyx", "Pyu (Myanmar)" },
+ { "pyy", "Pyen" },
+ { "pzn", "Para Naga" },
+ { "qaa", "Reserved for local use" },
+ { "qab", "Reserved for local use" },
+ { "qac", "Reserved for local use" },
+ { "qad", "Reserved for local use" },
+ { "qae", "Reserved for local use" },
+ { "qaf", "Reserved for local use" },
+ { "qag", "Reserved for local use" },
+ { "qah", "Reserved for local use" },
+ { "qai", "Reserved for local use" },
+ { "qaj", "Reserved for local use" },
+ { "qak", "Reserved for local use" },
+ { "qal", "Reserved for local use" },
+ { "qam", "Reserved for local use" },
+ { "qan", "Reserved for local use" },
+ { "qao", "Reserved for local use" },
+ { "qap", "Reserved for local use" },
+ { "qaq", "Reserved for local use" },
+ { "qar", "Reserved for local use" },
+ { "qas", "Reserved for local use" },
+ { "qat", "Reserved for local use" },
+ { "qau", "Reserved for local use" },
+ { "qav", "Reserved for local use" },
+ { "qaw", "Reserved for local use" },
+ { "qax", "Reserved for local use" },
+ { "qay", "Reserved for local use" },
+ { "qaz", "Reserved for local use" },
+ { "qba", "Reserved for local use" },
+ { "qbb", "Reserved for local use" },
+ { "qbc", "Reserved for local use" },
+ { "qbd", "Reserved for local use" },
+ { "qbe", "Reserved for local use" },
+ { "qbf", "Reserved for local use" },
+ { "qbg", "Reserved for local use" },
+ { "qbh", "Reserved for local use" },
+ { "qbi", "Reserved for local use" },
+ { "qbj", "Reserved for local use" },
+ { "qbk", "Reserved for local use" },
+ { "qbl", "Reserved for local use" },
+ { "qbm", "Reserved for local use" },
+ { "qbn", "Reserved for local use" },
+ { "qbo", "Reserved for local use" },
+ { "qbp", "Reserved for local use" },
+ { "qbq", "Reserved for local use" },
+ { "qbr", "Reserved for local use" },
+ { "qbs", "Reserved for local use" },
+ { "qbt", "Reserved for local use" },
+ { "qbu", "Reserved for local use" },
+ { "qbv", "Reserved for local use" },
+ { "qbw", "Reserved for local use" },
+ { "qbx", "Reserved for local use" },
+ { "qby", "Reserved for local use" },
+ { "qbz", "Reserved for local use" },
+ { "qca", "Reserved for local use" },
+ { "qcb", "Reserved for local use" },
+ { "qcc", "Reserved for local use" },
+ { "qcd", "Reserved for local use" },
+ { "qce", "Reserved for local use" },
+ { "qcf", "Reserved for local use" },
+ { "qcg", "Reserved for local use" },
+ { "qch", "Reserved for local use" },
+ { "qci", "Reserved for local use" },
+ { "qcj", "Reserved for local use" },
+ { "qck", "Reserved for local use" },
+ { "qcl", "Reserved for local use" },
+ { "qcm", "Reserved for local use" },
+ { "qcn", "Reserved for local use" },
+ { "qco", "Reserved for local use" },
+ { "qcp", "Reserved for local use" },
+ { "qcq", "Reserved for local use" },
+ { "qcr", "Reserved for local use" },
+ { "qcs", "Reserved for local use" },
+ { "qct", "Reserved for local use" },
+ { "qcu", "Reserved for local use" },
+ { "qcv", "Reserved for local use" },
+ { "qcw", "Reserved for local use" },
+ { "qcx", "Reserved for local use" },
+ { "qcy", "Reserved for local use" },
+ { "qcz", "Reserved for local use" },
+ { "qda", "Reserved for local use" },
+ { "qdb", "Reserved for local use" },
+ { "qdc", "Reserved for local use" },
+ { "qdd", "Reserved for local use" },
+ { "qde", "Reserved for local use" },
+ { "qdf", "Reserved for local use" },
+ { "qdg", "Reserved for local use" },
+ { "qdh", "Reserved for local use" },
+ { "qdi", "Reserved for local use" },
+ { "qdj", "Reserved for local use" },
+ { "qdk", "Reserved for local use" },
+ { "qdl", "Reserved for local use" },
+ { "qdm", "Reserved for local use" },
+ { "qdn", "Reserved for local use" },
+ { "qdo", "Reserved for local use" },
+ { "qdp", "Reserved for local use" },
+ { "qdq", "Reserved for local use" },
+ { "qdr", "Reserved for local use" },
+ { "qds", "Reserved for local use" },
+ { "qdt", "Reserved for local use" },
+ { "qdu", "Reserved for local use" },
+ { "qdv", "Reserved for local use" },
+ { "qdw", "Reserved for local use" },
+ { "qdx", "Reserved for local use" },
+ { "qdy", "Reserved for local use" },
+ { "qdz", "Reserved for local use" },
+ { "qea", "Reserved for local use" },
+ { "qeb", "Reserved for local use" },
+ { "qec", "Reserved for local use" },
+ { "qed", "Reserved for local use" },
+ { "qee", "Reserved for local use" },
+ { "qef", "Reserved for local use" },
+ { "qeg", "Reserved for local use" },
+ { "qeh", "Reserved for local use" },
+ { "qei", "Reserved for local use" },
+ { "qej", "Reserved for local use" },
+ { "qek", "Reserved for local use" },
+ { "qel", "Reserved for local use" },
+ { "qem", "Reserved for local use" },
+ { "qen", "Reserved for local use" },
+ { "qeo", "Reserved for local use" },
+ { "qep", "Reserved for local use" },
+ { "qeq", "Reserved for local use" },
+ { "qer", "Reserved for local use" },
+ { "qes", "Reserved for local use" },
+ { "qet", "Reserved for local use" },
+ { "qeu", "Reserved for local use" },
+ { "qev", "Reserved for local use" },
+ { "qew", "Reserved for local use" },
+ { "qex", "Reserved for local use" },
+ { "qey", "Reserved for local use" },
+ { "qez", "Reserved for local use" },
+ { "qfa", "Reserved for local use" },
+ { "qfb", "Reserved for local use" },
+ { "qfc", "Reserved for local use" },
+ { "qfd", "Reserved for local use" },
+ { "qfe", "Reserved for local use" },
+ { "qff", "Reserved for local use" },
+ { "qfg", "Reserved for local use" },
+ { "qfh", "Reserved for local use" },
+ { "qfi", "Reserved for local use" },
+ { "qfj", "Reserved for local use" },
+ { "qfk", "Reserved for local use" },
+ { "qfl", "Reserved for local use" },
+ { "qfm", "Reserved for local use" },
+ { "qfn", "Reserved for local use" },
+ { "qfo", "Reserved for local use" },
+ { "qfp", "Reserved for local use" },
+ { "qfq", "Reserved for local use" },
+ { "qfr", "Reserved for local use" },
+ { "qfs", "Reserved for local use" },
+ { "qft", "Reserved for local use" },
+ { "qfu", "Reserved for local use" },
+ { "qfv", "Reserved for local use" },
+ { "qfw", "Reserved for local use" },
+ { "qfx", "Reserved for local use" },
+ { "qfy", "Reserved for local use" },
+ { "qfz", "Reserved for local use" },
+ { "qga", "Reserved for local use" },
+ { "qgb", "Reserved for local use" },
+ { "qgc", "Reserved for local use" },
+ { "qgd", "Reserved for local use" },
+ { "qge", "Reserved for local use" },
+ { "qgf", "Reserved for local use" },
+ { "qgg", "Reserved for local use" },
+ { "qgh", "Reserved for local use" },
+ { "qgi", "Reserved for local use" },
+ { "qgj", "Reserved for local use" },
+ { "qgk", "Reserved for local use" },
+ { "qgl", "Reserved for local use" },
+ { "qgm", "Reserved for local use" },
+ { "qgn", "Reserved for local use" },
+ { "qgo", "Reserved for local use" },
+ { "qgp", "Reserved for local use" },
+ { "qgq", "Reserved for local use" },
+ { "qgr", "Reserved for local use" },
+ { "qgs", "Reserved for local use" },
+ { "qgt", "Reserved for local use" },
+ { "qgu", "Reserved for local use" },
+ { "qgv", "Reserved for local use" },
+ { "qgw", "Reserved for local use" },
+ { "qgx", "Reserved for local use" },
+ { "qgy", "Reserved for local use" },
+ { "qgz", "Reserved for local use" },
+ { "qha", "Reserved for local use" },
+ { "qhb", "Reserved for local use" },
+ { "qhc", "Reserved for local use" },
+ { "qhd", "Reserved for local use" },
+ { "qhe", "Reserved for local use" },
+ { "qhf", "Reserved for local use" },
+ { "qhg", "Reserved for local use" },
+ { "qhh", "Reserved for local use" },
+ { "qhi", "Reserved for local use" },
+ { "qhj", "Reserved for local use" },
+ { "qhk", "Reserved for local use" },
+ { "qhl", "Reserved for local use" },
+ { "qhm", "Reserved for local use" },
+ { "qhn", "Reserved for local use" },
+ { "qho", "Reserved for local use" },
+ { "qhp", "Reserved for local use" },
+ { "qhq", "Reserved for local use" },
+ { "qhr", "Reserved for local use" },
+ { "qhs", "Reserved for local use" },
+ { "qht", "Reserved for local use" },
+ { "qhu", "Reserved for local use" },
+ { "qhv", "Reserved for local use" },
+ { "qhw", "Reserved for local use" },
+ { "qhx", "Reserved for local use" },
+ { "qhy", "Reserved for local use" },
+ { "qhz", "Reserved for local use" },
+ { "qia", "Reserved for local use" },
+ { "qib", "Reserved for local use" },
+ { "qic", "Reserved for local use" },
+ { "qid", "Reserved for local use" },
+ { "qie", "Reserved for local use" },
+ { "qif", "Reserved for local use" },
+ { "qig", "Reserved for local use" },
+ { "qih", "Reserved for local use" },
+ { "qii", "Reserved for local use" },
+ { "qij", "Reserved for local use" },
+ { "qik", "Reserved for local use" },
+ { "qil", "Reserved for local use" },
+ { "qim", "Reserved for local use" },
+ { "qin", "Reserved for local use" },
+ { "qio", "Reserved for local use" },
+ { "qip", "Reserved for local use" },
+ { "qiq", "Reserved for local use" },
+ { "qir", "Reserved for local use" },
+ { "qis", "Reserved for local use" },
+ { "qit", "Reserved for local use" },
+ { "qiu", "Reserved for local use" },
+ { "qiv", "Reserved for local use" },
+ { "qiw", "Reserved for local use" },
+ { "qix", "Reserved for local use" },
+ { "qiy", "Reserved for local use" },
+ { "qiz", "Reserved for local use" },
+ { "qja", "Reserved for local use" },
+ { "qjb", "Reserved for local use" },
+ { "qjc", "Reserved for local use" },
+ { "qjd", "Reserved for local use" },
+ { "qje", "Reserved for local use" },
+ { "qjf", "Reserved for local use" },
+ { "qjg", "Reserved for local use" },
+ { "qjh", "Reserved for local use" },
+ { "qji", "Reserved for local use" },
+ { "qjj", "Reserved for local use" },
+ { "qjk", "Reserved for local use" },
+ { "qjl", "Reserved for local use" },
+ { "qjm", "Reserved for local use" },
+ { "qjn", "Reserved for local use" },
+ { "qjo", "Reserved for local use" },
+ { "qjp", "Reserved for local use" },
+ { "qjq", "Reserved for local use" },
+ { "qjr", "Reserved for local use" },
+ { "qjs", "Reserved for local use" },
+ { "qjt", "Reserved for local use" },
+ { "qju", "Reserved for local use" },
+ { "qjv", "Reserved for local use" },
+ { "qjw", "Reserved for local use" },
+ { "qjx", "Reserved for local use" },
+ { "qjy", "Reserved for local use" },
+ { "qjz", "Reserved for local use" },
+ { "qka", "Reserved for local use" },
+ { "qkb", "Reserved for local use" },
+ { "qkc", "Reserved for local use" },
+ { "qkd", "Reserved for local use" },
+ { "qke", "Reserved for local use" },
+ { "qkf", "Reserved for local use" },
+ { "qkg", "Reserved for local use" },
+ { "qkh", "Reserved for local use" },
+ { "qki", "Reserved for local use" },
+ { "qkj", "Reserved for local use" },
+ { "qkk", "Reserved for local use" },
+ { "qkl", "Reserved for local use" },
+ { "qkm", "Reserved for local use" },
+ { "qkn", "Reserved for local use" },
+ { "qko", "Reserved for local use" },
+ { "qkp", "Reserved for local use" },
+ { "qkq", "Reserved for local use" },
+ { "qkr", "Reserved for local use" },
+ { "qks", "Reserved for local use" },
+ { "qkt", "Reserved for local use" },
+ { "qku", "Reserved for local use" },
+ { "qkv", "Reserved for local use" },
+ { "qkw", "Reserved for local use" },
+ { "qkx", "Reserved for local use" },
+ { "qky", "Reserved for local use" },
+ { "qkz", "Reserved for local use" },
+ { "qla", "Reserved for local use" },
+ { "qlb", "Reserved for local use" },
+ { "qlc", "Reserved for local use" },
+ { "qld", "Reserved for local use" },
+ { "qle", "Reserved for local use" },
+ { "qlf", "Reserved for local use" },
+ { "qlg", "Reserved for local use" },
+ { "qlh", "Reserved for local use" },
+ { "qli", "Reserved for local use" },
+ { "qlj", "Reserved for local use" },
+ { "qlk", "Reserved for local use" },
+ { "qll", "Reserved for local use" },
+ { "qlm", "Reserved for local use" },
+ { "qln", "Reserved for local use" },
+ { "qlo", "Reserved for local use" },
+ { "qlp", "Reserved for local use" },
+ { "qlq", "Reserved for local use" },
+ { "qlr", "Reserved for local use" },
+ { "qls", "Reserved for local use" },
+ { "qlt", "Reserved for local use" },
+ { "qlu", "Reserved for local use" },
+ { "qlv", "Reserved for local use" },
+ { "qlw", "Reserved for local use" },
+ { "qlx", "Reserved for local use" },
+ { "qly", "Reserved for local use" },
+ { "qlz", "Reserved for local use" },
+ { "qma", "Reserved for local use" },
+ { "qmb", "Reserved for local use" },
+ { "qmc", "Reserved for local use" },
+ { "qmd", "Reserved for local use" },
+ { "qme", "Reserved for local use" },
+ { "qmf", "Reserved for local use" },
+ { "qmg", "Reserved for local use" },
+ { "qmh", "Reserved for local use" },
+ { "qmi", "Reserved for local use" },
+ { "qmj", "Reserved for local use" },
+ { "qmk", "Reserved for local use" },
+ { "qml", "Reserved for local use" },
+ { "qmm", "Reserved for local use" },
+ { "qmn", "Reserved for local use" },
+ { "qmo", "Reserved for local use" },
+ { "qmp", "Reserved for local use" },
+ { "qmq", "Reserved for local use" },
+ { "qmr", "Reserved for local use" },
+ { "qms", "Reserved for local use" },
+ { "qmt", "Reserved for local use" },
+ { "qmu", "Reserved for local use" },
+ { "qmv", "Reserved for local use" },
+ { "qmw", "Reserved for local use" },
+ { "qmx", "Reserved for local use" },
+ { "qmy", "Reserved for local use" },
+ { "qmz", "Reserved for local use" },
+ { "qna", "Reserved for local use" },
+ { "qnb", "Reserved for local use" },
+ { "qnc", "Reserved for local use" },
+ { "qnd", "Reserved for local use" },
+ { "qne", "Reserved for local use" },
+ { "qnf", "Reserved for local use" },
+ { "qng", "Reserved for local use" },
+ { "qnh", "Reserved for local use" },
+ { "qni", "Reserved for local use" },
+ { "qnj", "Reserved for local use" },
+ { "qnk", "Reserved for local use" },
+ { "qnl", "Reserved for local use" },
+ { "qnm", "Reserved for local use" },
+ { "qnn", "Reserved for local use" },
+ { "qno", "Reserved for local use" },
+ { "qnp", "Reserved for local use" },
+ { "qnq", "Reserved for local use" },
+ { "qnr", "Reserved for local use" },
+ { "qns", "Reserved for local use" },
+ { "qnt", "Reserved for local use" },
+ { "qnu", "Reserved for local use" },
+ { "qnv", "Reserved for local use" },
+ { "qnw", "Reserved for local use" },
+ { "qnx", "Reserved for local use" },
+ { "qny", "Reserved for local use" },
+ { "qnz", "Reserved for local use" },
+ { "qoa", "Reserved for local use" },
+ { "qob", "Reserved for local use" },
+ { "qoc", "Reserved for local use" },
+ { "qod", "Reserved for local use" },
+ { "qoe", "Reserved for local use" },
+ { "qof", "Reserved for local use" },
+ { "qog", "Reserved for local use" },
+ { "qoh", "Reserved for local use" },
+ { "qoi", "Reserved for local use" },
+ { "qoj", "Reserved for local use" },
+ { "qok", "Reserved for local use" },
+ { "qol", "Reserved for local use" },
+ { "qom", "Reserved for local use" },
+ { "qon", "Reserved for local use" },
+ { "qoo", "Reserved for local use" },
+ { "qop", "Reserved for local use" },
+ { "qoq", "Reserved for local use" },
+ { "qor", "Reserved for local use" },
+ { "qos", "Reserved for local use" },
+ { "qot", "Reserved for local use" },
+ { "qou", "Reserved for local use" },
+ { "qov", "Reserved for local use" },
+ { "qow", "Reserved for local use" },
+ { "qox", "Reserved for local use" },
+ { "qoy", "Reserved for local use" },
+ { "qoz", "Reserved for local use" },
+ { "qpa", "Reserved for local use" },
+ { "qpb", "Reserved for local use" },
+ { "qpc", "Reserved for local use" },
+ { "qpd", "Reserved for local use" },
+ { "qpe", "Reserved for local use" },
+ { "qpf", "Reserved for local use" },
+ { "qpg", "Reserved for local use" },
+ { "qph", "Reserved for local use" },
+ { "qpi", "Reserved for local use" },
+ { "qpj", "Reserved for local use" },
+ { "qpk", "Reserved for local use" },
+ { "qpl", "Reserved for local use" },
+ { "qpm", "Reserved for local use" },
+ { "qpn", "Reserved for local use" },
+ { "qpo", "Reserved for local use" },
+ { "qpp", "Reserved for local use" },
+ { "qpq", "Reserved for local use" },
+ { "qpr", "Reserved for local use" },
+ { "qps", "Reserved for local use" },
+ { "qpt", "Reserved for local use" },
+ { "qpu", "Reserved for local use" },
+ { "qpv", "Reserved for local use" },
+ { "qpw", "Reserved for local use" },
+ { "qpx", "Reserved for local use" },
+ { "qpy", "Reserved for local use" },
+ { "qpz", "Reserved for local use" },
+ { "qqa", "Reserved for local use" },
+ { "qqb", "Reserved for local use" },
+ { "qqc", "Reserved for local use" },
+ { "qqd", "Reserved for local use" },
+ { "qqe", "Reserved for local use" },
+ { "qqf", "Reserved for local use" },
+ { "qqg", "Reserved for local use" },
+ { "qqh", "Reserved for local use" },
+ { "qqi", "Reserved for local use" },
+ { "qqj", "Reserved for local use" },
+ { "qqk", "Reserved for local use" },
+ { "qql", "Reserved for local use" },
+ { "qqm", "Reserved for local use" },
+ { "qqn", "Reserved for local use" },
+ { "qqo", "Reserved for local use" },
+ { "qqp", "Reserved for local use" },
+ { "qqq", "Reserved for local use" },
+ { "qqr", "Reserved for local use" },
+ { "qqs", "Reserved for local use" },
+ { "qqt", "Reserved for local use" },
+ { "qqu", "Reserved for local use" },
+ { "qqv", "Reserved for local use" },
+ { "qqw", "Reserved for local use" },
+ { "qqx", "Reserved for local use" },
+ { "qqy", "Reserved for local use" },
+ { "qqz", "Reserved for local use" },
+ { "qra", "Reserved for local use" },
+ { "qrb", "Reserved for local use" },
+ { "qrc", "Reserved for local use" },
+ { "qrd", "Reserved for local use" },
+ { "qre", "Reserved for local use" },
+ { "qrf", "Reserved for local use" },
+ { "qrg", "Reserved for local use" },
+ { "qrh", "Reserved for local use" },
+ { "qri", "Reserved for local use" },
+ { "qrj", "Reserved for local use" },
+ { "qrk", "Reserved for local use" },
+ { "qrl", "Reserved for local use" },
+ { "qrm", "Reserved for local use" },
+ { "qrn", "Reserved for local use" },
+ { "qro", "Reserved for local use" },
+ { "qrp", "Reserved for local use" },
+ { "qrq", "Reserved for local use" },
+ { "qrr", "Reserved for local use" },
+ { "qrs", "Reserved for local use" },
+ { "qrt", "Reserved for local use" },
+ { "qru", "Reserved for local use" },
+ { "qrv", "Reserved for local use" },
+ { "qrw", "Reserved for local use" },
+ { "qrx", "Reserved for local use" },
+ { "qry", "Reserved for local use" },
+ { "qrz", "Reserved for local use" },
+ { "qsa", "Reserved for local use" },
+ { "qsb", "Reserved for local use" },
+ { "qsc", "Reserved for local use" },
+ { "qsd", "Reserved for local use" },
+ { "qse", "Reserved for local use" },
+ { "qsf", "Reserved for local use" },
+ { "qsg", "Reserved for local use" },
+ { "qsh", "Reserved for local use" },
+ { "qsi", "Reserved for local use" },
+ { "qsj", "Reserved for local use" },
+ { "qsk", "Reserved for local use" },
+ { "qsl", "Reserved for local use" },
+ { "qsm", "Reserved for local use" },
+ { "qsn", "Reserved for local use" },
+ { "qso", "Reserved for local use" },
+ { "qsp", "Reserved for local use" },
+ { "qsq", "Reserved for local use" },
+ { "qsr", "Reserved for local use" },
+ { "qss", "Reserved for local use" },
+ { "qst", "Reserved for local use" },
+ { "qsu", "Reserved for local use" },
+ { "qsv", "Reserved for local use" },
+ { "qsw", "Reserved for local use" },
+ { "qsx", "Reserved for local use" },
+ { "qsy", "Reserved for local use" },
+ { "qsz", "Reserved for local use" },
+ { "qta", "Reserved for local use" },
+ { "qtb", "Reserved for local use" },
+ { "qtc", "Reserved for local use" },
+ { "qtd", "Reserved for local use" },
+ { "qte", "Reserved for local use" },
+ { "qtf", "Reserved for local use" },
+ { "qtg", "Reserved for local use" },
+ { "qth", "Reserved for local use" },
+ { "qti", "Reserved for local use" },
+ { "qtj", "Reserved for local use" },
+ { "qtk", "Reserved for local use" },
+ { "qtl", "Reserved for local use" },
+ { "qtm", "Reserved for local use" },
+ { "qtn", "Reserved for local use" },
+ { "qto", "Reserved for local use" },
+ { "qtp", "Reserved for local use" },
+ { "qtq", "Reserved for local use" },
+ { "qtr", "Reserved for local use" },
+ { "qts", "Reserved for local use" },
+ { "qtt", "Reserved for local use" },
+ { "qtu", "Reserved for local use" },
+ { "qtv", "Reserved for local use" },
+ { "qtw", "Reserved for local use" },
+ { "qtx", "Reserved for local use" },
+ { "qty", "Reserved for local use" },
+ { "qtz", "Reserved for local use" },
+ { "qua", "Quapaw" },
+ { "qub", "Huallaga Huánuco Quechua" },
+ { "quc", "K'iche'" },
+ { "qud", "Calderón Highland Quichua" },
+ { "que", "Quechua" },
+ { "quf", "Lambayeque Quechua" },
+ { "qug", "Chimborazo Highland Quichua" },
+ { "quh", "South Bolivian Quechua" },
+ { "qui", "Quileute" },
+ { "quk", "Chachapoyas Quechua" },
+ { "qul", "North Bolivian Quechua" },
+ { "qum", "Sipacapense" },
+ { "qun", "Quinault" },
+ { "qup", "Southern Pastaza Quechua" },
+ { "quq", "Quinqui" },
+ { "qur", "Yanahuanca Pasco Quechua" },
+ { "qus", "Santiago del Estero Quichua" },
+ { "quv", "Sacapulteco" },
+ { "quw", "Tena Lowland Quichua" },
+ { "qux", "Yauyos Quechua" },
+ { "quy", "Ayacucho Quechua" },
+ { "quz", "Cusco Quechua" },
+ { "qva", "Ambo-Pasco Quechua" },
+ { "qvc", "Cajamarca Quechua" },
+ { "qve", "Eastern Apurímac Quechua" },
+ { "qvh", "Huamalíes-Dos de Mayo Huánuco Quechua" },
+ { "qvi", "Imbabura Highland Quichua" },
+ { "qvj", "Loja Highland Quichua" },
+ { "qvl", "Cajatambo North Lima Quechua" },
+ { "qvm", "Margos-Yarowilca-Lauricocha Quechua" },
+ { "qvn", "North Junín Quechua" },
+ { "qvo", "Napo Lowland Quechua" },
+ { "qvp", "Pacaraos Quechua" },
+ { "qvs", "San Martín Quechua" },
+ { "qvw", "Huaylla Wanca Quechua" },
+ { "qvy", "Queyu" },
+ { "qvz", "Northern Pastaza Quichua" },
+ { "qwa", "Corongo Ancash Quechua" },
+ { "qwc", "Classical Quechua" },
+ { "qwh", "Huaylas Ancash Quechua" },
+ { "qwm", "Kuman (Russia)" },
+ { "qws", "Sihuas Ancash Quechua" },
+ { "qwt", "Kwalhioqua-Tlatskanai" },
+ { "qxa", "Chiquián Ancash Quechua" },
+ { "qxc", "Chincha Quechua" },
+ { "qxh", "Panao Huánuco Quechua" },
+ { "qxl", "Salasaca Highland Quichua" },
+ { "qxn", "Northern Conchucos Ancash Quechua" },
+ { "qxo", "Southern Conchucos Ancash Quechua" },
+ { "qxp", "Puno Quechua" },
+ { "qxq", "Qashqa'i" },
+ { "qxr", "Cañar Highland Quichua" },
+ { "qxs", "Southern Qiang" },
+ { "qxt", "Santa Ana de Tusi Pasco Quechua" },
+ { "qxu", "Arequipa-La Unión Quechua" },
+ { "qxw", "Jauja Wanca Quechua" },
+ { "qya", "Quenya" },
+ { "qyp", "Quiripi" },
+ { "raa", "Dungmali" },
+ { "rab", "Camling" },
+ { "rac", "Rasawa" },
+ { "rad", "Rade" },
+ { "raf", "Western Meohang" },
+ { "rag", "Logooli" },
+ { "rah", "Rabha" },
+ { "rai", "Ramoaaina" },
+ { "raj", "Rajasthani" },
+ { "rak", "Tulu-Bohuai" },
+ { "ral", "Ralte" },
+ { "ram", "Canela" },
+ { "ran", "Riantana" },
+ { "rao", "Rao" },
+ { "rap", "Rapanui" },
+ { "raq", "Saam" },
+ { "rar", "Rarotongan" },
+ { "ras", "Tegali" },
+ { "rat", "Razajerdi" },
+ { "rau", "Raute" },
+ { "rav", "Sampang" },
+ { "raw", "Rawang" },
+ { "rax", "Rang" },
+ { "ray", "Rapa" },
+ { "raz", "Rahambuu" },
+ { "rbb", "Rumai Palaung" },
+ { "rbk", "Northern Bontok" },
+ { "rbl", "Miraya Bikol" },
+ { "rbp", "Barababaraba" },
+ { "rcf", "Réunion Creole French" },
+ { "rdb", "Rudbari" },
+ { "rea", "Rerau" },
+ { "reb", "Rembong" },
+ { "ree", "Rejang Kayan" },
+ { "reg", "Kara (Tanzania)" },
+ { "rei", "Reli" },
+ { "rej", "Rejang" },
+ { "rel", "Rendille" },
+ { "rem", "Remo" },
+ { "ren", "Rengao" },
+ { "rer", "Rer Bare" },
+ { "res", "Reshe" },
+ { "ret", "Retta" },
+ { "rey", "Reyesano" },
+ { "rga", "Roria" },
+ { "rge", "Romano-Greek" },
+ { "rgk", "Rangkas" },
+ { "rgn", "Romagnol" },
+ { "rgr", "Resígaro" },
+ { "rgs", "Southern Roglai" },
+ { "rgu", "Ringgou" },
+ { "rhg", "Rohingya" },
+ { "rhp", "Yahang" },
+ { "ria", "Riang (India)" },
+ { "rie", "Rien" },
+ { "rif", "Tarifit" },
+ { "ril", "Riang (Myanmar)" },
+ { "rim", "Nyaturu" },
+ { "rin", "Nungu" },
+ { "rir", "Ribun" },
+ { "rit", "Ritarungo" },
+ { "riu", "Riung" },
+ { "rjg", "Rajong" },
+ { "rji", "Raji" },
+ { "rjs", "Rajbanshi" },
+ { "rka", "Kraol" },
+ { "rkb", "Rikbaktsa" },
+ { "rkh", "Rakahanga-Manihiki" },
+ { "rki", "Rakhine" },
+ { "rkm", "Marka" },
+ { "rkt", "Rangpuri" },
+ { "rkw", "Arakwal" },
+ { "rma", "Rama" },
+ { "rmb", "Rembarunga" },
+ { "rmc", "Carpathian Romani" },
+ { "rmd", "Traveller Danish" },
+ { "rme", "Angloromani" },
+ { "rmf", "Kalo Finnish Romani" },
+ { "rmg", "Traveller Norwegian" },
+ { "rmh", "Murkim" },
+ { "rmi", "Lomavren" },
+ { "rmk", "Romkun" },
+ { "rml", "Baltic Romani" },
+ { "rmm", "Roma" },
+ { "rmn", "Balkan Romani" },
+ { "rmo", "Sinte Romani" },
+ { "rmp", "Rempi" },
+ { "rmq", "Caló" },
+ { "rms", "Romanian Sign Language" },
+ { "rmt", "Domari" },
+ { "rmu", "Tavringer Romani" },
+ { "rmv", "Romanova" },
+ { "rmw", "Welsh Romani" },
+ { "rmx", "Romam" },
+ { "rmy", "Vlax Romani" },
+ { "rmz", "Marma" },
+ { "rna", "Runa" },
+ { "rnd", "Ruund" },
+ { "rng", "Ronga" },
+ { "rnl", "Ranglong" },
+ { "rnn", "Roon" },
+ { "rnp", "Rongpo" },
+ { "rnr", "Nari Nari" },
+ { "rnw", "Rungwa" },
+ { "rob", "Tae'" },
+ { "roc", "Cacgia Roglai" },
+ { "rod", "Rogo" },
+ { "roe", "Ronji" },
+ { "rof", "Rombo" },
+ { "rog", "Northern Roglai" },
+ { "roh", "Romansh" },
+ { "rol", "Romblomanon" },
+ { "rom", "Romany" },
+ { "ron", "Romanian" },
+ { "roo", "Rotokas" },
+ { "rop", "Kriol" },
+ { "ror", "Rongga" },
+ { "rou", "Runga" },
+ { "row", "Dela-Oenale" },
+ { "rpn", "Repanbitip" },
+ { "rpt", "Rapting" },
+ { "rri", "Ririo" },
+ { "rro", "Waima" },
+ { "rrt", "Arritinngithigh" },
+ { "rsb", "Romano-Serbian" },
+ { "rsi", "Rennellese Sign Language" },
+ { "rsl", "Russian Sign Language" },
+ { "rtc", "Rungtu Chin" },
+ { "rth", "Ratahan" },
+ { "rtm", "Rotuman" },
+ { "rtw", "Rathawi" },
+ { "rub", "Gungu" },
+ { "ruc", "Ruuli" },
+ { "rue", "Rusyn" },
+ { "ruf", "Luguru" },
+ { "rug", "Roviana" },
+ { "ruh", "Ruga" },
+ { "rui", "Rufiji" },
+ { "ruk", "Che" },
+ { "run", "Rundi" },
+ { "ruo", "Istro Romanian" },
+ { "rup", "Macedo-Romanian" },
+ { "ruq", "Megleno Romanian" },
+ { "rus", "Russian" },
+ { "rut", "Rutul" },
+ { "ruu", "Lanas Lobu" },
+ { "ruy", "Mala (Nigeria)" },
+ { "ruz", "Ruma" },
+ { "rwa", "Rawo" },
+ { "rwk", "Rwa" },
+ { "rwm", "Amba (Uganda)" },
+ { "rwo", "Rawa" },
+ { "rwr", "Marwari (India)" },
+ { "rxd", "Ngardi" },
+ { "rxw", "Karuwali" },
+ { "ryn", "Northern Amami-Oshima" },
+ { "rys", "Yaeyama" },
+ { "ryu", "Central Okinawan" },
+ { "saa", "Saba" },
+ { "sab", "Buglere" },
+ { "sac", "Meskwaki" },
+ { "sad", "Sandawe" },
+ { "sae", "Sabanê" },
+ { "saf", "Safaliba" },
+ { "sag", "Sango" },
+ { "sah", "Yakut" },
+ { "saj", "Sahu" },
+ { "sak", "Sake" },
+ { "sam", "Samaritan Aramaic" },
+ { "san", "Sanskrit" },
+ { "sao", "Sause" },
+ { "sap", "Sanapaná" },
+ { "saq", "Samburu" },
+ { "sar", "Saraveca" },
+ { "sas", "Sasak" },
+ { "sat", "Santali" },
+ { "sau", "Saleman" },
+ { "sav", "Saafi-Saafi" },
+ { "saw", "Sawi" },
+ { "sax", "Sa" },
+ { "say", "Saya" },
+ { "saz", "Saurashtra" },
+ { "sba", "Ngambay" },
+ { "sbb", "Simbo" },
+ { "sbc", "Kele (Papua New Guinea)" },
+ { "sbd", "Southern Samo" },
+ { "sbe", "Saliba" },
+ { "sbf", "Shabo" },
+ { "sbg", "Seget" },
+ { "sbh", "Sori-Harengan" },
+ { "sbi", "Seti" },
+ { "sbj", "Surbakhal" },
+ { "sbk", "Safwa" },
+ { "sbl", "Botolan Sambal" },
+ { "sbm", "Sagala" },
+ { "sbn", "Sindhi Bhil" },
+ { "sbo", "Sabüm" },
+ { "sbp", "Sangu (Tanzania)" },
+ { "sbq", "Sileibi" },
+ { "sbr", "Sembakung Murut" },
+ { "sbs", "Subiya" },
+ { "sbt", "Kimki" },
+ { "sbu", "Stod Bhoti" },
+ { "sbv", "Sabine" },
+ { "sbw", "Simba" },
+ { "sbx", "Seberuang" },
+ { "sby", "Soli" },
+ { "sbz", "Sara Kaba" },
+ { "scb", "Chut" },
+ { "sce", "Dongxiang" },
+ { "scf", "San Miguel Creole French" },
+ { "scg", "Sanggau" },
+ { "sch", "Sakachep" },
+ { "sci", "Sri Lankan Creole Malay" },
+ { "sck", "Sadri" },
+ { "scl", "Shina" },
+ { "scn", "Sicilian" },
+ { "sco", "Scots" },
+ { "scp", "Helambu Sherpa" },
+ { "scq", "Sa'och" },
+ { "scs", "North Slavey" },
+ { "scu", "Shumcho" },
+ { "scv", "Sheni" },
+ { "scw", "Sha" },
+ { "scx", "Sicel" },
+ { "sda", "Toraja-Sa'dan" },
+ { "sdb", "Shabak" },
+ { "sdc", "Sassarese Sardinian" },
+ { "sde", "Surubu" },
+ { "sdf", "Sarli" },
+ { "sdg", "Savi" },
+ { "sdh", "Southern Kurdish" },
+ { "sdj", "Suundi" },
+ { "sdk", "Sos Kundi" },
+ { "sdl", "Saudi Arabian Sign Language" },
+ { "sdm", "Semandang" },
+ { "sdn", "Gallurese Sardinian" },
+ { "sdo", "Bukar-Sadung Bidayuh" },
+ { "sdp", "Sherdukpen" },
+ { "sdr", "Oraon Sadri" },
+ { "sds", "Sened" },
+ { "sdt", "Shuadit" },
+ { "sdu", "Sarudu" },
+ { "sdx", "Sibu Melanau" },
+ { "sdz", "Sallands" },
+ { "sea", "Semai" },
+ { "seb", "Shempire Senoufo" },
+ { "sec", "Sechelt" },
+ { "sed", "Sedang" },
+ { "see", "Seneca" },
+ { "sef", "Cebaara Senoufo" },
+ { "seg", "Segeju" },
+ { "seh", "Sena" },
+ { "sei", "Seri" },
+ { "sej", "Sene" },
+ { "sek", "Sekani" },
+ { "sel", "Selkup" },
+ { "sen", "Nanerigé Sénoufo" },
+ { "seo", "Suarmin" },
+ { "sep", "Sìcìté Sénoufo" },
+ { "seq", "Senara Sénoufo" },
+ { "ser", "Serrano" },
+ { "ses", "Koyraboro Senni Songhai" },
+ { "set", "Sentani" },
+ { "seu", "Serui-Laut" },
+ { "sev", "Nyarafolo Senoufo" },
+ { "sew", "Sewa Bay" },
+ { "sey", "Secoya" },
+ { "sez", "Senthang Chin" },
+ { "sfb", "Langue des signes de Belgique Francophone" },
+ { "sfe", "Eastern Subanen" },
+ { "sfm", "Small Flowery Miao" },
+ { "sfs", "South African Sign Language" },
+ { "sfw", "Sehwi" },
+ { "sga", "Old Irish (to 900)" },
+ { "sgb", "Mag-antsi Ayta" },
+ { "sgc", "Kipsigis" },
+ { "sgd", "Surigaonon" },
+ { "sge", "Segai" },
+ { "sgg", "Swiss-German Sign Language" },
+ { "sgh", "Shughni" },
+ { "sgi", "Suga" },
+ { "sgj", "Surgujia" },
+ { "sgk", "Sangkong" },
+ { "sgm", "Singa" },
+ { "sgo", "Songa" },
+ { "sgp", "Singpho" },
+ { "sgr", "Sangisari" },
+ { "sgs", "Samogitian" },
+ { "sgt", "Brokpake" },
+ { "sgu", "Salas" },
+ { "sgw", "Sebat Bet Gurage" },
+ { "sgx", "Sierra Leone Sign Language" },
+ { "sgy", "Sanglechi" },
+ { "sgz", "Sursurunga" },
+ { "sha", "Shall-Zwall" },
+ { "shb", "Ninam" },
+ { "shc", "Sonde" },
+ { "shd", "Kundal Shahi" },
+ { "she", "Sheko" },
+ { "shg", "Shua" },
+ { "shh", "Shoshoni" },
+ { "shi", "Tachelhit" },
+ { "shj", "Shatt" },
+ { "shk", "Shilluk" },
+ { "shl", "Shendu" },
+ { "shm", "Shahrudi" },
+ { "shn", "Shan" },
+ { "sho", "Shanga" },
+ { "shp", "Shipibo-Conibo" },
+ { "shq", "Sala" },
+ { "shr", "Shi" },
+ { "shs", "Shuswap" },
+ { "sht", "Shasta" },
+ { "shu", "Chadian Arabic" },
+ { "shv", "Shehri" },
+ { "shw", "Shwai" },
+ { "shx", "She" },
+ { "shy", "Tachawit" },
+ { "shz", "Syenara Senoufo" },
+ { "sia", "Akkala Sami" },
+ { "sib", "Sebop" },
+ { "sid", "Sidamo" },
+ { "sie", "Simaa" },
+ { "sif", "Siamou" },
+ { "sig", "Paasaal" },
+ { "sih", "Zire" },
+ { "sii", "Shom Peng" },
+ { "sij", "Numbami" },
+ { "sik", "Sikiana" },
+ { "sil", "Tumulung Sisaala" },
+ { "sim", "Mende (Papua New Guinea)" },
+ { "sin", "Sinhala" },
+ { "sip", "Sikkimese" },
+ { "siq", "Sonia" },
+ { "sir", "Siri" },
+ { "sis", "Siuslaw" },
+ { "siu", "Sinagen" },
+ { "siv", "Sumariup" },
+ { "siw", "Siwai" },
+ { "six", "Sumau" },
+ { "siy", "Sivandi" },
+ { "siz", "Siwi" },
+ { "sja", "Epena" },
+ { "sjb", "Sajau Basap" },
+ { "sjd", "Kildin Sami" },
+ { "sje", "Pite Sami" },
+ { "sjg", "Assangori" },
+ { "sjk", "Kemi Sami" },
+ { "sjl", "Sajalong" },
+ { "sjm", "Mapun" },
+ { "sjn", "Sindarin" },
+ { "sjo", "Xibe" },
+ { "sjp", "Surjapuri" },
+ { "sjr", "Siar-Lak" },
+ { "sjs", "Senhaja De Srair" },
+ { "sjt", "Ter Sami" },
+ { "sju", "Ume Sami" },
+ { "sjw", "Shawnee" },
+ { "ska", "Skagit" },
+ { "skb", "Saek" },
+ { "skc", "Ma Manda" },
+ { "skd", "Southern Sierra Miwok" },
+ { "ske", "Seke (Vanuatu)" },
+ { "skf", "Sakirabiá" },
+ { "skg", "Sakalava Malagasy" },
+ { "skh", "Sikule" },
+ { "ski", "Sika" },
+ { "skj", "Seke (Nepal)" },
+ { "skk", "Sok" },
+ { "skm", "Kutong" },
+ { "skn", "Kolibugan Subanon" },
+ { "sko", "Seko Tengah" },
+ { "skp", "Sekapan" },
+ { "skq", "Sininkere" },
+ { "skr", "Seraiki" },
+ { "sks", "Maia" },
+ { "skt", "Sakata" },
+ { "sku", "Sakao" },
+ { "skv", "Skou" },
+ { "skw", "Skepi Creole Dutch" },
+ { "skx", "Seko Padang" },
+ { "sky", "Sikaiana" },
+ { "skz", "Sekar" },
+ { "slc", "Sáliba" },
+ { "sld", "Sissala" },
+ { "sle", "Sholaga" },
+ { "slf", "Swiss-Italian Sign Language" },
+ { "slg", "Selungai Murut" },
+ { "slh", "Southern Puget Sound Salish" },
+ { "sli", "Lower Silesian" },
+ { "slj", "Salumá" },
+ { "slk", "Slovak" },
+ { "sll", "Salt-Yui" },
+ { "slm", "Pangutaran Sama" },
+ { "sln", "Salinan" },
+ { "slp", "Lamaholot" },
+ { "slq", "Salchuq" },
+ { "slr", "Salar" },
+ { "sls", "Singapore Sign Language" },
+ { "slt", "Sila" },
+ { "slu", "Selaru" },
+ { "slv", "Slovenian" },
+ { "slw", "Sialum" },
+ { "slx", "Salampasu" },
+ { "sly", "Selayar" },
+ { "slz", "Ma'ya" },
+ { "sma", "Southern Sami" },
+ { "smb", "Simbari" },
+ { "smc", "Som" },
+ { "smd", "Sama" },
+ { "sme", "Northern Sami" },
+ { "smf", "Auwe" },
+ { "smg", "Simbali" },
+ { "smh", "Samei" },
+ { "smj", "Lule Sami" },
+ { "smk", "Bolinao" },
+ { "sml", "Central Sama" },
+ { "smm", "Musasa" },
+ { "smn", "Inari Sami" },
+ { "smo", "Samoan" },
+ { "smp", "Samaritan" },
+ { "smq", "Samo" },
+ { "smr", "Simeulue" },
+ { "sms", "Skolt Sami" },
+ { "smt", "Simte" },
+ { "smu", "Somray" },
+ { "smv", "Samvedi" },
+ { "smw", "Sumbawa" },
+ { "smx", "Samba" },
+ { "smy", "Semnani" },
+ { "smz", "Simeku" },
+ { "sna", "Shona" },
+ { "snb", "Sebuyau" },
+ { "snc", "Sinaugoro" },
+ { "snd", "Sindhi" },
+ { "sne", "Bau Bidayuh" },
+ { "snf", "Noon" },
+ { "sng", "Sanga (Democratic Republic of Congo)" },
+ { "snh", "Shinabo" },
+ { "sni", "Sensi" },
+ { "snj", "Riverain Sango" },
+ { "snk", "Soninke" },
+ { "snl", "Sangil" },
+ { "snm", "Southern Ma'di" },
+ { "snn", "Siona" },
+ { "sno", "Snohomish" },
+ { "snp", "Siane" },
+ { "snq", "Sangu (Gabon)" },
+ { "snr", "Sihan" },
+ { "sns", "South West Bay" },
+ { "snu", "Senggi" },
+ { "snv", "Sa'ban" },
+ { "snw", "Selee" },
+ { "snx", "Sam" },
+ { "sny", "Saniyo-Hiyewe" },
+ { "snz", "Sinsauru" },
+ { "soa", "Thai Song" },
+ { "sob", "Sobei" },
+ { "soc", "So (Democratic Republic of Congo)" },
+ { "sod", "Songoora" },
+ { "soe", "Songomeno" },
+ { "sog", "Sogdian" },
+ { "soh", "Aka" },
+ { "soi", "Sonha" },
+ { "soj", "Soi" },
+ { "sok", "Sokoro" },
+ { "sol", "Solos" },
+ { "som", "Somali" },
+ { "soo", "Songo" },
+ { "sop", "Songe" },
+ { "soq", "Kanasi" },
+ { "sor", "Somrai" },
+ { "sos", "Seeku" },
+ { "sot", "Southern Sotho" },
+ { "sou", "Southern Thai" },
+ { "sov", "Sonsorol" },
+ { "sow", "Sowanda" },
+ { "sox", "Swo" },
+ { "soy", "Miyobe" },
+ { "soz", "Temi" },
+ { "spa", "Spanish" },
+ { "spb", "Sepa (Indonesia)" },
+ { "spc", "Sapé" },
+ { "spd", "Saep" },
+ { "spe", "Sepa (Papua New Guinea)" },
+ { "spg", "Sian" },
+ { "spi", "Saponi" },
+ { "spk", "Sengo" },
+ { "spl", "Selepet" },
+ { "spm", "Akukem" },
+ { "spo", "Spokane" },
+ { "spp", "Supyire Senoufo" },
+ { "spq", "Loreto-Ucayali Spanish" },
+ { "spr", "Saparua" },
+ { "sps", "Saposa" },
+ { "spt", "Spiti Bhoti" },
+ { "spu", "Sapuan" },
+ { "spv", "Sambalpuri" },
+ { "spx", "South Picene" },
+ { "spy", "Sabaot" },
+ { "sqa", "Shama-Sambuga" },
+ { "sqh", "Shau" },
+ { "sqi", "Albanian" },
+ { "sqk", "Albanian Sign Language" },
+ { "sqm", "Suma" },
+ { "sqn", "Susquehannock" },
+ { "sqo", "Sorkhei" },
+ { "sqq", "Sou" },
+ { "sqr", "Siculo Arabic" },
+ { "sqs", "Sri Lankan Sign Language" },
+ { "sqt", "Soqotri" },
+ { "squ", "Squamish" },
+ { "sra", "Saruga" },
+ { "srb", "Sora" },
+ { "src", "Logudorese Sardinian" },
+ { "srd", "Sardinian" },
+ { "sre", "Sara" },
+ { "srf", "Nafi" },
+ { "srg", "Sulod" },
+ { "srh", "Sarikoli" },
+ { "sri", "Siriano" },
+ { "srk", "Serudung Murut" },
+ { "srl", "Isirawa" },
+ { "srm", "Saramaccan" },
+ { "srn", "Sranan Tongo" },
+ { "sro", "Campidanese Sardinian" },
+ { "srp", "Serbian" },
+ { "srq", "Sirionó" },
+ { "srr", "Serer" },
+ { "srs", "Sarsi" },
+ { "srt", "Sauri" },
+ { "sru", "Suruí" },
+ { "srv", "Southern Sorsoganon" },
+ { "srw", "Serua" },
+ { "srx", "Sirmauri" },
+ { "sry", "Sera" },
+ { "srz", "Shahmirzadi" },
+ { "ssb", "Southern Sama" },
+ { "ssc", "Suba-Simbiti" },
+ { "ssd", "Siroi" },
+ { "sse", "Balangingi" },
+ { "ssf", "Thao" },
+ { "ssg", "Seimat" },
+ { "ssh", "Shihhi Arabic" },
+ { "ssi", "Sansi" },
+ { "ssj", "Sausi" },
+ { "ssk", "Sunam" },
+ { "ssl", "Western Sisaala" },
+ { "ssm", "Semnam" },
+ { "ssn", "Waata" },
+ { "sso", "Sissano" },
+ { "ssp", "Spanish Sign Language" },
+ { "ssq", "So'a" },
+ { "ssr", "Swiss-French Sign Language" },
+ { "sss", "Sô" },
+ { "sst", "Sinasina" },
+ { "ssu", "Susuami" },
+ { "ssv", "Shark Bay" },
+ { "ssw", "Swati" },
+ { "ssx", "Samberigi" },
+ { "ssy", "Saho" },
+ { "ssz", "Sengseng" },
+ { "sta", "Settla" },
+ { "stb", "Northern Subanen" },
+ { "std", "Sentinel" },
+ { "ste", "Liana-Seti" },
+ { "stf", "Seta" },
+ { "stg", "Trieng" },
+ { "sth", "Shelta" },
+ { "sti", "Bulo Stieng" },
+ { "stj", "Matya Samo" },
+ { "stk", "Arammba" },
+ { "stl", "Stellingwerfs" },
+ { "stm", "Setaman" },
+ { "stn", "Owa" },
+ { "sto", "Stoney" },
+ { "stp", "Southeastern Tepehuan" },
+ { "stq", "Saterfriesisch" },
+ { "str", "Straits Salish" },
+ { "sts", "Shumashti" },
+ { "stt", "Budeh Stieng" },
+ { "stu", "Samtao" },
+ { "stv", "Silt'e" },
+ { "stw", "Satawalese" },
+ { "sty", "Siberian Tatar" },
+ { "sua", "Sulka" },
+ { "sub", "Suku" },
+ { "suc", "Western Subanon" },
+ { "sue", "Suena" },
+ { "sug", "Suganga" },
+ { "sui", "Suki" },
+ { "suj", "Shubi" },
+ { "suk", "Sukuma" },
+ { "sun", "Sundanese" },
+ { "suq", "Suri" },
+ { "sur", "Mwaghavul" },
+ { "sus", "Susu" },
+ { "sut", "Subtiaba" },
+ { "suv", "Puroik" },
+ { "suw", "Sumbwa" },
+ { "sux", "Sumerian" },
+ { "suy", "Suyá" },
+ { "suz", "Sunwar" },
+ { "sva", "Svan" },
+ { "svb", "Ulau-Suain" },
+ { "svc", "Vincentian Creole English" },
+ { "sve", "Serili" },
+ { "svk", "Slovakian Sign Language" },
+ { "svm", "Slavomolisano" },
+ { "svr", "Savara" },
+ { "svs", "Savosavo" },
+ { "svx", "Skalvian" },
+ { "swa", "Swahili (macrolanguage)" },
+ { "swb", "Maore Comorian" },
+ { "swc", "Congo Swahili" },
+ { "swe", "Swedish" },
+ { "swf", "Sere" },
+ { "swg", "Swabian" },
+ { "swh", "Swahili (individual language)" },
+ { "swi", "Sui" },
+ { "swj", "Sira" },
+ { "swk", "Malawi Sena" },
+ { "swl", "Swedish Sign Language" },
+ { "swm", "Samosa" },
+ { "swn", "Sawknah" },
+ { "swo", "Shanenawa" },
+ { "swp", "Suau" },
+ { "swq", "Sharwa" },
+ { "swr", "Saweru" },
+ { "sws", "Seluwasan" },
+ { "swt", "Sawila" },
+ { "swu", "Suwawa" },
+ { "swv", "Shekhawati" },
+ { "sww", "Sowa" },
+ { "swx", "Suruahá" },
+ { "swy", "Sarua" },
+ { "sxb", "Suba" },
+ { "sxc", "Sicanian" },
+ { "sxe", "Sighu" },
+ { "sxg", "Shixing" },
+ { "sxk", "Southern Kalapuya" },
+ { "sxl", "Selian" },
+ { "sxm", "Samre" },
+ { "sxn", "Sangir" },
+ { "sxo", "Sorothaptic" },
+ { "sxr", "Saaroa" },
+ { "sxs", "Sasaru" },
+ { "sxu", "Upper Saxon" },
+ { "sxw", "Saxwe Gbe" },
+ { "sya", "Siang" },
+ { "syb", "Central Subanen" },
+ { "syc", "Classical Syriac" },
+ { "syi", "Seki" },
+ { "syk", "Sukur" },
+ { "syl", "Sylheti" },
+ { "sym", "Maya Samo" },
+ { "syn", "Senaya" },
+ { "syo", "Suoy" },
+ { "syr", "Syriac" },
+ { "sys", "Sinyar" },
+ { "syw", "Kagate" },
+ { "syy", "Al-Sayyid Bedouin Sign Language" },
+ { "sza", "Semelai" },
+ { "szb", "Ngalum" },
+ { "szc", "Semaq Beri" },
+ { "szd", "Seru" },
+ { "sze", "Seze" },
+ { "szg", "Sengele" },
+ { "szl", "Silesian" },
+ { "szn", "Sula" },
+ { "szp", "Suabo" },
+ { "szv", "Isu (Fako Division)" },
+ { "szw", "Sawai" },
+ { "taa", "Lower Tanana" },
+ { "tab", "Tabassaran" },
+ { "tac", "Lowland Tarahumara" },
+ { "tad", "Tause" },
+ { "tae", "Tariana" },
+ { "taf", "Tapirapé" },
+ { "tag", "Tagoi" },
+ { "tah", "Tahitian" },
+ { "taj", "Eastern Tamang" },
+ { "tak", "Tala" },
+ { "tal", "Tal" },
+ { "tam", "Tamil" },
+ { "tan", "Tangale" },
+ { "tao", "Yami" },
+ { "tap", "Taabwa" },
+ { "taq", "Tamasheq" },
+ { "tar", "Central Tarahumara" },
+ { "tas", "Tay Boi" },
+ { "tat", "Tatar" },
+ { "tau", "Upper Tanana" },
+ { "tav", "Tatuyo" },
+ { "taw", "Tai" },
+ { "tax", "Tamki" },
+ { "tay", "Atayal" },
+ { "taz", "Tocho" },
+ { "tba", "Aikanã" },
+ { "tbb", "Tapeba" },
+ { "tbc", "Takia" },
+ { "tbd", "Kaki Ae" },
+ { "tbe", "Tanimbili" },
+ { "tbf", "Mandara" },
+ { "tbg", "North Tairora" },
+ { "tbh", "Thurawal" },
+ { "tbi", "Gaam" },
+ { "tbj", "Tiang" },
+ { "tbk", "Calamian Tagbanwa" },
+ { "tbl", "Tboli" },
+ { "tbm", "Tagbu" },
+ { "tbn", "Barro Negro Tunebo" },
+ { "tbo", "Tawala" },
+ { "tbp", "Taworta" },
+ { "tbr", "Tumtum" },
+ { "tbs", "Tanguat" },
+ { "tbt", "Tembo (Kitembo)" },
+ { "tbu", "Tubar" },
+ { "tbv", "Tobo" },
+ { "tbw", "Tagbanwa" },
+ { "tbx", "Kapin" },
+ { "tby", "Tabaru" },
+ { "tbz", "Ditammari" },
+ { "tca", "Ticuna" },
+ { "tcb", "Tanacross" },
+ { "tcc", "Datooga" },
+ { "tcd", "Tafi" },
+ { "tce", "Southern Tutchone" },
+ { "tcf", "Malinaltepec Me'phaa" },
+ { "tcg", "Tamagario" },
+ { "tch", "Turks And Caicos Creole English" },
+ { "tci", "Wára" },
+ { "tck", "Tchitchege" },
+ { "tcl", "Taman (Myanmar)" },
+ { "tcm", "Tanahmerah" },
+ { "tcn", "Tichurong" },
+ { "tco", "Taungyo" },
+ { "tcp", "Tawr Chin" },
+ { "tcq", "Kaiy" },
+ { "tcs", "Torres Strait Creole" },
+ { "tct", "T'en" },
+ { "tcu", "Southeastern Tarahumara" },
+ { "tcw", "Tecpatlán Totonac" },
+ { "tcx", "Toda" },
+ { "tcy", "Tulu" },
+ { "tcz", "Thado Chin" },
+ { "tda", "Tagdal" },
+ { "tdb", "Panchpargania" },
+ { "tdc", "Emberá-Tadó" },
+ { "tdd", "Tai Nüa" },
+ { "tde", "Tiranige Diga Dogon" },
+ { "tdf", "Talieng" },
+ { "tdg", "Western Tamang" },
+ { "tdh", "Thulung" },
+ { "tdi", "Tomadino" },
+ { "tdj", "Tajio" },
+ { "tdk", "Tambas" },
+ { "tdl", "Sur" },
+ { "tdn", "Tondano" },
+ { "tdo", "Teme" },
+ { "tdq", "Tita" },
+ { "tdr", "Todrah" },
+ { "tds", "Doutai" },
+ { "tdt", "Tetun Dili" },
+ { "tdu", "Tempasuk Dusun" },
+ { "tdv", "Toro" },
+ { "tdx", "Tandroy-Mahafaly Malagasy" },
+ { "tdy", "Tadyawan" },
+ { "tea", "Temiar" },
+ { "teb", "Tetete" },
+ { "tec", "Terik" },
+ { "ted", "Tepo Krumen" },
+ { "tee", "Huehuetla Tepehua" },
+ { "tef", "Teressa" },
+ { "teg", "Teke-Tege" },
+ { "teh", "Tehuelche" },
+ { "tei", "Torricelli" },
+ { "tek", "Ibali Teke" },
+ { "tel", "Telugu" },
+ { "tem", "Timne" },
+ { "ten", "Tama (Colombia)" },
+ { "teo", "Teso" },
+ { "tep", "Tepecano" },
+ { "teq", "Temein" },
+ { "ter", "Tereno" },
+ { "tes", "Tengger" },
+ { "tet", "Tetum" },
+ { "teu", "Soo" },
+ { "tev", "Teor" },
+ { "tew", "Tewa (USA)" },
+ { "tex", "Tennet" },
+ { "tey", "Tulishi" },
+ { "tfi", "Tofin Gbe" },
+ { "tfn", "Tanaina" },
+ { "tfo", "Tefaro" },
+ { "tfr", "Teribe" },
+ { "tft", "Ternate" },
+ { "tga", "Sagalla" },
+ { "tgb", "Tobilung" },
+ { "tgc", "Tigak" },
+ { "tgd", "Ciwogai" },
+ { "tge", "Eastern Gorkha Tamang" },
+ { "tgf", "Chalikha" },
+ { "tgh", "Tobagonian Creole English" },
+ { "tgi", "Lawunuia" },
+ { "tgj", "Tagin" },
+ { "tgk", "Tajik" },
+ { "tgl", "Tagalog" },
+ { "tgn", "Tandaganon" },
+ { "tgo", "Sudest" },
+ { "tgp", "Tangoa" },
+ { "tgq", "Tring" },
+ { "tgr", "Tareng" },
+ { "tgs", "Nume" },
+ { "tgt", "Central Tagbanwa" },
+ { "tgu", "Tanggu" },
+ { "tgv", "Tingui-Boto" },
+ { "tgw", "Tagwana Senoufo" },
+ { "tgx", "Tagish" },
+ { "tgy", "Togoyo" },
+ { "tgz", "Tagalaka" },
+ { "tha", "Thai" },
+ { "thc", "Tai Hang Tong" },
+ { "thd", "Thayore" },
+ { "the", "Chitwania Tharu" },
+ { "thf", "Thangmi" },
+ { "thh", "Northern Tarahumara" },
+ { "thi", "Tai Long" },
+ { "thk", "Tharaka" },
+ { "thl", "Dangaura Tharu" },
+ { "thm", "Aheu" },
+ { "thn", "Thachanadan" },
+ { "thp", "Thompson" },
+ { "thq", "Kochila Tharu" },
+ { "thr", "Rana Tharu" },
+ { "ths", "Thakali" },
+ { "tht", "Tahltan" },
+ { "thu", "Thuri" },
+ { "thv", "Tahaggart Tamahaq" },
+ { "thw", "Thudam" },
+ { "thx", "The" },
+ { "thy", "Tha" },
+ { "thz", "Tayart Tamajeq" },
+ { "tia", "Tidikelt Tamazight" },
+ { "tic", "Tira" },
+ { "tid", "Tidong" },
+ { "tif", "Tifal" },
+ { "tig", "Tigre" },
+ { "tih", "Timugon Murut" },
+ { "tii", "Tiene" },
+ { "tij", "Tilung" },
+ { "tik", "Tikar" },
+ { "til", "Tillamook" },
+ { "tim", "Timbe" },
+ { "tin", "Tindi" },
+ { "tio", "Teop" },
+ { "tip", "Trimuris" },
+ { "tiq", "Tiéfo" },
+ { "tir", "Tigrinya" },
+ { "tis", "Masadiit Itneg" },
+ { "tit", "Tinigua" },
+ { "tiu", "Adasen" },
+ { "tiv", "Tiv" },
+ { "tiw", "Tiwi" },
+ { "tix", "Southern Tiwa" },
+ { "tiy", "Tiruray" },
+ { "tiz", "Tai Hongjin" },
+ { "tja", "Tajuasohn" },
+ { "tjg", "Tunjung" },
+ { "tji", "Northern Tujia" },
+ { "tjl", "Tai Laing" },
+ { "tjm", "Timucua" },
+ { "tjn", "Tonjon" },
+ { "tjo", "Temacine Tamazight" },
+ { "tjs", "Southern Tujia" },
+ { "tju", "Tjurruru" },
+ { "tjw", "Djabwurrung" },
+ { "tka", "Truká" },
+ { "tkb", "Buksa" },
+ { "tkd", "Tukudede" },
+ { "tke", "Takwane" },
+ { "tkf", "Tukumanféd" },
+ { "tkg", "Tesaka Malagasy" },
+ { "tkl", "Tokelau" },
+ { "tkm", "Takelma" },
+ { "tkn", "Toku-No-Shima" },
+ { "tkp", "Tikopia" },
+ { "tkq", "Tee" },
+ { "tkr", "Tsakhur" },
+ { "tks", "Takestani" },
+ { "tkt", "Kathoriya Tharu" },
+ { "tku", "Upper Necaxa Totonac" },
+ { "tkw", "Teanu" },
+ { "tkx", "Tangko" },
+ { "tkz", "Takua" },
+ { "tla", "Southwestern Tepehuan" },
+ { "tlb", "Tobelo" },
+ { "tlc", "Yecuatla Totonac" },
+ { "tld", "Talaud" },
+ { "tlf", "Telefol" },
+ { "tlg", "Tofanma" },
+ { "tlh", "Klingon" },
+ { "tli", "Tlingit" },
+ { "tlj", "Talinga-Bwisi" },
+ { "tlk", "Taloki" },
+ { "tll", "Tetela" },
+ { "tlm", "Tolomako" },
+ { "tln", "Talondo'" },
+ { "tlo", "Talodi" },
+ { "tlp", "Filomena Mata-Coahuitlán Totonac" },
+ { "tlq", "Tai Loi" },
+ { "tlr", "Talise" },
+ { "tls", "Tambotalo" },
+ { "tlt", "Teluti" },
+ { "tlu", "Tulehu" },
+ { "tlv", "Taliabu" },
+ { "tlx", "Khehek" },
+ { "tly", "Talysh" },
+ { "tma", "Tama (Chad)" },
+ { "tmb", "Katbol" },
+ { "tmc", "Tumak" },
+ { "tmd", "Haruai" },
+ { "tme", "Tremembé" },
+ { "tmf", "Toba-Maskoy" },
+ { "tmg", "Ternateño" },
+ { "tmh", "Tamashek" },
+ { "tmi", "Tutuba" },
+ { "tmj", "Samarokena" },
+ { "tmk", "Northwestern Tamang" },
+ { "tml", "Tamnim Citak" },
+ { "tmm", "Tai Thanh" },
+ { "tmn", "Taman (Indonesia)" },
+ { "tmo", "Temoq" },
+ { "tmp", "Tai Mène" },
+ { "tmq", "Tumleo" },
+ { "tmr", "Jewish Babylonian Aramaic (ca. 200-1200 CE)" },
+ { "tms", "Tima" },
+ { "tmt", "Tasmate" },
+ { "tmu", "Iau" },
+ { "tmv", "Tembo (Motembo)" },
+ { "tmw", "Temuan" },
+ { "tmy", "Tami" },
+ { "tmz", "Tamanaku" },
+ { "tna", "Tacana" },
+ { "tnb", "Western Tunebo" },
+ { "tnc", "Tanimuca-Retuarã" },
+ { "tnd", "Angosturas Tunebo" },
+ { "tne", "Tinoc Kallahan" },
+ { "tng", "Tobanga" },
+ { "tnh", "Maiani" },
+ { "tni", "Tandia" },
+ { "tnk", "Kwamera" },
+ { "tnl", "Lenakel" },
+ { "tnm", "Tabla" },
+ { "tnn", "North Tanna" },
+ { "tno", "Toromono" },
+ { "tnp", "Whitesands" },
+ { "tnq", "Taino" },
+ { "tnr", "Ménik" },
+ { "tns", "Tenis" },
+ { "tnt", "Tontemboan" },
+ { "tnu", "Tay Khang" },
+ { "tnv", "Tangchangya" },
+ { "tnw", "Tonsawang" },
+ { "tnx", "Tanema" },
+ { "tny", "Tongwe" },
+ { "tnz", "Tonga (Thailand)" },
+ { "tob", "Toba" },
+ { "toc", "Coyutla Totonac" },
+ { "tod", "Toma" },
+ { "toe", "Tomedes" },
+ { "tof", "Gizrra" },
+ { "tog", "Tonga (Nyasa)" },
+ { "toh", "Gitonga" },
+ { "toi", "Tonga (Zambia)" },
+ { "toj", "Tojolabal" },
+ { "tol", "Tolowa" },
+ { "tom", "Tombulu" },
+ { "ton", "Tonga (Tonga Islands)" },
+ { "too", "Xicotepec De Juárez Totonac" },
+ { "top", "Papantla Totonac" },
+ { "toq", "Toposa" },
+ { "tor", "Togbo-Vara Banda" },
+ { "tos", "Highland Totonac" },
+ { "tou", "Tho" },
+ { "tov", "Upper Taromi" },
+ { "tow", "Jemez" },
+ { "tox", "Tobian" },
+ { "toy", "Topoiyo" },
+ { "toz", "To" },
+ { "tpa", "Taupota" },
+ { "tpc", "Azoyú Me'phaa" },
+ { "tpe", "Tippera" },
+ { "tpf", "Tarpia" },
+ { "tpg", "Kula" },
+ { "tpi", "Tok Pisin" },
+ { "tpj", "Tapieté" },
+ { "tpk", "Tupinikin" },
+ { "tpl", "Tlacoapa Me'phaa" },
+ { "tpm", "Tampulma" },
+ { "tpn", "Tupinambá" },
+ { "tpo", "Tai Pao" },
+ { "tpp", "Pisaflores Tepehua" },
+ { "tpq", "Tukpa" },
+ { "tpr", "Tuparí" },
+ { "tpt", "Tlachichilco Tepehua" },
+ { "tpu", "Tampuan" },
+ { "tpv", "Tanapag" },
+ { "tpw", "Tupí" },
+ { "tpx", "Acatepec Me'phaa" },
+ { "tpy", "Trumai" },
+ { "tpz", "Tinputz" },
+ { "tqb", "Tembé" },
+ { "tql", "Lehali" },
+ { "tqm", "Turumsa" },
+ { "tqn", "Tenino" },
+ { "tqo", "Toaripi" },
+ { "tqp", "Tomoip" },
+ { "tqq", "Tunni" },
+ { "tqr", "Torona" },
+ { "tqt", "Western Totonac" },
+ { "tqu", "Touo" },
+ { "tqw", "Tonkawa" },
+ { "tra", "Tirahi" },
+ { "trb", "Terebu" },
+ { "trc", "Copala Triqui" },
+ { "trd", "Turi" },
+ { "tre", "East Tarangan" },
+ { "trf", "Trinidadian Creole English" },
+ { "trg", "Lishán Didán" },
+ { "trh", "Turaka" },
+ { "tri", "Trió" },
+ { "trj", "Toram" },
+ { "trl", "Traveller Scottish" },
+ { "trm", "Tregami" },
+ { "trn", "Trinitario" },
+ { "tro", "Tarao Naga" },
+ { "trp", "Kok Borok" },
+ { "trq", "San Martín Itunyoso Triqui" },
+ { "trr", "Taushiro" },
+ { "trs", "Chicahuaxtla Triqui" },
+ { "trt", "Tunggare" },
+ { "tru", "Turoyo" },
+ { "trv", "Taroko" },
+ { "trw", "Torwali" },
+ { "trx", "Tringgus-Sembaan Bidayuh" },
+ { "try", "Turung" },
+ { "trz", "Torá" },
+ { "tsa", "Tsaangi" },
+ { "tsb", "Tsamai" },
+ { "tsc", "Tswa" },
+ { "tsd", "Tsakonian" },
+ { "tse", "Tunisian Sign Language" },
+ { "tsf", "Southwestern Tamang" },
+ { "tsg", "Tausug" },
+ { "tsh", "Tsuvan" },
+ { "tsi", "Tsimshian" },
+ { "tsj", "Tshangla" },
+ { "tsk", "Tseku" },
+ { "tsl", "Ts'ün-Lao" },
+ { "tsm", "Turkish Sign Language" },
+ { "tsn", "Tswana" },
+ { "tso", "Tsonga" },
+ { "tsp", "Northern Toussian" },
+ { "tsq", "Thai Sign Language" },
+ { "tsr", "Akei" },
+ { "tss", "Taiwan Sign Language" },
+ { "tst", "Tondi Songway Kiini" },
+ { "tsu", "Tsou" },
+ { "tsv", "Tsogo" },
+ { "tsw", "Tsishingini" },
+ { "tsx", "Mubami" },
+ { "tsy", "Tebul Sign Language" },
+ { "tsz", "Purepecha" },
+ { "tta", "Tutelo" },
+ { "ttb", "Gaa" },
+ { "ttc", "Tektiteko" },
+ { "ttd", "Tauade" },
+ { "tte", "Bwanabwana" },
+ { "ttf", "Tuotomb" },
+ { "ttg", "Tutong" },
+ { "tth", "Upper Ta'oih" },
+ { "tti", "Tobati" },
+ { "ttj", "Tooro" },
+ { "ttk", "Totoro" },
+ { "ttl", "Totela" },
+ { "ttm", "Northern Tutchone" },
+ { "ttn", "Towei" },
+ { "tto", "Lower Ta'oih" },
+ { "ttp", "Tombelala" },
+ { "ttq", "Tawallammat Tamajaq" },
+ { "ttr", "Tera" },
+ { "tts", "Northeastern Thai" },
+ { "ttt", "Muslim Tat" },
+ { "ttu", "Torau" },
+ { "ttv", "Titan" },
+ { "ttw", "Long Wat" },
+ { "tty", "Sikaritai" },
+ { "ttz", "Tsum" },
+ { "tua", "Wiarumus" },
+ { "tub", "Tübatulabal" },
+ { "tuc", "Mutu" },
+ { "tud", "Tuxá" },
+ { "tue", "Tuyuca" },
+ { "tuf", "Central Tunebo" },
+ { "tug", "Tunia" },
+ { "tuh", "Taulil" },
+ { "tui", "Tupuri" },
+ { "tuj", "Tugutil" },
+ { "tuk", "Turkmen" },
+ { "tul", "Tula" },
+ { "tum", "Tumbuka" },
+ { "tun", "Tunica" },
+ { "tuo", "Tucano" },
+ { "tuq", "Tedaga" },
+ { "tur", "Turkish" },
+ { "tus", "Tuscarora" },
+ { "tuu", "Tututni" },
+ { "tuv", "Turkana" },
+ { "tux", "Tuxináwa" },
+ { "tuy", "Tugen" },
+ { "tuz", "Turka" },
+ { "tva", "Vaghua" },
+ { "tvd", "Tsuvadi" },
+ { "tve", "Te'un" },
+ { "tvk", "Southeast Ambrym" },
+ { "tvl", "Tuvalu" },
+ { "tvm", "Tela-Masbuar" },
+ { "tvn", "Tavoyan" },
+ { "tvo", "Tidore" },
+ { "tvs", "Taveta" },
+ { "tvt", "Tutsa Naga" },
+ { "tvu", "Tunen" },
+ { "tvw", "Sedoa" },
+ { "tvy", "Timor Pidgin" },
+ { "twa", "Twana" },
+ { "twb", "Western Tawbuid" },
+ { "twc", "Teshenawa" },
+ { "twd", "Twents" },
+ { "twe", "Tewa (Indonesia)" },
+ { "twf", "Northern Tiwa" },
+ { "twg", "Tereweng" },
+ { "twh", "Tai Dón" },
+ { "twi", "Twi" },
+ { "twl", "Tawara" },
+ { "twm", "Tawang Monpa" },
+ { "twn", "Twendi" },
+ { "two", "Tswapong" },
+ { "twp", "Ere" },
+ { "twq", "Tasawaq" },
+ { "twr", "Southwestern Tarahumara" },
+ { "twt", "Turiwára" },
+ { "twu", "Termanu" },
+ { "tww", "Tuwari" },
+ { "twx", "Tewe" },
+ { "twy", "Tawoyan" },
+ { "txa", "Tombonuo" },
+ { "txb", "Tokharian B" },
+ { "txc", "Tsetsaut" },
+ { "txe", "Totoli" },
+ { "txg", "Tangut" },
+ { "txh", "Thracian" },
+ { "txi", "Ikpeng" },
+ { "txm", "Tomini" },
+ { "txn", "West Tarangan" },
+ { "txo", "Toto" },
+ { "txq", "Tii" },
+ { "txr", "Tartessian" },
+ { "txs", "Tonsea" },
+ { "txt", "Citak" },
+ { "txu", "Kayapó" },
+ { "txx", "Tatana" },
+ { "txy", "Tanosy Malagasy" },
+ { "tya", "Tauya" },
+ { "tye", "Kyanga" },
+ { "tyh", "O'du" },
+ { "tyi", "Teke-Tsaayi" },
+ { "tyj", "Tai Do" },
+ { "tyl", "Thu Lao" },
+ { "tyn", "Kombai" },
+ { "typ", "Thaypan" },
+ { "tyr", "Tai Daeng" },
+ { "tys", "Tày Sa Pa" },
+ { "tyt", "Tày Tac" },
+ { "tyu", "Kua" },
+ { "tyv", "Tuvinian" },
+ { "tyx", "Teke-Tyee" },
+ { "tyz", "Tày" },
+ { "tza", "Tanzanian Sign Language" },
+ { "tzh", "Tzeltal" },
+ { "tzj", "Tz'utujil" },
+ { "tzl", "Talossan" },
+ { "tzm", "Central Atlas Tamazight" },
+ { "tzn", "Tugun" },
+ { "tzo", "Tzotzil" },
+ { "tzx", "Tabriak" },
+ { "uam", "Uamué" },
+ { "uan", "Kuan" },
+ { "uar", "Tairuma" },
+ { "uba", "Ubang" },
+ { "ubi", "Ubi" },
+ { "ubl", "Buhi'non Bikol" },
+ { "ubr", "Ubir" },
+ { "ubu", "Umbu-Ungu" },
+ { "uby", "Ubykh" },
+ { "uda", "Uda" },
+ { "ude", "Udihe" },
+ { "udg", "Muduga" },
+ { "udi", "Udi" },
+ { "udj", "Ujir" },
+ { "udl", "Wuzlam" },
+ { "udm", "Udmurt" },
+ { "udu", "Uduk" },
+ { "ues", "Kioko" },
+ { "ufi", "Ufim" },
+ { "uga", "Ugaritic" },
+ { "ugb", "Kuku-Ugbanh" },
+ { "uge", "Ughele" },
+ { "ugn", "Ugandan Sign Language" },
+ { "ugo", "Ugong" },
+ { "ugy", "Uruguayan Sign Language" },
+ { "uha", "Uhami" },
+ { "uhn", "Damal" },
+ { "uig", "Uighur" },
+ { "uis", "Uisai" },
+ { "uiv", "Iyive" },
+ { "uji", "Tanjijili" },
+ { "uka", "Kaburi" },
+ { "ukg", "Ukuriguma" },
+ { "ukh", "Ukhwejo" },
+ { "ukl", "Ukrainian Sign Language" },
+ { "ukp", "Ukpe-Bayobiri" },
+ { "ukq", "Ukwa" },
+ { "ukr", "Ukrainian" },
+ { "uks", "Urubú-Kaapor Sign Language" },
+ { "uku", "Ukue" },
+ { "ukw", "Ukwuani-Aboh-Ndoni" },
+ { "uky", "Kuuk-Yak" },
+ { "ula", "Fungwa" },
+ { "ulb", "Ulukwumi" },
+ { "ulc", "Ulch" },
+ { "ule", "Lule" },
+ { "ulf", "Usku" },
+ { "uli", "Ulithian" },
+ { "ulk", "Meriam" },
+ { "ull", "Ullatan" },
+ { "ulm", "Ulumanda'" },
+ { "uln", "Unserdeutsch" },
+ { "ulu", "Uma' Lung" },
+ { "ulw", "Ulwa" },
+ { "uma", "Umatilla" },
+ { "umb", "Umbundu" },
+ { "umc", "Marrucinian" },
+ { "umd", "Umbindhamu" },
+ { "umg", "Umbuygamu" },
+ { "umi", "Ukit" },
+ { "umm", "Umon" },
+ { "umn", "Makyan Naga" },
+ { "umo", "Umotína" },
+ { "ump", "Umpila" },
+ { "umr", "Umbugarla" },
+ { "ums", "Pendau" },
+ { "umu", "Munsee" },
+ { "una", "North Watut" },
+ { "und", "Undetermined" },
+ { "une", "Uneme" },
+ { "ung", "Ngarinyin" },
+ { "unk", "Enawené-Nawé" },
+ { "unm", "Unami" },
+ { "unn", "Kurnai" },
+ { "unr", "Mundari" },
+ { "unu", "Unubahe" },
+ { "unx", "Munda" },
+ { "unz", "Unde Kaili" },
+ { "uok", "Uokha" },
+ { "upi", "Umeda" },
+ { "upv", "Uripiv-Wala-Rano-Atchin" },
+ { "ura", "Urarina" },
+ { "urb", "Urubú-Kaapor" },
+ { "urc", "Urningangg" },
+ { "urd", "Urdu" },
+ { "ure", "Uru" },
+ { "urf", "Uradhi" },
+ { "urg", "Urigina" },
+ { "urh", "Urhobo" },
+ { "uri", "Urim" },
+ { "urk", "Urak Lawoi'" },
+ { "url", "Urali" },
+ { "urm", "Urapmin" },
+ { "urn", "Uruangnirin" },
+ { "uro", "Ura (Papua New Guinea)" },
+ { "urp", "Uru-Pa-In" },
+ { "urr", "Lehalurup" },
+ { "urt", "Urat" },
+ { "uru", "Urumi" },
+ { "urv", "Uruava" },
+ { "urw", "Sop" },
+ { "urx", "Urimo" },
+ { "ury", "Orya" },
+ { "urz", "Uru-Eu-Wau-Wau" },
+ { "usa", "Usarufa" },
+ { "ush", "Ushojo" },
+ { "usi", "Usui" },
+ { "usk", "Usaghade" },
+ { "usp", "Uspanteco" },
+ { "usu", "Uya" },
+ { "uta", "Otank" },
+ { "ute", "Ute-Southern Paiute" },
+ { "utp", "Amba (Solomon Islands)" },
+ { "utr", "Etulo" },
+ { "utu", "Utu" },
+ { "uum", "Urum" },
+ { "uun", "Kulon-Pazeh" },
+ { "uur", "Ura (Vanuatu)" },
+ { "uuu", "U" },
+ { "uve", "West Uvean" },
+ { "uvh", "Uri" },
+ { "uvl", "Lote" },
+ { "uwa", "Kuku-Uwanh" },
+ { "uya", "Doko-Uyanga" },
+ { "uzb", "Uzbek" },
+ { "uzn", "Northern Uzbek" },
+ { "uzs", "Southern Uzbek" },
+ { "vaa", "Vaagri Booli" },
+ { "vae", "Vale" },
+ { "vaf", "Vafsi" },
+ { "vag", "Vagla" },
+ { "vah", "Varhadi-Nagpuri" },
+ { "vai", "Vai" },
+ { "vaj", "Vasekela Bushman" },
+ { "val", "Vehes" },
+ { "vam", "Vanimo" },
+ { "van", "Valman" },
+ { "vao", "Vao" },
+ { "vap", "Vaiphei" },
+ { "var", "Huarijio" },
+ { "vas", "Vasavi" },
+ { "vau", "Vanuma" },
+ { "vav", "Varli" },
+ { "vay", "Wayu" },
+ { "vbb", "Southeast Babar" },
+ { "vbk", "Southwestern Bontok" },
+ { "vec", "Venetian" },
+ { "ved", "Veddah" },
+ { "vel", "Veluws" },
+ { "vem", "Vemgo-Mabas" },
+ { "ven", "Venda" },
+ { "veo", "Ventureño" },
+ { "vep", "Veps" },
+ { "ver", "Mom Jango" },
+ { "vgr", "Vaghri" },
+ { "vgt", "Vlaamse Gebarentaal" },
+ { "vic", "Virgin Islands Creole English" },
+ { "vid", "Vidunda" },
+ { "vie", "Vietnamese" },
+ { "vif", "Vili" },
+ { "vig", "Viemo" },
+ { "vil", "Vilela" },
+ { "vin", "Vinza" },
+ { "vis", "Vishavan" },
+ { "vit", "Viti" },
+ { "viv", "Iduna" },
+ { "vka", "Kariyarra" },
+ { "vki", "Ija-Zuba" },
+ { "vkj", "Kujarge" },
+ { "vkk", "Kaur" },
+ { "vkl", "Kulisusu" },
+ { "vkm", "Kamakan" },
+ { "vko", "Kodeoha" },
+ { "vkp", "Korlai Creole Portuguese" },
+ { "vkt", "Tenggarong Kutai Malay" },
+ { "vku", "Kurrama" },
+ { "vlp", "Valpei" },
+ { "vls", "Vlaams" },
+ { "vma", "Martuyhunira" },
+ { "vmb", "Barbaram" },
+ { "vmc", "Juxtlahuaca Mixtec" },
+ { "vmd", "Mudu Koraga" },
+ { "vme", "East Masela" },
+ { "vmf", "Mainfränkisch" },
+ { "vmg", "Lungalunga" },
+ { "vmh", "Maraghei" },
+ { "vmi", "Miwa" },
+ { "vmj", "Ixtayutla Mixtec" },
+ { "vmk", "Makhuwa-Shirima" },
+ { "vml", "Malgana" },
+ { "vmm", "Mitlatongo Mixtec" },
+ { "vmp", "Soyaltepec Mazatec" },
+ { "vmq", "Soyaltepec Mixtec" },
+ { "vmr", "Marenje" },
+ { "vms", "Moksela" },
+ { "vmu", "Muluridyi" },
+ { "vmv", "Valley Maidu" },
+ { "vmw", "Makhuwa" },
+ { "vmx", "Tamazola Mixtec" },
+ { "vmy", "Ayautla Mazatec" },
+ { "vmz", "Mazatlán Mazatec" },
+ { "vnk", "Vano" },
+ { "vnm", "Vinmavis" },
+ { "vnp", "Vunapu" },
+ { "vol", "Volapük" },
+ { "vor", "Voro" },
+ { "vot", "Votic" },
+ { "vra", "Vera'a" },
+ { "vro", "Võro" },
+ { "vrs", "Varisi" },
+ { "vrt", "Burmbar" },
+ { "vsi", "Moldova Sign Language" },
+ { "vsl", "Venezuelan Sign Language" },
+ { "vsv", "Valencian Sign Language" },
+ { "vto", "Vitou" },
+ { "vum", "Vumbu" },
+ { "vun", "Vunjo" },
+ { "vut", "Vute" },
+ { "vwa", "Awa (China)" },
+ { "waa", "Walla Walla" },
+ { "wab", "Wab" },
+ { "wac", "Wasco-Wishram" },
+ { "wad", "Wandamen" },
+ { "wae", "Walser" },
+ { "waf", "Wakoná" },
+ { "wag", "Wa'ema" },
+ { "wah", "Watubela" },
+ { "wai", "Wares" },
+ { "waj", "Waffa" },
+ { "wal", "Wolaytta" },
+ { "wam", "Wampanoag" },
+ { "wan", "Wan" },
+ { "wao", "Wappo" },
+ { "wap", "Wapishana" },
+ { "waq", "Wageman" },
+ { "war", "Waray (Philippines)" },
+ { "was", "Washo" },
+ { "wat", "Kaninuwa" },
+ { "wau", "Waurá" },
+ { "wav", "Waka" },
+ { "waw", "Waiwai" },
+ { "wax", "Watam" },
+ { "way", "Wayana" },
+ { "waz", "Wampur" },
+ { "wba", "Warao" },
+ { "wbb", "Wabo" },
+ { "wbe", "Waritai" },
+ { "wbf", "Wara" },
+ { "wbh", "Wanda" },
+ { "wbi", "Vwanji" },
+ { "wbj", "Alagwa" },
+ { "wbk", "Waigali" },
+ { "wbl", "Wakhi" },
+ { "wbm", "Wa" },
+ { "wbp", "Warlpiri" },
+ { "wbq", "Waddar" },
+ { "wbr", "Wagdi" },
+ { "wbt", "Wanman" },
+ { "wbv", "Wajarri" },
+ { "wbw", "Woi" },
+ { "wca", "Yanomámi" },
+ { "wci", "Waci Gbe" },
+ { "wdd", "Wandji" },
+ { "wdg", "Wadaginam" },
+ { "wdj", "Wadjiginy" },
+ { "wdk", "Wadikali" },
+ { "wdu", "Wadjigu" },
+ { "wdy", "Wadjabangayi" },
+ { "wea", "Wewaw" },
+ { "wec", "Wè Western" },
+ { "wed", "Wedau" },
+ { "weg", "Wergaia" },
+ { "weh", "Weh" },
+ { "wei", "Kiunum" },
+ { "wem", "Weme Gbe" },
+ { "weo", "Wemale" },
+ { "wep", "Westphalien" },
+ { "wer", "Weri" },
+ { "wes", "Cameroon Pidgin" },
+ { "wet", "Perai" },
+ { "weu", "Rawngtu Chin" },
+ { "wew", "Wejewa" },
+ { "wfg", "Yafi" },
+ { "wga", "Wagaya" },
+ { "wgb", "Wagawaga" },
+ { "wgg", "Wangganguru" },
+ { "wgi", "Wahgi" },
+ { "wgo", "Waigeo" },
+ { "wgu", "Wirangu" },
+ { "wgy", "Warrgamay" },
+ { "wha", "Manusela" },
+ { "whg", "North Wahgi" },
+ { "whk", "Wahau Kenyah" },
+ { "whu", "Wahau Kayan" },
+ { "wib", "Southern Toussian" },
+ { "wic", "Wichita" },
+ { "wie", "Wik-Epa" },
+ { "wif", "Wik-Keyangan" },
+ { "wig", "Wik-Ngathana" },
+ { "wih", "Wik-Me'anha" },
+ { "wii", "Minidien" },
+ { "wij", "Wik-Iiyanh" },
+ { "wik", "Wikalkan" },
+ { "wil", "Wilawila" },
+ { "wim", "Wik-Mungkan" },
+ { "win", "Ho-Chunk" },
+ { "wir", "Wiraféd" },
+ { "wiu", "Wiru" },
+ { "wiv", "Vitu" },
+ { "wiy", "Wiyot" },
+ { "wja", "Waja" },
+ { "wji", "Warji" },
+ { "wka", "Kw'adza" },
+ { "wkb", "Kumbaran" },
+ { "wkd", "Wakde" },
+ { "wkl", "Kalanadi" },
+ { "wku", "Kunduvadi" },
+ { "wkw", "Wakawaka" },
+ { "wky", "Wangkayutyuru" },
+ { "wla", "Walio" },
+ { "wlc", "Mwali Comorian" },
+ { "wle", "Wolane" },
+ { "wlg", "Kunbarlang" },
+ { "wli", "Waioli" },
+ { "wlk", "Wailaki" },
+ { "wll", "Wali (Sudan)" },
+ { "wlm", "Middle Welsh" },
+ { "wln", "Walloon" },
+ { "wlo", "Wolio" },
+ { "wlr", "Wailapa" },
+ { "wls", "Wallisian" },
+ { "wlu", "Wuliwuli" },
+ { "wlv", "Wichí Lhamtés Vejoz" },
+ { "wlw", "Walak" },
+ { "wlx", "Wali (Ghana)" },
+ { "wly", "Waling" },
+ { "wma", "Mawa (Nigeria)" },
+ { "wmb", "Wambaya" },
+ { "wmc", "Wamas" },
+ { "wmd", "Mamaindé" },
+ { "wme", "Wambule" },
+ { "wmh", "Waima'a" },
+ { "wmi", "Wamin" },
+ { "wmm", "Maiwa (Indonesia)" },
+ { "wmn", "Waamwang" },
+ { "wmo", "Wom (Papua New Guinea)" },
+ { "wms", "Wambon" },
+ { "wmt", "Walmajarri" },
+ { "wmw", "Mwani" },
+ { "wmx", "Womo" },
+ { "wnb", "Wanambre" },
+ { "wnc", "Wantoat" },
+ { "wnd", "Wandarang" },
+ { "wne", "Waneci" },
+ { "wng", "Wanggom" },
+ { "wni", "Ndzwani Comorian" },
+ { "wnk", "Wanukaka" },
+ { "wnm", "Wanggamala" },
+ { "wnn", "Wunumara" },
+ { "wno", "Wano" },
+ { "wnp", "Wanap" },
+ { "wnu", "Usan" },
+ { "wnw", "Wintu" },
+ { "wny", "Wanyi" },
+ { "woa", "Tyaraity" },
+ { "wob", "Wè Northern" },
+ { "woc", "Wogeo" },
+ { "wod", "Wolani" },
+ { "woe", "Woleaian" },
+ { "wof", "Gambian Wolof" },
+ { "wog", "Wogamusin" },
+ { "woi", "Kamang" },
+ { "wok", "Longto" },
+ { "wol", "Wolof" },
+ { "wom", "Wom (Nigeria)" },
+ { "won", "Wongo" },
+ { "woo", "Manombai" },
+ { "wor", "Woria" },
+ { "wos", "Hanga Hundi" },
+ { "wow", "Wawonii" },
+ { "woy", "Weyto" },
+ { "wpc", "Maco" },
+ { "wra", "Warapu" },
+ { "wrb", "Warluwara" },
+ { "wrd", "Warduji" },
+ { "wrg", "Warungu" },
+ { "wrh", "Wiradhuri" },
+ { "wri", "Wariyangga" },
+ { "wrk", "Garrwa" },
+ { "wrl", "Warlmanpa" },
+ { "wrm", "Warumungu" },
+ { "wrn", "Warnang" },
+ { "wro", "Worrorra" },
+ { "wrp", "Waropen" },
+ { "wrr", "Wardaman" },
+ { "wrs", "Waris" },
+ { "wru", "Waru" },
+ { "wrv", "Waruna" },
+ { "wrw", "Gugu Warra" },
+ { "wrx", "Wae Rana" },
+ { "wry", "Merwari" },
+ { "wrz", "Waray (Australia)" },
+ { "wsa", "Warembori" },
+ { "wsi", "Wusi" },
+ { "wsk", "Waskia" },
+ { "wsr", "Owenia" },
+ { "wss", "Wasa" },
+ { "wsu", "Wasu" },
+ { "wsv", "Wotapuri-Katarqalai" },
+ { "wtf", "Watiwa" },
+ { "wth", "Wathawurrung" },
+ { "wti", "Berta" },
+ { "wtk", "Watakataui" },
+ { "wtm", "Mewati" },
+ { "wtw", "Wotu" },
+ { "wua", "Wikngenchera" },
+ { "wub", "Wunambal" },
+ { "wud", "Wudu" },
+ { "wuh", "Wutunhua" },
+ { "wul", "Silimo" },
+ { "wum", "Wumbvu" },
+ { "wun", "Bungu" },
+ { "wur", "Wurrugu" },
+ { "wut", "Wutung" },
+ { "wuu", "Wu Chinese" },
+ { "wuv", "Wuvulu-Aua" },
+ { "wux", "Wulna" },
+ { "wuy", "Wauyai" },
+ { "wwa", "Waama" },
+ { "wwb", "Wakabunga" },
+ { "wwo", "Wetamut" },
+ { "wwr", "Warrwa" },
+ { "www", "Wawa" },
+ { "wxa", "Waxianghua" },
+ { "wxw", "Wardandi" },
+ { "wya", "Wyandot" },
+ { "wyb", "Wangaaybuwan-Ngiyambaa" },
+ { "wyi", "Woiwurrung" },
+ { "wym", "Wymysorys" },
+ { "wyr", "Wayoró" },
+ { "wyy", "Western Fijian" },
+ { "xaa", "Andalusian Arabic" },
+ { "xab", "Sambe" },
+ { "xac", "Kachari" },
+ { "xad", "Adai" },
+ { "xae", "Aequian" },
+ { "xag", "Aghwan" },
+ { "xai", "Kaimbé" },
+ { "xal", "Kalmyk" },
+ { "xam", "Xam" },
+ { "xan", "Xamtanga" },
+ { "xao", "Khao" },
+ { "xap", "Apalachee" },
+ { "xaq", "Aquitanian" },
+ { "xar", "Karami" },
+ { "xas", "Kamas" },
+ { "xat", "Katawixi" },
+ { "xau", "Kauwera" },
+ { "xav", "Xavánte" },
+ { "xaw", "Kawaiisu" },
+ { "xay", "Kayan Mahakam" },
+ { "xba", "Kamba (Brazil)" },
+ { "xbb", "Lower Burdekin" },
+ { "xbc", "Bactrian" },
+ { "xbd", "Bindal" },
+ { "xbe", "Bigambal" },
+ { "xbg", "Bunganditj" },
+ { "xbi", "Kombio" },
+ { "xbj", "Birrpayi" },
+ { "xbm", "Middle Breton" },
+ { "xbn", "Kenaboi" },
+ { "xbo", "Bolgarian" },
+ { "xbp", "Bibbulman" },
+ { "xbr", "Kambera" },
+ { "xbw", "Kambiwá" },
+ { "xbx", "Kabixí" },
+ { "xby", "Batyala" },
+ { "xcb", "Cumbric" },
+ { "xcc", "Camunic" },
+ { "xce", "Celtiberian" },
+ { "xcg", "Cisalpine Gaulish" },
+ { "xch", "Chemakum" },
+ { "xcl", "Classical Armenian" },
+ { "xcm", "Comecrudo" },
+ { "xcn", "Cotoname" },
+ { "xco", "Chorasmian" },
+ { "xcr", "Carian" },
+ { "xct", "Classical Tibetan" },
+ { "xcu", "Curonian" },
+ { "xcv", "Chuvantsy" },
+ { "xcw", "Coahuilteco" },
+ { "xcy", "Cayuse" },
+ { "xda", "Darkinyung" },
+ { "xdc", "Dacian" },
+ { "xdk", "Dharuk" },
+ { "xdm", "Edomite" },
+ { "xdy", "Malayic Dayak" },
+ { "xeb", "Eblan" },
+ { "xed", "Hdi" },
+ { "xeg", "Xegwi" },
+ { "xel", "Kelo" },
+ { "xem", "Kembayan" },
+ { "xep", "Epi-Olmec" },
+ { "xer", "Xerénte" },
+ { "xes", "Kesawai" },
+ { "xet", "Xetá" },
+ { "xeu", "Keoru-Ahia" },
+ { "xfa", "Faliscan" },
+ { "xga", "Galatian" },
+ { "xgb", "Gbin" },
+ { "xgd", "Gudang" },
+ { "xgf", "Gabrielino-Fernandeño" },
+ { "xgg", "Goreng" },
+ { "xgi", "Garingbal" },
+ { "xgl", "Galindan" },
+ { "xgm", "Guwinmal" },
+ { "xgr", "Garza" },
+ { "xgu", "Unggumi" },
+ { "xgw", "Guwa" },
+ { "xha", "Harami" },
+ { "xhc", "Hunnic" },
+ { "xhd", "Hadrami" },
+ { "xhe", "Khetrani" },
+ { "xho", "Xhosa" },
+ { "xhr", "Hernican" },
+ { "xht", "Hattic" },
+ { "xhu", "Hurrian" },
+ { "xhv", "Khua" },
+ { "xib", "Iberian" },
+ { "xii", "Xiri" },
+ { "xil", "Illyrian" },
+ { "xin", "Xinca" },
+ { "xip", "Xipináwa" },
+ { "xir", "Xiriâna" },
+ { "xiv", "Indus Valley Language" },
+ { "xiy", "Xipaya" },
+ { "xjb", "Minjungbal" },
+ { "xjt", "Jaitmatang" },
+ { "xka", "Kalkoti" },
+ { "xkb", "Northern Nago" },
+ { "xkc", "Kho'ini" },
+ { "xkd", "Mendalam Kayan" },
+ { "xke", "Kereho" },
+ { "xkf", "Khengkha" },
+ { "xkg", "Kagoro" },
+ { "xkh", "Karahawyana" },
+ { "xki", "Kenyan Sign Language" },
+ { "xkj", "Kajali" },
+ { "xkk", "Kaco'" },
+ { "xkl", "Mainstream Kenyah" },
+ { "xkn", "Kayan River Kayan" },
+ { "xko", "Kiorr" },
+ { "xkp", "Kabatei" },
+ { "xkq", "Koroni" },
+ { "xkr", "Xakriabá" },
+ { "xks", "Kumbewaha" },
+ { "xkt", "Kantosi" },
+ { "xku", "Kaamba" },
+ { "xkv", "Kgalagadi" },
+ { "xkw", "Kembra" },
+ { "xkx", "Karore" },
+ { "xky", "Uma' Lasan" },
+ { "xkz", "Kurtokha" },
+ { "xla", "Kamula" },
+ { "xlb", "Loup B" },
+ { "xlc", "Lycian" },
+ { "xld", "Lydian" },
+ { "xle", "Lemnian" },
+ { "xlg", "Ligurian (Ancient)" },
+ { "xli", "Liburnian" },
+ { "xln", "Alanic" },
+ { "xlo", "Loup A" },
+ { "xlp", "Lepontic" },
+ { "xls", "Lusitanian" },
+ { "xlu", "Cuneiform Luwian" },
+ { "xly", "Elymian" },
+ { "xma", "Mushungulu" },
+ { "xmb", "Mbonga" },
+ { "xmc", "Makhuwa-Marrevone" },
+ { "xmd", "Mbudum" },
+ { "xme", "Median" },
+ { "xmf", "Mingrelian" },
+ { "xmg", "Mengaka" },
+ { "xmh", "Kuku-Muminh" },
+ { "xmj", "Majera" },
+ { "xmk", "Ancient Macedonian" },
+ { "xml", "Malaysian Sign Language" },
+ { "xmm", "Manado Malay" },
+ { "xmn", "Manichaean Middle Persian" },
+ { "xmo", "Morerebi" },
+ { "xmp", "Kuku-Mu'inh" },
+ { "xmq", "Kuku-Mangk" },
+ { "xmr", "Meroitic" },
+ { "xms", "Moroccan Sign Language" },
+ { "xmt", "Matbat" },
+ { "xmu", "Kamu" },
+ { "xmv", "Antankarana Malagasy" },
+ { "xmw", "Tsimihety Malagasy" },
+ { "xmx", "Maden" },
+ { "xmy", "Mayaguduna" },
+ { "xmz", "Mori Bawah" },
+ { "xna", "Ancient North Arabian" },
+ { "xnb", "Kanakanabu" },
+ { "xng", "Middle Mongolian" },
+ { "xnh", "Kuanhua" },
+ { "xni", "Ngarigu" },
+ { "xnk", "Nganakarti" },
+ { "xnn", "Northern Kankanay" },
+ { "xno", "Anglo-Norman" },
+ { "xnr", "Kangri" },
+ { "xns", "Kanashi" },
+ { "xnt", "Narragansett" },
+ { "xnu", "Nukunul" },
+ { "xny", "Nyiyaparli" },
+ { "xnz", "Kenzi" },
+ { "xoc", "O'chi'chi'" },
+ { "xod", "Kokoda" },
+ { "xog", "Soga" },
+ { "xoi", "Kominimung" },
+ { "xok", "Xokleng" },
+ { "xom", "Komo (Sudan)" },
+ { "xon", "Konkomba" },
+ { "xoo", "Xukurú" },
+ { "xop", "Kopar" },
+ { "xor", "Korubo" },
+ { "xow", "Kowaki" },
+ { "xpa", "Pirriya" },
+ { "xpc", "Pecheneg" },
+ { "xpe", "Liberia Kpelle" },
+ { "xpg", "Phrygian" },
+ { "xpi", "Pictish" },
+ { "xpj", "Mpalitjanh" },
+ { "xpk", "Kulina Pano" },
+ { "xpm", "Pumpokol" },
+ { "xpn", "Kapinawá" },
+ { "xpo", "Pochutec" },
+ { "xpp", "Puyo-Paekche" },
+ { "xpq", "Mohegan-Pequot" },
+ { "xpr", "Parthian" },
+ { "xps", "Pisidian" },
+ { "xpt", "Punthamara" },
+ { "xpu", "Punic" },
+ { "xpy", "Puyo" },
+ { "xqa", "Karakhanid" },
+ { "xqt", "Qatabanian" },
+ { "xra", "Krahô" },
+ { "xrb", "Eastern Karaboro" },
+ { "xrd", "Gundungurra" },
+ { "xre", "Kreye" },
+ { "xrg", "Minang" },
+ { "xri", "Krikati-Timbira" },
+ { "xrm", "Armazic" },
+ { "xrn", "Arin" },
+ { "xrq", "Karranga" },
+ { "xrr", "Raetic" },
+ { "xrt", "Aranama-Tamique" },
+ { "xru", "Marriammu" },
+ { "xrw", "Karawa" },
+ { "xsa", "Sabaean" },
+ { "xsb", "Sambal" },
+ { "xsc", "Scythian" },
+ { "xsd", "Sidetic" },
+ { "xse", "Sempan" },
+ { "xsh", "Shamang" },
+ { "xsi", "Sio" },
+ { "xsj", "Subi" },
+ { "xsl", "South Slavey" },
+ { "xsm", "Kasem" },
+ { "xsn", "Sanga (Nigeria)" },
+ { "xso", "Solano" },
+ { "xsp", "Silopi" },
+ { "xsq", "Makhuwa-Saka" },
+ { "xsr", "Sherpa" },
+ { "xss", "Assan" },
+ { "xsu", "Sanumá" },
+ { "xsv", "Sudovian" },
+ { "xsy", "Saisiyat" },
+ { "xta", "Alcozauca Mixtec" },
+ { "xtb", "Chazumba Mixtec" },
+ { "xtc", "Katcha-Kadugli-Miri" },
+ { "xtd", "Diuxi-Tilantongo Mixtec" },
+ { "xte", "Ketengban" },
+ { "xtg", "Transalpine Gaulish" },
+ { "xth", "Yitha Yitha" },
+ { "xti", "Sinicahua Mixtec" },
+ { "xtj", "San Juan Teita Mixtec" },
+ { "xtl", "Tijaltepec Mixtec" },
+ { "xtm", "Magdalena Peñasco Mixtec" },
+ { "xtn", "Northern Tlaxiaco Mixtec" },
+ { "xto", "Tokharian A" },
+ { "xtp", "San Miguel Piedras Mixtec" },
+ { "xtq", "Tumshuqese" },
+ { "xtr", "Early Tripuri" },
+ { "xts", "Sindihui Mixtec" },
+ { "xtt", "Tacahua Mixtec" },
+ { "xtu", "Cuyamecalco Mixtec" },
+ { "xtv", "Thawa" },
+ { "xtw", "Tawandê" },
+ { "xty", "Yoloxochitl Mixtec" },
+ { "xtz", "Tasmanian" },
+ { "xua", "Alu Kurumba" },
+ { "xub", "Betta Kurumba" },
+ { "xud", "Umiida" },
+ { "xug", "Kunigami" },
+ { "xuj", "Jennu Kurumba" },
+ { "xul", "Ngunawal" },
+ { "xum", "Umbrian" },
+ { "xun", "Unggaranggu" },
+ { "xuo", "Kuo" },
+ { "xup", "Upper Umpqua" },
+ { "xur", "Urartian" },
+ { "xut", "Kuthant" },
+ { "xuu", "Kxoe" },
+ { "xve", "Venetic" },
+ { "xvi", "Kamviri" },
+ { "xvn", "Vandalic" },
+ { "xvo", "Volscian" },
+ { "xvs", "Vestinian" },
+ { "xwa", "Kwaza" },
+ { "xwc", "Woccon" },
+ { "xwd", "Wadi Wadi" },
+ { "xwe", "Xwela Gbe" },
+ { "xwg", "Kwegu" },
+ { "xwj", "Wajuk" },
+ { "xwk", "Wangkumara" },
+ { "xwl", "Western Xwla Gbe" },
+ { "xwo", "Written Oirat" },
+ { "xwr", "Kwerba Mamberamo" },
+ { "xwt", "Wotjobaluk" },
+ { "xww", "Wemba Wemba" },
+ { "xxb", "Boro (Ghana)" },
+ { "xxk", "Ke'o" },
+ { "xxm", "Minkin" },
+ { "xxr", "Koropó" },
+ { "xxt", "Tambora" },
+ { "xya", "Yaygir" },
+ { "xyb", "Yandjibara" },
+ { "xyj", "Mayi-Yapi" },
+ { "xyk", "Mayi-Kulan" },
+ { "xyl", "Yalakalore" },
+ { "xyt", "Mayi-Thakurti" },
+ { "xyy", "Yorta Yorta" },
+ { "xzh", "Zhang-Zhung" },
+ { "xzm", "Zemgalian" },
+ { "xzp", "Ancient Zapotec" },
+ { "yaa", "Yaminahua" },
+ { "yab", "Yuhup" },
+ { "yac", "Pass Valley Yali" },
+ { "yad", "Yagua" },
+ { "yae", "Pumé" },
+ { "yaf", "Yaka (Democratic Republic of Congo)" },
+ { "yag", "Yámana" },
+ { "yah", "Yazgulyam" },
+ { "yai", "Yagnobi" },
+ { "yaj", "Banda-Yangere" },
+ { "yak", "Yakama" },
+ { "yal", "Yalunka" },
+ { "yam", "Yamba" },
+ { "yan", "Mayangna" },
+ { "yao", "Yao" },
+ { "yap", "Yapese" },
+ { "yaq", "Yaqui" },
+ { "yar", "Yabarana" },
+ { "yas", "Nugunu (Cameroon)" },
+ { "yat", "Yambeta" },
+ { "yau", "Yuwana" },
+ { "yav", "Yangben" },
+ { "yaw", "Yawalapití" },
+ { "yax", "Yauma" },
+ { "yay", "Agwagwune" },
+ { "yaz", "Lokaa" },
+ { "yba", "Yala" },
+ { "ybb", "Yemba" },
+ { "ybe", "West Yugur" },
+ { "ybh", "Yakha" },
+ { "ybi", "Yamphu" },
+ { "ybj", "Hasha" },
+ { "ybk", "Bokha" },
+ { "ybl", "Yukuben" },
+ { "ybm", "Yaben" },
+ { "ybn", "Yabaâna" },
+ { "ybo", "Yabong" },
+ { "ybx", "Yawiyo" },
+ { "yby", "Yaweyuha" },
+ { "ych", "Chesu" },
+ { "ycl", "Lolopo" },
+ { "ycn", "Yucuna" },
+ { "ycp", "Chepya" },
+ { "yda", "Yanda" },
+ { "ydd", "Eastern Yiddish" },
+ { "yde", "Yangum Dey" },
+ { "ydg", "Yidgha" },
+ { "ydk", "Yoidik" },
+ { "yds", "Yiddish Sign Language" },
+ { "yea", "Ravula" },
+ { "yec", "Yeniche" },
+ { "yee", "Yimas" },
+ { "yei", "Yeni" },
+ { "yej", "Yevanic" },
+ { "yel", "Yela" },
+ { "yer", "Tarok" },
+ { "yes", "Nyankpa" },
+ { "yet", "Yetfa" },
+ { "yeu", "Yerukula" },
+ { "yev", "Yapunda" },
+ { "yey", "Yeyi" },
+ { "yga", "Malyangapa" },
+ { "ygi", "Yiningayi" },
+ { "ygl", "Yangum Gel" },
+ { "ygm", "Yagomi" },
+ { "ygp", "Gepo" },
+ { "ygr", "Yagaria" },
+ { "ygu", "Yugul" },
+ { "ygw", "Yagwoia" },
+ { "yha", "Baha Buyang" },
+ { "yhd", "Judeo-Iraqi Arabic" },
+ { "yhl", "Hlepho Phowa" },
+ { "yia", "Yinggarda" },
+ { "yid", "Yiddish" },
+ { "yif", "Ache" },
+ { "yig", "Wusa Nasu" },
+ { "yih", "Western Yiddish" },
+ { "yii", "Yidiny" },
+ { "yij", "Yindjibarndi" },
+ { "yik", "Dongshanba Lalo" },
+ { "yil", "Yindjilandji" },
+ { "yim", "Yimchungru Naga" },
+ { "yin", "Yinchia" },
+ { "yip", "Pholo" },
+ { "yiq", "Miqie" },
+ { "yir", "North Awyu" },
+ { "yis", "Yis" },
+ { "yit", "Eastern Lalu" },
+ { "yiu", "Awu" },
+ { "yiv", "Northern Nisu" },
+ { "yix", "Axi Yi" },
+ { "yiz", "Azhe" },
+ { "yka", "Yakan" },
+ { "ykg", "Northern Yukaghir" },
+ { "yki", "Yoke" },
+ { "ykk", "Yakaikeke" },
+ { "ykl", "Khlula" },
+ { "ykm", "Kap" },
+ { "ykn", "Kua-nsi" },
+ { "yko", "Yasa" },
+ { "ykr", "Yekora" },
+ { "ykt", "Kathu" },
+ { "yku", "Kuamasi" },
+ { "yky", "Yakoma" },
+ { "yla", "Yaul" },
+ { "ylb", "Yaleba" },
+ { "yle", "Yele" },
+ { "ylg", "Yelogu" },
+ { "yli", "Angguruk Yali" },
+ { "yll", "Yil" },
+ { "ylm", "Limi" },
+ { "yln", "Langnian Buyang" },
+ { "ylo", "Naluo Yi" },
+ { "ylr", "Yalarnnga" },
+ { "ylu", "Aribwaung" },
+ { "yly", "Nyâlayu" },
+ { "ymb", "Yambes" },
+ { "ymc", "Southern Muji" },
+ { "ymd", "Muda" },
+ { "yme", "Yameo" },
+ { "ymg", "Yamongeri" },
+ { "ymh", "Mili" },
+ { "ymi", "Moji" },
+ { "ymk", "Makwe" },
+ { "yml", "Iamalele" },
+ { "ymm", "Maay" },
+ { "ymn", "Yamna" },
+ { "ymo", "Yangum Mon" },
+ { "ymp", "Yamap" },
+ { "ymq", "Qila Muji" },
+ { "ymr", "Malasar" },
+ { "yms", "Mysian" },
+ { "ymt", "Mator-Taygi-Karagas" },
+ { "ymx", "Northern Muji" },
+ { "ymz", "Muzi" },
+ { "yna", "Aluo" },
+ { "ynd", "Yandruwandha" },
+ { "yne", "Lang'e" },
+ { "yng", "Yango" },
+ { "ynh", "Yangho" },
+ { "ynk", "Naukan Yupik" },
+ { "ynl", "Yangulam" },
+ { "ynn", "Yana" },
+ { "yno", "Yong" },
+ { "ynq", "Yendang" },
+ { "yns", "Yansi" },
+ { "ynu", "Yahuna" },
+ { "yob", "Yoba" },
+ { "yog", "Yogad" },
+ { "yoi", "Yonaguni" },
+ { "yok", "Yokuts" },
+ { "yol", "Yola" },
+ { "yom", "Yombe" },
+ { "yon", "Yongkom" },
+ { "yor", "Yoruba" },
+ { "yot", "Yotti" },
+ { "yox", "Yoron" },
+ { "yoy", "Yoy" },
+ { "ypa", "Phala" },
+ { "ypb", "Labo Phowa" },
+ { "ypg", "Phola" },
+ { "yph", "Phupha" },
+ { "ypm", "Phuma" },
+ { "ypn", "Ani Phowa" },
+ { "ypo", "Alo Phola" },
+ { "ypp", "Phupa" },
+ { "ypz", "Phuza" },
+ { "yra", "Yerakai" },
+ { "yrb", "Yareba" },
+ { "yre", "Yaouré" },
+ { "yri", "Yarí" },
+ { "yrk", "Nenets" },
+ { "yrl", "Nhengatu" },
+ { "yrm", "Yirrk-Mel" },
+ { "yrn", "Yerong" },
+ { "yrs", "Yarsun" },
+ { "yrw", "Yarawata" },
+ { "yry", "Yarluyandi" },
+ { "ysc", "Yassic" },
+ { "ysd", "Samatao" },
+ { "ysg", "Sonaga" },
+ { "ysl", "Yugoslavian Sign Language" },
+ { "ysn", "Sani" },
+ { "yso", "Nisi (China)" },
+ { "ysp", "Southern Lolopo" },
+ { "ysr", "Sirenik Yupik" },
+ { "yss", "Yessan-Mayo" },
+ { "ysy", "Sanie" },
+ { "yta", "Talu" },
+ { "ytl", "Tanglang" },
+ { "ytp", "Thopho" },
+ { "ytw", "Yout Wam" },
+ { "yty", "Yatay" },
+ { "yua", "Yucateco" },
+ { "yub", "Yugambal" },
+ { "yuc", "Yuchi" },
+ { "yud", "Judeo-Tripolitanian Arabic" },
+ { "yue", "Yue Chinese" },
+ { "yuf", "Havasupai-Walapai-Yavapai" },
+ { "yug", "Yug" },
+ { "yui", "Yurutí" },
+ { "yuj", "Karkar-Yuri" },
+ { "yuk", "Yuki" },
+ { "yul", "Yulu" },
+ { "yum", "Quechan" },
+ { "yun", "Bena (Nigeria)" },
+ { "yup", "Yukpa" },
+ { "yuq", "Yuqui" },
+ { "yur", "Yurok" },
+ { "yut", "Yopno" },
+ { "yuu", "Yugh" },
+ { "yuw", "Yau (Morobe Province)" },
+ { "yux", "Southern Yukaghir" },
+ { "yuy", "East Yugur" },
+ { "yuz", "Yuracare" },
+ { "yva", "Yawa" },
+ { "yvt", "Yavitero" },
+ { "ywa", "Kalou" },
+ { "ywg", "Yinhawangka" },
+ { "ywl", "Western Lalu" },
+ { "ywn", "Yawanawa" },
+ { "ywq", "Wuding-Luquan Yi" },
+ { "ywr", "Yawuru" },
+ { "ywt", "Xishanba Lalo" },
+ { "ywu", "Wumeng Nasu" },
+ { "yww", "Yawarawarga" },
+ { "yxa", "Mayawali" },
+ { "yxg", "Yagara" },
+ { "yxl", "Yardliyawarra" },
+ { "yxm", "Yinwum" },
+ { "yxu", "Yuyu" },
+ { "yxy", "Yabula Yabula" },
+ { "yyr", "Yir Yoront" },
+ { "yyu", "Yau (Sandaun Province)" },
+ { "yyz", "Ayizi" },
+ { "yzg", "E'ma Buyang" },
+ { "yzk", "Zokhuo" },
+ { "zaa", "Sierra de Juárez Zapotec" },
+ { "zab", "San Juan Guelavía Zapotec" },
+ { "zac", "Ocotlán Zapotec" },
+ { "zad", "Cajonos Zapotec" },
+ { "zae", "Yareni Zapotec" },
+ { "zaf", "Ayoquesco Zapotec" },
+ { "zag", "Zaghawa" },
+ { "zah", "Zangwal" },
+ { "zai", "Isthmus Zapotec" },
+ { "zaj", "Zaramo" },
+ { "zak", "Zanaki" },
+ { "zal", "Zauzou" },
+ { "zam", "Miahuatlán Zapotec" },
+ { "zao", "Ozolotepec Zapotec" },
+ { "zap", "Zapotec" },
+ { "zaq", "Aloápam Zapotec" },
+ { "zar", "Rincón Zapotec" },
+ { "zas", "Santo Domingo Albarradas Zapotec" },
+ { "zat", "Tabaa Zapotec" },
+ { "zau", "Zangskari" },
+ { "zav", "Yatzachi Zapotec" },
+ { "zaw", "Mitla Zapotec" },
+ { "zax", "Xadani Zapotec" },
+ { "zay", "Zayse-Zergulla" },
+ { "zaz", "Zari" },
+ { "zbc", "Central Berawan" },
+ { "zbe", "East Berawan" },
+ { "zbl", "Blissymbols" },
+ { "zbt", "Batui" },
+ { "zbw", "West Berawan" },
+ { "zca", "Coatecas Altas Zapotec" },
+ { "zch", "Central Hongshuihe Zhuang" },
+ { "zdj", "Ngazidja Comorian" },
+ { "zea", "Zeeuws" },
+ { "zeg", "Zenag" },
+ { "zeh", "Eastern Hongshuihe Zhuang" },
+ { "zen", "Zenaga" },
+ { "zga", "Kinga" },
+ { "zgb", "Guibei Zhuang" },
+ { "zgh", "Standard Moroccan Tamazight" },
+ { "zgm", "Minz Zhuang" },
+ { "zgn", "Guibian Zhuang" },
+ { "zgr", "Magori" },
+ { "zha", "Zhuang" },
+ { "zhb", "Zhaba" },
+ { "zhd", "Dai Zhuang" },
+ { "zhi", "Zhire" },
+ { "zhn", "Nong Zhuang" },
+ { "zho", "Chinese" },
+ { "zhw", "Zhoa" },
+ { "zia", "Zia" },
+ { "zib", "Zimbabwe Sign Language" },
+ { "zik", "Zimakani" },
+ { "zil", "Zialo" },
+ { "zim", "Mesme" },
+ { "zin", "Zinza" },
+ { "zir", "Ziriya" },
+ { "ziw", "Zigula" },
+ { "ziz", "Zizilivakan" },
+ { "zka", "Kaimbulawa" },
+ { "zkb", "Koibal" },
+ { "zkd", "Kadu" },
+ { "zkg", "Koguryo" },
+ { "zkh", "Khorezmian" },
+ { "zkk", "Karankawa" },
+ { "zkn", "Kanan" },
+ { "zko", "Kott" },
+ { "zkp", "São Paulo Kaingáng" },
+ { "zkr", "Zakhring" },
+ { "zkt", "Kitan" },
+ { "zku", "Kaurna" },
+ { "zkv", "Krevinian" },
+ { "zkz", "Khazar" },
+ { "zlj", "Liujiang Zhuang" },
+ { "zlm", "Malay (individual language)" },
+ { "zln", "Lianshan Zhuang" },
+ { "zlq", "Liuqian Zhuang" },
+ { "zma", "Manda (Australia)" },
+ { "zmb", "Zimba" },
+ { "zmc", "Margany" },
+ { "zmd", "Maridan" },
+ { "zme", "Mangerr" },
+ { "zmf", "Mfinu" },
+ { "zmg", "Marti Ke" },
+ { "zmh", "Makolkol" },
+ { "zmi", "Negeri Sembilan Malay" },
+ { "zmj", "Maridjabin" },
+ { "zmk", "Mandandanyi" },
+ { "zml", "Madngele" },
+ { "zmm", "Marimanindji" },
+ { "zmn", "Mbangwe" },
+ { "zmo", "Molo" },
+ { "zmp", "Mpuono" },
+ { "zmq", "Mituku" },
+ { "zmr", "Maranunggu" },
+ { "zms", "Mbesa" },
+ { "zmt", "Maringarr" },
+ { "zmu", "Muruwari" },
+ { "zmv", "Mbariman-Gudhinma" },
+ { "zmw", "Mbo (Democratic Republic of Congo)" },
+ { "zmx", "Bomitaba" },
+ { "zmy", "Mariyedi" },
+ { "zmz", "Mbandja" },
+ { "zna", "Zan Gula" },
+ { "zne", "Zande (individual language)" },
+ { "zng", "Mang" },
+ { "znk", "Manangkari" },
+ { "zns", "Mangas" },
+ { "zoc", "Copainalá Zoque" },
+ { "zoh", "Chimalapa Zoque" },
+ { "zom", "Zou" },
+ { "zoo", "Asunción Mixtepec Zapotec" },
+ { "zoq", "Tabasco Zoque" },
+ { "zor", "Rayón Zoque" },
+ { "zos", "Francisco León Zoque" },
+ { "zpa", "Lachiguiri Zapotec" },
+ { "zpb", "Yautepec Zapotec" },
+ { "zpc", "Choapan Zapotec" },
+ { "zpd", "Southeastern Ixtlán Zapotec" },
+ { "zpe", "Petapa Zapotec" },
+ { "zpf", "San Pedro Quiatoni Zapotec" },
+ { "zpg", "Guevea De Humboldt Zapotec" },
+ { "zph", "Totomachapan Zapotec" },
+ { "zpi", "Santa María Quiegolani Zapotec" },
+ { "zpj", "Quiavicuzas Zapotec" },
+ { "zpk", "Tlacolulita Zapotec" },
+ { "zpl", "Lachixío Zapotec" },
+ { "zpm", "Mixtepec Zapotec" },
+ { "zpn", "Santa Inés Yatzechi Zapotec" },
+ { "zpo", "Amatlán Zapotec" },
+ { "zpp", "El Alto Zapotec" },
+ { "zpq", "Zoogocho Zapotec" },
+ { "zpr", "Santiago Xanica Zapotec" },
+ { "zps", "Coatlán Zapotec" },
+ { "zpt", "San Vicente Coatlán Zapotec" },
+ { "zpu", "Yalálag Zapotec" },
+ { "zpv", "Chichicapan Zapotec" },
+ { "zpw", "Zaniza Zapotec" },
+ { "zpx", "San Baltazar Loxicha Zapotec" },
+ { "zpy", "Mazaltepec Zapotec" },
+ { "zpz", "Texmelucan Zapotec" },
+ { "zqe", "Qiubei Zhuang" },
+ { "zra", "Kara (Korea)" },
+ { "zrg", "Mirgan" },
+ { "zrn", "Zerenkel" },
+ { "zro", "Záparo" },
+ { "zrp", "Zarphatic" },
+ { "zrs", "Mairasi" },
+ { "zsa", "Sarasira" },
+ { "zsk", "Kaskean" },
+ { "zsl", "Zambian Sign Language" },
+ { "zsm", "Standard Malay" },
+ { "zsr", "Southern Rincon Zapotec" },
+ { "zsu", "Sukurum" },
+ { "zte", "Elotepec Zapotec" },
+ { "ztg", "Xanaguía Zapotec" },
+ { "ztl", "Lapaguía-Guivini Zapotec" },
+ { "ztm", "San Agustín Mixtepec Zapotec" },
+ { "ztn", "Santa Catarina Albarradas Zapotec" },
+ { "ztp", "Loxicha Zapotec" },
+ { "ztq", "Quioquitani-Quierí Zapotec" },
+ { "zts", "Tilquiapan Zapotec" },
+ { "ztt", "Tejalapan Zapotec" },
+ { "ztu", "Güilá Zapotec" },
+ { "ztx", "Zaachila Zapotec" },
+ { "zty", "Yatee Zapotec" },
+ { "zua", "Zeem" },
+ { "zuh", "Tokano" },
+ { "zul", "Zulu" },
+ { "zum", "Kumzari" },
+ { "zun", "Zuni" },
+ { "zuy", "Zumaya" },
+ { "zwa", "Zay" },
+ { "zxx", "No linguistic content" },
+ { "zyb", "Yongbei Zhuang" },
+ { "zyg", "Yang Zhuang" },
+ { "zyj", "Youjiang Zhuang" },
+ { "zyn", "Yongnan Zhuang" },
+ { "zyp", "Zyphe Chin" },
+ { "zza", "Zaza" },
+ { "zzj", "Zuojiang Zhuang" },
+};
+static int niso639_3= sizeof( iso639_3 ) / sizeof( iso639_3[0] );
+
+char *
+iso639_3_from_code( const char *code )
+{
+ int i;
+ for ( i=0; i<niso639_3; ++i ) {
+ if ( !strcasecmp( iso639_3[i].code, code ) )
+ return iso639_3[i].language;
+ }
+ return NULL;
+}
+
+char *
+iso639_3_from_name( const char *name )
+{
+ int i;
+ for ( i=0; i<niso639_3; ++i ) {
+ if ( !strcasecmp( iso639_3[i].language, name ) )
+ return iso639_3[i].code;
+ }
+ return NULL;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/iso639_3.h b/support/texlab/crates/bibutils_sys/src/iso639_3.h
new file mode 100644
index 0000000000..ee1d627e0a
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/iso639_3.h
@@ -0,0 +1,10 @@
+/*
+ * iso639_3.h
+ */
+#ifndef ISO639_3_H
+#define ISO639_3_H
+
+char * iso639_3_from_code( const char *code );
+char * iso639_3_from_name( const char *name );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/latex.c b/support/texlab/crates/bibutils_sys/src/latex.c
new file mode 100644
index 0000000000..34b5f19c3f
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/latex.c
@@ -0,0 +1,597 @@
+/*
+ * latex.c
+ *
+ * convert between latex special chars and unicode
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "latex.h"
+
+#define LATEX_COMBO (0) /* 'combo' no need for protection on output */
+#define LATEX_MACRO (1) /* 'macro_name' to be protected by {\macro_name} on output */
+#define LATEX_MATH (2) /* 'math_expression' to be protected by $math_expression$ on output */
+
+struct latex_chars {
+ unsigned int unicode; /* unicode code point */
+ unsigned char type; /* LATEX_COMBO/LATEX_MACRO/LATEX_MATH */
+ char *out; /* unadorned latex combination for output */
+ char *variant[3]; /* possible variations on input */
+};
+
+static struct latex_chars latex_chars[] = {
+
+ /* LaTeX special characters */
+ { 32, LATEX_COMBO, " ", { "\\ ", NULL, NULL } }, /* escaping the space is used to avoid extra space after periods */
+ { 35, LATEX_MACRO, "#", { "\\#", NULL, NULL } }, /* Number/pound/hash sign */
+ { 36, LATEX_MACRO, "$", { "\\$", NULL, NULL } }, /* Dollar Sign */
+ { 37, LATEX_MACRO, "%", { "\\%", NULL, NULL } }, /* Percent Sign */
+ { 38, LATEX_MACRO, "&", { "\\&", NULL, NULL } }, /* Ampersand */
+ { 95, LATEX_MACRO, "_", { "\\_", NULL, NULL } }, /* Underscore alone indicates subscript */
+ { 123, LATEX_MACRO, "{", { "\\{", "{\\textbraceleft}", "\\textbraceleft" } }, /* Left Curly Bracket */
+ { 125, LATEX_MACRO, "}", { "\\}", "{\\textbraceright}", "\\textbraceright" } }, /* Right Curly Bracket */
+ { 92, LATEX_MACRO, "backslash", { "{\\backslash}", "\\backslash", NULL } }, /* Backslash */
+ { 176, LATEX_MACRO, "textdegree", { "{\\textdegree}", "\\textdegree", "^\\circ" } }, /* Degree sign */
+ { 126, LATEX_MACRO, "textasciitilde", { "{\\textasciitilde}", "\\textasciitilde", "\\~{}" } }, /* Tilde in latex */
+/* fix sticky spaces "~" in bibtex token cleaning--allows tokens to be parsed properly */
+
+ /* Latin Capital A */
+ { 192, LATEX_MACRO, "`A", { "{\\`A}", "\\`{A}", "\\`A" } }, /* with grave */
+ { 193, LATEX_MACRO, "'A", { "{\\'A}", "\\'{A}", "\\'A" } }, /* with acute */
+ { 194, LATEX_MACRO, "^A", { "{\\^A}", "\\^{A}", "\\^A" } }, /* with circumflex */
+ { 195, LATEX_MACRO, "~A", { "{\\~A}", "\\~{A}", "\\~A" } }, /* with tilde */
+ { 196, LATEX_MACRO, "\"A", { "{\\\"A}", "\\\"{A}", "\\\"A" } }, /* with diuresis */
+ { 197, LATEX_MACRO, "AA", { "{\\AA}", "{\\r{A}}", "\\r{A}"} }, /* with ring above */
+ { 256, LATEX_MACRO, "={A}", { "{\\={A}}", "\\={A}", "\\=A" } }, /* with macron */
+ { 258, LATEX_MACRO, "u{A}", { "{\\u{A}}", "\\u{A}", "\\u A" } }, /* with breve */
+ { 260, LATEX_MACRO, "k{A}", { "{\\k{A}}", "\\k{A}", "\\k A" } }, /* with ogonek */
+ { 461, LATEX_MACRO, "v{A}", { "{\\v{A}}", "\\v{A}", "\\v A" } }, /* with caron */
+
+ /* Latin Small a */
+ { 224, LATEX_MACRO, "`a", { "{\\`a}", "\\`{a}", "\\`a" } }, /* with grave */
+ { 225, LATEX_MACRO, "'a", { "{\\'a}", "\\'{a}", "\\'a" } }, /* with acute */
+ { 226, LATEX_MACRO, "^a", { "{\\^a}", "\\^{a}", "\\^a" } }, /* with circumflex */
+ { 227, LATEX_MACRO, "~a", { "{\\~a}", "\\~{a}", "\\~a" } }, /* with tilde */
+ { 228, LATEX_MACRO, "\"a", { "{\\\"a}", "\\\"{a}", "\\\"a" } }, /* with diuresis */
+ { 229, LATEX_MACRO, "aa", { "{\\aa}", "{\\r{a}}", "\\r{a}"} }, /* with ring above */
+ { 257, LATEX_MACRO, "={a}", { "{\\={a}}", "\\={a}", "\\=a" } }, /* with macron */
+ { 259, LATEX_MACRO, "u{a}", { "{\\u{a}}", "\\u{a}", "\\u a" } }, /* with breve */
+ { 261, LATEX_MACRO, "k{a}", { "{\\k{a}}", "\\k{a}", "\\k a" } }, /* with ogonek */
+ { 462, LATEX_MACRO, "v{a}", { "{\\v{a}}", "\\v{a}", "\\v a" } }, /* with caron */
+
+ { 198, LATEX_MACRO, "AE", { "{\\AE}", "\\AE", NULL } }, /* Latin Capital AE */
+ { 230, LATEX_MACRO, "ae", { "{\\ae}", "\\ae", NULL } }, /* Latin Small ae */
+
+ /* Latin Capital C */
+ { 199, LATEX_MACRO, "c{C}", { "{\\c{C}}", "\\c{C}", "\\c c" } }, /* with cedilla */
+ { 262, LATEX_MACRO, "'{C}", { "{\\'{C}}", "\\'{C}", "\\'C" } }, /* with acute */
+ { 264, LATEX_MACRO, "^{C}", { "{\\^{C}}", "\\^{C}", "\\^C" } }, /* with circumflex */
+ { 266, LATEX_MACRO, ".{C}", { "{\\.{C}}", "\\.{C}", "\\.C" } }, /* with dot above */
+ { 268, LATEX_MACRO, "v{C}", { "{\\v{C}}", "\\v{C}", "\\v C" } }, /* with caron (hacek) */
+
+ /* Latin Small c */
+ { 231, LATEX_MACRO, "c{c}", { "{\\c{c}}", "\\c{c}", "\\c C" } }, /* with cedilla*/
+ { 263, LATEX_MACRO, "'{c}", { "{\\'{c}}", "\\'{c}", "\\'c" } }, /* with acute */
+ { 265, LATEX_MACRO, "^{c}", { "{\\^{c}}", "\\^{c}", "\\^c" } }, /* with circumflex */
+ { 267, LATEX_MACRO, ".{c}", { "{\\.{c}}", "\\.{c}", "\\.c" } }, /* with dot above */
+ { 269, LATEX_MACRO, "v{c}", { "{\\v{c}}", "\\v{c}", "\\v c" } }, /* with caron (hacek) */
+
+ /* Latin Capital D */
+ { 270, LATEX_MACRO, "v{D}", { "{\\v{D}}", "\\v{D}", "\\v D" } }, /* with caron */
+ { 272, LATEX_MACRO, "DJ", { "{\\DJ}", NULL, NULL } }, /* with stroke */
+
+ /* Latin Small d */
+ { 271, LATEX_MACRO, "v{d}", { "{\\v{d}}", "\\v{d}", "\\v d" } }, /* with caron */
+ { 273, LATEX_MACRO, "dj", { "{\\dj}", NULL, NULL } }, /* with stroke */
+
+ /* Latin Capital E */
+ { 200, LATEX_MACRO, "`E", { "{\\`E}", "\\`{E}", "\\`E" } }, /* with grave */
+ { 201, LATEX_MACRO, "'E", { "{\\'E}", "\\'{E}", "\\'E" } }, /* with acute */
+ { 202, LATEX_MACRO, "^E", { "{\\^E}", "\\^{E}", "\\^E" } }, /* with circumflex */
+ { 203, LATEX_MACRO, "\"E", { "{\\\"E}", "\\\"{E}", "\\\"E" } }, /* with diuresis */
+ { 274, LATEX_MACRO, "={E}", { "{\\={E}}", "\\={E}", "\\=E" } }, /* with macron */
+ { 276, LATEX_MACRO, "u{E}", { "{\\u{E}}", "\\u{E}", "\\u E" } }, /* with breve */
+ { 278, LATEX_MACRO, ".{E}", { "{\\.{E}}", "\\.{E}", "\\.E" } }, /* with dot above */
+ { 280, LATEX_MACRO, "k{E}", { "{\\k{E}}", "\\k{E}", "\\k E" } }, /* with ogonek */
+ { 282, LATEX_MACRO, "v{E}", { "{\\v{E}}", "\\v{E}", "\\v E" } }, /* with caron */
+
+ /* Latin Small e */
+ { 232, LATEX_MACRO, "`e", { "{\\`e}", "\\`{e}", "\\`e" } }, /* with grave */
+ { 233, LATEX_MACRO, "'e", { "{\\'e}", "\\'{e}", "\\'e" } }, /* with acute */
+ { 234, LATEX_MACRO, "^e", { "{\\^e}", "\\^{e}", "\\^e" } }, /* with circumflex */
+ { 235, LATEX_MACRO, "\"e", { "{\\\"e}", "\\\"{e}", "\\\"e" } }, /* with diuresis */
+ { 275, LATEX_MACRO, "={e}", { "{\\={e}}", "\\={e}", "\\=e" } }, /* with macron */
+ { 277, LATEX_MACRO, "u{e}", { "{\\u{e}}", "\\u{e}", "\\u e" } }, /* with breve */
+ { 279, LATEX_MACRO, ".{e}", { "{\\.{e}}", "\\.{e}", "\\.e" } }, /* with dot above */
+ { 281, LATEX_MACRO, "k{e}", { "{\\k{e}}", "\\k{e}", "\\k e" } }, /* with ogonek */
+ { 283, LATEX_MACRO, "v{e}", { "{\\v{e}}", "\\v{e}", "\\v e" } }, /* with caron */
+
+ /* Latin Capital G */
+ { 284, LATEX_MACRO, "^{G}", { "{\\^{G}}", "\\^{G}", "\\^G" } }, /* with circumflex */
+ { 286, LATEX_MACRO, "u{G}", { "{\\u{G}}", "\\u{G}", "\\u G" } }, /* with breve */
+ { 288, LATEX_MACRO, ".{G}", { "{\\.{G}}", "\\.{G}", "\\.G" } }, /* with dot above */
+ { 290, LATEX_MACRO, "c{G}", { "{\\c{G}}", "\\c{G}", "\\c G" } }, /* with cedilla */
+ { 486, LATEX_MACRO, "v{G}", { "{\\v{G}}", "\\v{G}", "\\v G" } }, /* with caron */
+ { 500, LATEX_MACRO, "'{G}", { "{\\'{G}}", "\\'{G}", "\\'G" } }, /* with acute */
+
+ /* Latin Small g */
+ { 285, LATEX_MACRO, "^{g}", { "{\\^{g}}", "\\^{g}", "\\^g" } }, /* with circumflex */
+ { 287, LATEX_MACRO, "u{g}", { "{\\u{g}}", "\\u{g}", "\\u g" } }, /* with breve */
+ { 289, LATEX_MACRO, ".{g}", { "{\\.{g}}", "\\.{g}", "\\.g" } }, /* with dot above */
+ { 291, LATEX_MACRO, "c{g}", { "{\\c{g}}", "\\c{g}", "\\c g" } }, /* with cedilla */
+ { 487, LATEX_MACRO, "v{g}", { "{\\v{g}}", "\\v{g}", "\\v g" } }, /* with caron */
+ { 501, LATEX_MACRO, "'{g}", { "{\\'{g}}", "\\'{g}", "\\'g" } }, /* with acute */
+
+ /* Latin Capital H */
+ { 292, LATEX_MACRO, "^{H}", { "{\\^{H}}", "\\^{H}", "\\^H" } }, /* with circumflex */
+/* { 294, LATEX_MACRO, "", { NULL, NULL, NULL } },*//* with stroke */
+
+ /* Latin Capital h */
+ { 293, LATEX_MACRO, "^{h}", { "{\\^{h}}", "\\^{h}", "\\^h" } }, /* with circumflex */
+/* { 295, LATEX_MACRO, "", { NULL, NULL, NULL } },*//* with stroke */
+
+ /* Latin Capital I */
+ { 204, LATEX_MACRO, "`I", { "{\\`I}", "\\`{I}", "\\`I" } }, /* with grave */
+ { 205, LATEX_MACRO, "'I", { "{\\'I}", "\\'{I}", "\\'I" } }, /* with acute */
+ { 206, LATEX_MACRO, "^I", { "{\\^I}", "\\^{I}", "\\^I" } }, /* with circumflex */
+ { 207, LATEX_MACRO, "\"I", { "{\\\"I}", "\\\"{I}", "\\\"I" } }, /* with diuresis */
+ { 296, LATEX_MACRO, "~{I}", { "{\\~{I}}", "\\~{I}", "\\~I" } }, /* with tilde */
+ { 298, LATEX_MACRO, "={I}", { "{\\={I}}", "\\={I}", "\\=I" } }, /* with macron */
+ { 300, LATEX_MACRO, "u{I}", { "{\\u{I}}", "\\u{I}", "\\u I" } }, /* with breve */
+ { 302, LATEX_MACRO, "k{I}", { "{\\k{I}}", "\\k{I}", "\\k I" } }, /* with ogonek */
+ { 304, LATEX_MACRO, ".{I}", { "{\\.{I}}", "\\.{I}", "\\. I" } }, /* with dot above */
+ { 463, LATEX_MACRO, "v{I}", { "{\\v{I}}", "\\v{I}", "\\v I" } }, /* with caron */
+
+ /* Latin Small i */
+ { 236, LATEX_MACRO, "`i", { "{\\`i}", "\\`{i}", "\\`i" } }, /* with grave */
+ { 237, LATEX_MACRO, "'i", { "{\\'i}", "\\'{i}", "\\'i" } }, /* with acute */
+ { 238, LATEX_MACRO, "^i", { "{\\^i}", "\\^{i}", "\\^i" } }, /* with circumflex */
+ { 239, LATEX_MACRO, "\"i", { "{\\\"i}", "\\\"{i}", "\\\"i" } }, /* with diuresis */
+ { 303, LATEX_MACRO, "k{i}", { "{\\k{i}}", "\\k{i}", "\\k i" } }, /* with ogonek */
+ /* Latex "\i" has no dot on "i" */
+ { 305, LATEX_MACRO, "i", { "{\\i}", "\\i{}", NULL } }, /* without dot above */
+ { 236, LATEX_MACRO, "`{\\i}", { "{\\`\\i}", "\\`{\\i}", "\\`\\i" } }, /* with grave */
+ { 237, LATEX_MACRO, "'{\\i}", { "{\\'\\i}", "\\'{\\i}", "\\'\\i" } }, /* with acute */
+ { 238, LATEX_MACRO, "^{\\i}", { "{\\^\\i}", "\\^{\\i}", "\\^\\i" } }, /* with circumflex */
+ { 239, LATEX_MACRO, "\"{\\i}", { "{\\\"\\i}", "\\\"{\\i}","\\\"\\i" } }, /* with diuresis */
+ { 297, LATEX_MACRO, "`{\\i}", { "{\\~{\\i}}", "\\~{\\i}", "\\~\\i{}" } }, /* with tilde */
+ { 299, LATEX_MACRO, "={\\i}", { "{\\={\\i}}", "\\={\\i}", "\\=\\i{}" } }, /* with macron */
+ { 301, LATEX_MACRO, "u{\\i}", { "{\\u{\\i}}", "\\u{\\i}", "\\u\\i{}" } }, /* with breve */
+ { 464, LATEX_MACRO, "v{\\i}", { "{\\v \\i{}}", "\\v \\i{}", NULL } }, /* with caron */
+
+/* { 306, LATEX_MACRO, "", { NULL, NULL, NULL } },*/ /* Latin Capital IJ */
+/* { 307, LATEX_MACRO, "", { NULL, NULL, NULL } },*/ /* Latin Small ij */
+
+ /* Latin Capital J */
+ { 308, LATEX_MACRO, "^{J}", { "{\\^{J}}", "\\^{J}", "\\^J" } }, /* with circumflex */
+
+ /* Latin Small j */
+ { 309, LATEX_MACRO, "^{j}", { "{\\^{j}}", "\\^{j}", "\\^j" } }, /* with circumflex */
+
+ /* Latin Capital K */
+ { 310, LATEX_MACRO, "c{K}", { "{\\c{K}}", "\\c{K}", "\\c K" } }, /* with cedilla */
+ { 488, LATEX_MACRO, "v{K}", { "{\\v{K}}", "\\v{K}", "\\v K" } }, /* with caron */
+
+ /* Latin Small k */
+ { 311, LATEX_MACRO, "c{k}", { "{\\c{k}}", "\\c{k}", "\\c k" } }, /* with cedilla */
+ { 489, LATEX_MACRO, "v{k}", { "{\\v{k}}", "\\v{k}", "\\v k" } }, /* with caron */
+
+ /* Latin Capital L */
+ { 313, LATEX_MACRO, "'{L}", { "{\\'{L}}", "\\'{L}", "\\'L" } }, /* with acute */
+ { 315, LATEX_MACRO, "c{L}", { "{\\c{L}}", "\\c{L}", "\\c L" } }, /* with cedilla */
+ { 317, LATEX_MACRO, "v{L}", { "{\\v{L}}", "\\v{l}", "\\v L" } }, /* with caron */
+ { 319, LATEX_COMBO, "{L\\hspace{-0.35em}$\\cdot$}", { "{L\\hspace{-0.35em}$\\cdot$}","L\\hspace{-0.35em}$\\cdot$", NULL } }, /* with middle dot */
+ { 321, LATEX_MACRO, "L", { "{\\L}", "{\\L{}}", "\\L{}" } }, /* with stroke */
+
+ /* Latin Small l */
+ { 314, LATEX_MACRO, "'{l}", { "{\\'{l}}", "\\'{l}", "\\'l" } }, /* with acute */
+ { 316, LATEX_MACRO, "c{l}", { "{\\c{l}}", "\\c{l}", "\\c l" } }, /* with cedilla */
+ { 318, LATEX_MACRO, "v{l}", { "{\\v{l}}", "\\v{l}", "\\v l" } }, /* with caron */
+ { 320, LATEX_COMBO, "{l$\\cdot$}", { "{l$\\cdot$}","l$\\cdot$", NULL } }, /* with middle dot */
+ { 322, LATEX_MACRO, "l", { "{\\l}", "{\\l{}}", "\\l{}" } }, /* with stroke */
+
+ /* Latin Capital N */
+ { 209, LATEX_MACRO, "~{N}", { "{\\~{N}}", "\\~{N}", "\\~N" } }, /* with tilde */
+ { 323, LATEX_MACRO, "'{N}", { "{\\'{N}}", "\\'{N}", "\\'N" } }, /* with acute */
+ { 325, LATEX_MACRO, "c{N}", { "{\\c{N}}", "\\c{N}", "\\c N" } }, /* with cedilla */
+ { 327, LATEX_MACRO, "v{N}", { "{\\v{N}}", "\\v{N}", "\\v N" } }, /* with caron */
+
+ /* Latin Small n */
+ { 241, LATEX_MACRO, "~{n}", { "{\\~{n}}", "\\~{n}", "\\~n" } }, /* with tilde */
+ { 324, LATEX_MACRO, "'{n}", { "{\\'{n}}", "\\'{n}", "\\'n" } }, /* with acute */
+ { 326, LATEX_MACRO, "c{n}", { "{\\c{n}}", "\\c{n}", "\\c N" } }, /* with cedilla */
+ { 328, LATEX_MACRO, "v{n}", { "{\\v{n}}", "\\v{n}", "\\v n" } }, /* with caron */
+ { 329, LATEX_MACRO, "n", { "\\n", NULL, NULL } }, /* preceeded by apostrophe */
+
+ /* Latin Capital O */
+ { 210, LATEX_MACRO, "`O", { "{\\`O}", "\\`{O}", "\\`O" } }, /* with grave */
+ { 211, LATEX_MACRO, "'O", { "{\\'O}", "\\'{O}", "\\'O" } }, /* with acute */
+ { 212, LATEX_MACRO, "^O", { "{\\^O}", "\\^{O}", "\\^O" } }, /* with circumflex */
+ { 213, LATEX_MACRO, "~O", { "{\\~O}", "\\~{O}", "\\~O" } }, /* with tilde */
+ { 214, LATEX_MACRO, "\"O", { "{\\\"O}", "\\\"{O}", "\\\"O" } }, /* with diaeresis */
+ { 216, LATEX_MACRO, "O", { "{\\O}", "\\O", NULL } }, /* with stroke */
+ { 332, LATEX_MACRO, "={O}", { "{\\={O}}", "\\={O}", "\\=O" } }, /* with macron */
+ { 334, LATEX_MACRO, "u{O}", { "{\\u{O}}", "\\u{O}", "\\u O" } }, /* with breve */
+ { 336, LATEX_MACRO, "H{O}", { "{\\H{O}}", "\\H{O}", "\\H O" } }, /* with double acute */
+ { 465, LATEX_MACRO, "v{O}", { "{\\v{O}}", "\\v{O}", "\\v O" } }, /* with caron */
+ { 490, LATEX_MACRO, "k{O}", { "{\\k{O}}", "\\k{O}", "\\k O" } }, /* with ogonek */
+
+ /* Latin Small o */
+ { 242, LATEX_MACRO, "`o", { "{\\`o}", "\\`{o}", "\\`o" } }, /* with grave */
+ { 243, LATEX_MACRO, "'o", { "{\\'o}", "\\'{o}", "\\'o" } }, /* with acute */
+ { 244, LATEX_MACRO, "^o", { "{\\^o}", "\\^{o}", "\\^o" } }, /* with circumflex */
+ { 245, LATEX_MACRO, "~o", { "{\\~o}", "\\~{o}", "\\~o" } }, /* with tilde */
+ { 246, LATEX_MACRO, "\"o", { "{\\\"o}", "\\\"{o}", "\\\"o" } }, /* with diaeresis */
+ { 248, LATEX_MACRO, "o", { "{\\o}", "\\o", NULL } }, /* with stroke */
+ { 333, LATEX_MACRO, "={o}", { "{\\={o}}", "\\={o}", "\\=o" } }, /* with macron */
+ { 335, LATEX_MACRO, "u{o}", { "{\\u{o}}", "\\u{o}", "\\u o" } }, /* with breve */
+ { 337, LATEX_MACRO, "H{o}", { "{\\H{o}}", "\\H{o}", "\\H o" } }, /* with double acute */
+ { 466, LATEX_MACRO, "v{o}", { "{\\v{o}}", "\\v{o}", "\\v o" } }, /* with caron */
+ { 491, LATEX_MACRO, "k{o}", { "{\\k{o}}", "\\k{o}", "\\k o" } }, /* with ogonek */
+
+ { 338, LATEX_MACRO, "OE", { "{\\OE}", "\\OE", NULL } }, /* Latin Capital OE */
+ { 339, LATEX_MACRO, "oe", { "{\\oe}", "\\oe", NULL } }, /* Latin Small oe */
+
+ /* Latin Capital R */
+ { 340, LATEX_MACRO, "'R", { "{\\'{R}}", "\\'{R}", "\\'R" } }, /* with acute */
+ { 342, LATEX_MACRO, "c{R}", { "{\\c{R}}", "\\c{R}", "\\c R" } }, /* with cedilla */
+ { 344, LATEX_MACRO, "v{R}", { "{\\v{R}}", "\\v{R}", "\\v R" } }, /* with caron */
+
+ /* Latin Small r */
+ { 341, LATEX_MACRO, "'r", { "{\\'{r}}", "\\'{r}", "\\'r" } }, /* with acute */
+ { 343, LATEX_MACRO, "c{r}", { "{\\c{r}}", "\\c{r}", "\\c r" } }, /* with cedilla */
+ { 345, LATEX_MACRO, "v{r}", { "{\\v{r}}", "\\v{r}", "\\v r" } }, /* with caron */
+
+ /* Latin Capital S */
+ { 346, LATEX_MACRO, "'{S}", { "{\\'{S}}", "\\'{S}", "\\'S" } }, /* with acute */
+ { 348, LATEX_MACRO, "^{S}", { "{\\^{S}}", "\\^{S}", "\\^S" } }, /* with circumflex */
+ { 350, LATEX_MACRO, "c{S}", { "{\\c{S}}", "\\c{S}", "\\c S" } }, /* with cedilla */
+ { 352, LATEX_MACRO, "v{S}", { "{\\v{S}}", "\\v{S}", "\\v S" } }, /* with caron */
+
+ /* Latin Small s */
+ { 347, LATEX_MACRO, "'{s}", { "{\\'{s}}", "\\'{s}", "\\'s" } }, /* with acute */
+ { 349, LATEX_MACRO, "^{s}", { "{\\^{s}}", "\\^{s}", "\\^s" } }, /* with circumflex */
+ { 351, LATEX_MACRO, "c{s}", { "{\\c{s}}", "\\c{s}", "\\c s" } }, /* with cedilla */
+ { 353, LATEX_MACRO, "v{s}", { "{\\v{s}}", "\\v{s}", "\\v s" } }, /* with caron */
+
+ /* Latin Capital T */
+ { 354, LATEX_MACRO, "c{T}", { "{\\c{T}}", "\\c{T}", NULL } }, /* with cedilla */
+ { 356, LATEX_MACRO, "v{T}", { "{\\v{T}}", "\\v{T}", NULL } }, /* with caron */
+/* { 358, LATEX_MACRO, "", { NULL, NULL, NULL } },*//* with stroke */
+
+ /* Latin Small t */
+ { 355, LATEX_MACRO, "c{T}", { "{\\c{t}}", "\\c{t}", NULL } }, /* with cedilla */
+ { 357, LATEX_MACRO, "v{T}", { "{\\v{t}}", "\\v{t}", NULL } }, /* with caron */
+/* { 359, LATEX_MACRO, "", { NULL, NULL, NULL } },*//* with stroke */
+
+ { 223, LATEX_MACRO, "ss", { "{\\ss}", "\\ss", NULL } }, /* German sz ligature, "sharp s" */
+
+ /* Latin Capital U */
+ { 217, LATEX_MACRO, "`U", { "{\\`U}", "\\`{U}", "\\`U" } }, /* with grave */
+ { 218, LATEX_MACRO, "'U", { "{\\'U}", "\\'{U}", "\\'U" } }, /* with acute */
+ { 219, LATEX_MACRO, "^U", { "{\\^U}", "\\^{U}", "\\^U" } }, /* with circumflex */
+ { 220, LATEX_MACRO, "\"U", { "{\\\"U}", "\\\"{U}","\\\"U" } }, /* with diaeresis */
+ { 360, LATEX_MACRO, "~{U}", { "{\\~{U}}", "\\~{U}", "\\~U" } }, /* with tilde */
+ { 362, LATEX_MACRO, "={U}", { "{\\={U}}", "\\={U}", "\\=U" } }, /* with macron */
+ { 364, LATEX_MACRO, "u{U}", { "{\\u{U}}", "\\u{U}", "\\u U" } }, /* with breve */
+ { 366, LATEX_MACRO, "r{U}", { "{\\r{U}}", "\\r{U}", "\\r U" } }, /* with ring above */
+ { 368, LATEX_MACRO, "H{U}", { "{\\H{U}}", "\\H{U}", "\\H U" } }, /* with double acute */
+ { 370, LATEX_MACRO, "k{U}", { "{\\k{U}}", "\\k{U}", "\\k U" } }, /* with ogonek */
+ { 467, LATEX_MACRO, "v{U}", { "{\\v{U}}", "\\v{U}", "\\v U" } }, /* with caron */
+
+ /* Latin Small u */
+ { 249, LATEX_MACRO, "`u", { "{\\`u}", "\\`{u}", "\\`u" } }, /* with grave */
+ { 250, LATEX_MACRO, "'u", { "{\\'u}", "\\'{u}", "\\'u" } }, /* with acute */
+ { 251, LATEX_MACRO, "^u", { "{\\^u}", "\\^{u}", "\\^u" } }, /* with circumflex */
+ { 252, LATEX_MACRO, "\"u", { "{\\\"u}", "\\\"{u}","\\\"u" } }, /* with diaeresis */
+ { 361, LATEX_MACRO, "~{u}", { "{\\~{u}}", "\\~{u}", NULL } }, /* with tilde */
+ { 363, LATEX_MACRO, "={u}", { "{\\={u}}", "\\={u}", "\\=u" } }, /* with macron */
+ { 365, LATEX_MACRO, "u{u}", { "{\\u{u}}", "\\u{u}", "\\u u" } }, /* with breve */
+ { 367, LATEX_MACRO, "r{u}", { "{\\r{u}}", "\\r{u}", "\\r u" } }, /* with ring above */
+ { 369, LATEX_MACRO, "H{u}", { "{\\H{u}}", "\\H{u}", "\\H u" } }, /* with double acute */
+ { 371, LATEX_MACRO, "k{u}", { "{\\k{u}}", "\\k{u}", "\\k u" } }, /* with ogonek */
+ { 468, LATEX_MACRO, "v{u}", { "{\\v{u}}", "\\v{u}", "\\v u" } }, /* with caron */
+
+ /* Latin Capital W */
+ { 372, LATEX_MACRO, "^{W}", { "{\\^{W}}", "\\^{W}", "\\^W" } }, /* with circumflex */
+
+ /* Latin Small w */
+ { 373, LATEX_MACRO, "^{w}", { "{\\^{w}}", "\\^{w}", "\\^w" } }, /* with circumflex */
+
+ /* Latin Capital Y */
+ { 221, LATEX_MACRO, "'{Y}", { "{\\'{Y}}", "\\'{Y}", "\\'Y" } }, /* with acute */
+ { 374, LATEX_MACRO, "^{Y}", { "{\\^{Y}}", "\\^{Y}", "\\^Y" } }, /* with circumflex */
+ { 376, LATEX_MACRO, "\"{Y}",{ "{\\\"{Y}}","\\\"{Y}","\\\"Y" } }, /* with diaeresis */
+
+ /* Latin Small y */
+ { 253, LATEX_MACRO, "'y", { "{\\'y}", "\\'{y}", "\\'y" } }, /* with acute */
+ { 255, LATEX_MACRO, "\"y", { "{\\\"y}", "\\\"{y}","\\\"y" } }, /* with diaeresis */
+ { 375, LATEX_MACRO, "^{y}", { "{\\^{y}}","\\^{y}", "\\^y" } }, /* with circumflex */
+
+ /* Latin Capital Z */
+ { 377, LATEX_MACRO, "'{Z}", { "{\\'{Z}}","\\'{Z}", "\\'Z" } }, /* with acute */
+ { 379, LATEX_MACRO, ".{Z}", { "{\\.{Z}}","\\.{Z}", "\\.Z" } }, /* with dot above */
+ { 381, LATEX_MACRO, "v{Z}", { "{\\v{Z}}","\\v{Z}", "\\v Z" } }, /* with caron */
+
+ /* Latin Small z */
+ { 378, LATEX_MACRO, "'{z}", { "{\\'{z}}","\\'{z}", "\\'z" } }, /* with acute */
+ { 380, LATEX_MACRO, ".{z}", { "{\\.{z}}","\\.{z}", "\\.z" } }, /* with dot above */
+ { 382, LATEX_MACRO, "v{z}", { "{\\v{z}}","\\v{z}", "\\v z" } }, /* with caron */
+
+
+ /* Needs to be before \nu */
+ { 8203,LATEX_MATH, "null", { "$\\null$", "\\null", NULL } }, /* No space &#x200B; */
+
+ { 913, LATEX_MATH, "Alpha", { "$\\Alpha$", "\\Alpha", NULL } }, /*GREEK CAPITAL LETTERALPHA*/
+ { 914, LATEX_MATH, "Beta", { "$\\Beta$", "\\Beta", NULL } }, /*GREEK CAPITAL LETTERBETA*/
+ { 915, LATEX_MATH, "Gamma", { "$\\Gamma$", "\\Gamma", NULL } }, /*GREEK CAPITAL LETTERGAMMA*/
+ { 916, LATEX_MATH, "Delta", { "$\\Delta$", "\\Delta", NULL } }, /*GREEK CAPITAL LETTERDELTA*/
+ { 917, LATEX_MATH, "Epsilon", { "$\\Epsilon$", "\\Epsilon", NULL } }, /*GREEK CAPITAL LETTEREPSILON*/
+ { 918, LATEX_MATH, "Zeta", { "$\\Zeta$", "\\Zeta", NULL } }, /*GREEK CAPITAL LETTERZETA*/
+ { 919, LATEX_MATH, "Eta", { "$\\Eta$", "\\Eta", NULL } }, /*GREEK CAPITAL LETTERETA*/
+ { 920, LATEX_MATH, "Theta", { "$\\Theta$", "\\Theta", NULL } }, /*GREEK CAPITAL LETTERTHETA*/
+ { 921, LATEX_MATH, "Iota", { "$\\Iota$", "\\Iota", NULL } }, /*GREEK CAPITAL LETTERIOTA*/
+ { 922, LATEX_MATH, "Kappa", { "$\\Kappa$", "\\Kappa", NULL } }, /*GREEK CAPITAL LETTERKAPPA*/
+ { 923, LATEX_MATH, "Lambda", { "$\\Lambda$", "\\Lambda", NULL } }, /*GREEK CAPITAL LETTERLAMDA*/
+ { 924, LATEX_MATH, "Mu", { "$\\Mu$", "\\Mu", NULL } }, /*GREEK CAPITAL LETTERMU*/
+ { 925, LATEX_MATH, "Nu", { "$\\Nu$", "\\Nu", NULL } }, /*GREEK CAPITAL LETTERNU*/
+ { 926, LATEX_MATH, "Xi", { "$\\Xi$", "\\Xi", NULL } }, /*GREEK CAPITAL LETTERXI*/
+ { 927, LATEX_MATH, "Omicron", { "$\\Omicron$", "\\Omicron", NULL } }, /*GREEK CAPITAL LETTEROMICRON*/
+ { 928, LATEX_MATH, "Pi", { "$\\Pi$", "\\Pi", NULL } }, /*GREEK CAPITAL LETTERPI*/
+ { 929, LATEX_MATH, "Rho", { "$\\Rho$", "\\Rho", NULL } }, /*GREEK CAPITAL LETTERRHO*/
+ { 931, LATEX_MATH, "Sigma", { "$\\Sigma$", "\\Sigma", NULL } }, /*GREEK CAPITAL LETTERSIGMA*/
+ { 932, LATEX_MATH, "Tau", { "$\\Tau$", "\\Tau", NULL } }, /*GREEK CAPITAL LETTERTAU*/
+ { 933, LATEX_MATH, "Upsilon", { "$\\Upsilon$", "\\Upsilon", NULL } }, /*GREEK CAPITAL LETTERUPSILON*/
+ { 934, LATEX_MATH, "Phi", { "$\\Phi$", "\\Phi", NULL } }, /*GREEK CAPITAL LETTERPHI*/
+ { 935, LATEX_MATH, "Chi", { "$\\Chi$", "\\Chi", NULL } }, /*GREEK CAPITAL LETTERCHI*/
+ { 936, LATEX_MATH, "Psi", { "$\\Psi$", "\\Psi", NULL } }, /*GREEK CAPITAL LETTERPSI*/
+ { 937, LATEX_MATH, "Omega", { "$\\Omega$", "\\Omega", NULL } }, /*GREEK CAPITAL LETTEROMEGA*/
+ /* 902 = GREEK CAPITAL LETTER ALPHAWITHTONOS*/
+ /* 904 = GREEK CAPITAL LETTER EPSILONWITHTONOS*/
+ /* 905 = GREEK CAPITAL LETTER ETAWITHTONOS*/
+ /* 938 = GREEK CAPITAL LETTER IOTAWITHDIALYTIKA*/
+ /* 906 = GREEK CAPITAL LETTER IOTAWITHTONOS*/
+ /* 908 = GREEK CAPITAL LETTER OMICRONWITHTONOS*/
+ /* 939 = GREEK CAPITAL LETTER UPSILONWITHDIALYTIKA*/
+ /* 910 = GREEK CAPITAL LETTER UPSILONWITHTONOS*/
+ /* 911, = GREEK CAPITAL LETTER OMEGAWITHTONOS*/
+
+ { 945, LATEX_MATH, "alpha", { "$\\alpha$", "\\alpha", NULL } }, /*GREEK SMALL LETTER ALPHA*/
+ { 946, LATEX_MATH, "beta", { "$\\beta$", "\\beta", NULL } }, /*GREEK SMALL LETTER BETA*/
+ { 968, LATEX_MATH, "psi", { "$\\psi$", "\\psi", NULL } }, /*GREEK SMALL LETTER PSI*/
+ { 948, LATEX_MATH, "delta", { "$\\delta$", "\\delta", NULL } }, /*GREEK SMALL LETTER DELTA*/
+ { 949, LATEX_MATH, "epsilon", { "$\\epsilon$", "\\epsilon", NULL } }, /*GREEK SMALL LETTER EPSILON*/
+ { 966, LATEX_MATH, "phi", { "$\\phi$", "\\phi", NULL } }, /*GREEK SMALL LETTER PHI*/
+ { 947, LATEX_MATH, "gamma", { "$\\gamma$", "\\gamma", NULL } }, /*GREEK SMALL LETTER GAMMA*/
+ { 951, LATEX_MATH, "eta", { "$\\eta$", "\\eta", NULL } }, /*GREEK SMALL LETTER ETA*/
+ { 953, LATEX_MATH, "iota", { "$\\iota$", "\\iota", NULL } }, /*GREEK SMALL LETTER IOTA*/
+ { 958, LATEX_MATH, "xi", { "$\\xi$", "\\xi", NULL } }, /*GREEK SMALL LETTER XI*/
+ { 954, LATEX_MATH, "kappa", { "$\\kappa$", "\\kappa" , NULL } }, /*GREEK SMALL LETTER KAPPA*/
+ { 955, LATEX_MATH, "lambda", { "$\\lambda$", "\\lambda", NULL } }, /*GREEK SMALL LETTER LAMDA*/
+ { 956, LATEX_MATH, "mu", { "$\\mu$", "\\mu", NULL } }, /*GREEK SMALL LETTER MU*/
+ { 957, LATEX_MATH, "nu", { "$\\nu$", "\\nu", NULL } }, /*GREEK SMALL LETTER NU*/
+ { 959, LATEX_MATH, "omicron", { "$\\omicron$", "\\omicron", NULL } }, /*GREEK SMALL LETTER OMICRON*/
+ { 960, LATEX_MATH, "pi", { "$\\pi$", "\\pi", NULL } }, /*GREEK SMALL LETTER PI*/
+ { 961, LATEX_MATH, "rho", { "$\\rho$", "\\rho", NULL } }, /*GREEK SMALL LETTER RHO*/
+ { 963, LATEX_MATH, "sigma", { "$\\sigma$", "\\sigma", NULL } }, /*GREEK SMALL LETTER SIGMA*/
+ { 964, LATEX_MATH, "tau", { "$\\tau$", "\\tau", NULL } }, /*GREEK SMALL LETTER TAU*/
+ { 952, LATEX_MATH, "theta", { "$\\theta$", "\\theta", NULL } }, /*GREEK SMALL LETTER THETA*/
+ { 969, LATEX_MATH, "omega", { "$\\omega$", "\\omega", NULL } }, /*GREEK SMALL LETTER OMEGA*/
+ { 967, LATEX_MATH, "chi", { "$\\chi$", "\\chi", NULL } }, /*GREEK SMALL LETTER CHI*/
+ { 965, LATEX_MATH, "upsilon", { "$\\upsilon$", "\\upsilon", NULL } }, /*GREEK SMALL LETTER UPSILON*/
+ { 950, LATEX_MATH, "zeta", { "$\\zeta$", "\\zeta", NULL } }, /*GREEK SMALL LETTER ZETA*/
+ /* 940 = GREEK SMALL LETTER ALPHAWITHTONOS*/
+ /* 941 = GREEK SMALL LETTER EPSILONWITHTONOS*/
+ /* 942 = GREEK SMALL LETTER ETAWITHTONOS */
+ /* 912 = GREEK SMALL LETTER IOTAWITHDIALYTIKAANDTONOS*/
+ /* 943 = GREEK SMALL LETTER IOTAWITHTONOS */
+ /* 970 = GREEK SMALL LETTER IOTAWITHDIALYTIKA */
+ /* 972 = GREEK SMALL LETTER OMICRONWITHTONOS*/
+ /* 974 = GREEK SMALL LETTER OMEGAWITHTONOS*/
+ /* 973 = GREEK SMALL LETTER UPSILONWITHTONOS*/
+ /* 971 = GREEK SMALL LETTER UPSILONWITHDIALYTIKA*/
+ /* 944 = GREEK SMALL LETTER UPSILONWITHDIALYTIKAANDTONOS*/
+
+ { 181, LATEX_MACRO, "textmu", { "{\\textmu}", "\\textmu", "$\\mu$" } }, /* 181=micro sign, techically &#xB5; */
+
+/* Make sure that these don't stomp on other latex things above */
+
+ { 8242, LATEX_MACRO, "textasciiacutex", { "{\\textasciiacutex}", "\\textasciiacutex", "$'$" } }, /* Prime symbol &#x2032; */
+ { 180, LATEX_MACRO, "textasciiacute", { "{\\textasciiacute}", "\\textasciiacute", "\\'" } }, /* acute accent &#xB4; */
+ { 8243, LATEX_MACRO, "textacutedbl", { "{\\textacutedbl}", "\\textacutedbl", "$''$" } }, /* Double prime &#x2033; */
+ { 8245, LATEX_MACRO, "textasciigrave", { "{\\textasciigrave}", "\\textasciigrave", "\\`" } }, /* Grave accent &#x2035; */
+/* { 768, LATEX_MACRO, "`", { "\\`", NULL, NULL } },*//* Grave accent &#x0300;--apply to next char */
+/* { 769, LATEX_MACRO, "'", { "\\'", NULL, NULL } },*//* Acute accent &#x0301;--apply to next char */
+
+ { 8963, LATEX_MACRO, "textasciicircum", { "{\\textasciicircum}", "\\textasciicircum", NULL } }, /* &#x2303; */
+ { 184, LATEX_MACRO, "textasciicedilla", { "{\\textasciicedilla}", "\\textasciicedilla", NULL } }, /* cedilla &#xB8; */
+ { 168, LATEX_MACRO, "textasciidieresis", { "{\\textasciidieresis}", "\\textasciidieresis", NULL } }, /* dieresis &#xA8; */
+ { 175, LATEX_MACRO, "textasciimacron", { "{\\textasciimacron}", "\\textasciimacron", NULL } }, /* macron &#xAF; */
+
+ { 8593, LATEX_MACRO, "textuparrow", { "{\\textuparrow}", "\\textuparrow", NULL } }, /* Up arrow &#x2191; */
+ { 8595, LATEX_MACRO, "textdownarrow", { "{\\textdownarrow}", "\\textdownarrow", NULL } }, /* Down arrow &#x2193; */
+ { 8594, LATEX_MACRO, "textrightarrow", { "{\\textrightarrow}", "\\textrightarrow", NULL } }, /* Right arrow &#x2192; */
+ { 8592, LATEX_MACRO, "textleftarrow", { "{\\textleftarrow}", "\\textleftarrow", NULL } }, /* Left arrow &#x2190; */
+ { 12296,LATEX_MACRO, "textlangle", { "{\\textlangle}", "\\textlangle", NULL } }, /* L-angle &#x3008; */
+ { 12297,LATEX_MACRO, "textrangle", { "{\\textrangle}", "\\textrangle", NULL } }, /* L-angle &#x3009; */
+
+ { 166, LATEX_MACRO, "textbrokenbar", { "{\\textbrokenbar}", "\\textbrokenbar", NULL } }, /* Broken vertical bar &#xA6; */
+ { 167, LATEX_MACRO, "textsection", { "{\\textsection}", "\\textsection", "\\S{}" } }, /* Section sign, &#xA7; */
+ { 170, LATEX_MACRO, "textordfeminine", { "{\\textordfeminine}", "\\textordfeminine", "$^a$" } }, /* &#xAA; */
+ { 172, LATEX_MACRO, "textlnot", { "{\\textlnot}", "\\textlnot", NULL } }, /* Lnot &#xAC; */
+ { 182, LATEX_MACRO, "textparagraph", { "{\\textparagraph}", "\\textparagraph", NULL } }, /* Paragraph sign &#xB6; */
+ { 183, LATEX_MACRO, "textperiodcentered",{ "{\\textperiodcentered}","\\textperiodcentered", NULL } }, /* Period-centered &#xB7; */
+ { 186, LATEX_MACRO, "textordmasculine", { "{\\textordmasculine}", "\\textordmasculine", NULL } }, /* &#xBA; */
+ { 8214, LATEX_MACRO, "textbardbl", { "{\\textbardbl}", "\\textbardbl", NULL } }, /* Double vertical bar &#x2016; */
+ { 8224, LATEX_MACRO, "textdagger", { "{\\textdagger}", "\\textdagger", NULL } }, /* Dagger &#x2020; */
+ { 8225, LATEX_MACRO, "textdaggerdbl", { "{\\textdaggerdbl}", "\\textdaggerdbl", NULL } }, /* Double dagger &x2021; */
+ { 8226, LATEX_MACRO, "textbullet", { "{\\textbullet}", "\\textbullet", NULL } }, /* Bullet &#x2022; */
+ { 8494, LATEX_MACRO, "textestimated", { "{\\textestimated}", "\\textestimated", NULL } }, /* Estimated &#x212E; */
+ { 9526, LATEX_MACRO, "textopenbullet", { "{\\textopenbullet}", "\\textopenbullet", NULL } }, /* &#x2536; */
+
+ { 8220, LATEX_COMBO, "``", { "``", "{\\textquotedblleft}", "\\textquotedblleft" } }, /* Opening double quote &#x201C; */
+ { 8221, LATEX_COMBO, "''", { "''", "{\\textquotedblright}", "\\textquotedblright" } }, /* Closing double quote &#x201D; */
+ { 8216, LATEX_COMBO, "`", { "`", "{\\textquoteleft}", "\\textquoteleft" } }, /* Opening single quote &#x2018; */
+ { 8217, LATEX_COMBO, "'", { "'", "{\\textquoteright}", "\\textquoteright" } }, /* Closing single quote &#x2019; */
+ { 8261, LATEX_MACRO, "textlquill", { "{\\textlquill}", "\\textlquill", NULL } }, /* Left quill &#x2045; */
+ { 8262, LATEX_MACRO, "textrquill", { "{\\textrquill}", "\\textrquill", NULL } }, /* Right quill &#x2046; */
+
+ { 8212, LATEX_COMBO, "---", { "---", "{\\textemdash}", "\\textemdash" } }, /* Em-dash &#x2014; */
+ { 8211, LATEX_COMBO, "--", { "--", "{\\textendash}", "\\textendash" } }, /* En-dash &#x2013; */
+ { 8230, LATEX_MACRO, "ldots", { "{\\ldots}", "{\\textellipsis}", "\\textellipsis" } }, /* Ellipsis &#x2026; */
+
+ { 8194, LATEX_MACRO, "enspace", { "{\\enspace}", "\\hspace{.5em}", NULL } }, /* En-space &#x2002; */
+ { 8195, LATEX_MACRO, "emspace", { "{\\emspace}", "\\hspace{1em}", NULL } }, /* Em-space &#x2003; */
+ { 8201, LATEX_MACRO, "thinspace", { "{\\thinspace}", NULL, NULL } }, /* Thin space &#x2009; */
+ { 8203, LATEX_MACRO, "textnospace", { "{\\textnospace}", "\\textnospace", NULL } }, /* No space &#x200B; */
+ { 9251, LATEX_MACRO, "textvisiblespace", { "{\\textvisiblespace}", "\\textvisiblespace", NULL } }, /* Visible space &#x2423; */
+
+ { 215, LATEX_MACRO, "texttimes", { "{\\texttimes}", "\\texttimes", NULL } }, /* Multiplication symbol &#xD7; */
+ { 247, LATEX_MACRO, "textdiv", { "{\\textdiv}", "\\textdiv", NULL } }, /* Division symbol &#xF7; */
+ { 177, LATEX_MACRO, "textpm", { "{\\textpm}", "\\textpm", NULL } }, /* Plus-minus character &#B1; */
+ { 189, LATEX_MACRO, "textonehalf", { "{\\textonehalf}", "\\textonehalf", NULL } }, /* Vulgar fraction one half &#xBD; */
+ { 188, LATEX_MACRO, "textonequarter", { "{\\textonequarter}", "\\textonequarter", NULL } }, /* Vulgar fraction one quarter &#xBD; */
+ { 190, LATEX_MACRO, "textthreequarters", { "{\\textthreequarters}", "\\textthreequarters", NULL } }, /* Vulgar fraction three quarters &#xBE; */
+ { 8240, LATEX_MACRO, "texttenthousand", { "{\\texttenthousand}", "\\texttenthousand", NULL } }, /* Per thousand sign &#x2030; */
+ { 8241, LATEX_MACRO, "textpertenthousand",{ "{\\textpertenthousand}","\\textpertenthousand", NULL } }, /* Per ten thousand sign &#x2031;*/
+ { 8260, LATEX_MACRO, "textfractionssolidus",{"{\\textfractionsolidus}", "\\textfractionsolidus", NULL } }, /* &x8260; */
+ { 8451, LATEX_MACRO, "textcelcius", { "{\\textcelcius}", "\\textcelcius", NULL } }, /* Celcicus &#x2103; */
+ { 8470, LATEX_MACRO, "textnumero", { "{\\textnumero}", "\\textnumero", NULL } }, /* Numero symbol &#x2116; */
+ { 8486, LATEX_MACRO, "textohm", { "{\\textohm}", "\\textohm", NULL } }, /* Ohm symbol &#x2126; */
+ { 8487, LATEX_MACRO, "textmho", { "{\\textmho}", "\\textmho", NULL } }, /* Mho symbol &#x2127; */
+ { 8730, LATEX_MACRO, "textsurd", { "{\\textsurd}", "\\textsurd", NULL } }, /* &#x221A; */
+
+ { 185, LATEX_MACRO, "textonesuperior", { "{\\textonesuperior}", "\\textonesuperior", "$^1$" } }, /*Superscript 1 &#xB9; */
+ { 178, LATEX_MACRO, "texttwosuperior", { "{\\texttwosuperior}", "\\texttwosuperior", "$^2$" } }, /*Superscript 2 &#xB2; */
+ { 179, LATEX_MACRO, "textthreesuperior", { "{\\textthreesuperior}", "\\textthreesuperior", "$^3$" } }, /*Superscript 3 &#xB3; */
+
+ { 161, LATEX_MACRO, "textexclamdown", { "{\\textexclamdown}", "\\textexclamdown", NULL } }, /* Inverted exclamation mark &#xA1;*/
+ { 191, LATEX_MACRO, "textquestiondown", { "{\\textquestiondown}", "\\textquestiondown", NULL } }, /* Inverted question mark &#xBF; */
+
+ { 162, LATEX_MACRO, "textcent", { "{\\textcent}", "\\textcent", NULL } }, /* Cent sign &#xA2; */
+ { 163, LATEX_MACRO, "textsterling", { "{\\textsterling}", "\\textsterling", "\\pounds" } }, /* Pound sign &#xA3; */
+ { 165, LATEX_MACRO, "textyen", { "{\\textyen}", "\\textyen", NULL } }, /* Yen sign &#xA5; */
+ { 402, LATEX_MACRO, "textflorin", { "{\\textflorin}", "\\textflorin", NULL } }, /* Florin sign &#x192; */
+ { 3647, LATEX_MACRO, "textbaht", { "{\\textbaht}", "\\textbaht", NULL } }, /* Thai currency &#xE3F; */
+ { 8355, LATEX_MACRO, "textfrenchfranc", { "{\\textfrenchfranc}", "\\textfrenchfranc", NULL } }, /* French franc &#x20A3; */
+ { 8356, LATEX_MACRO, "textlira", { "{\\textlira}", "\\textlira", NULL } }, /* Lira &#x20A4; */
+ { 8358, LATEX_MACRO, "textnaira", { "{\\textnaira}", "\\textnaria", NULL } }, /* Naira &#x20A6; */
+ { 8361, LATEX_MACRO, "textwon", { "{\\textwon}", "\\textwon", NULL } }, /* &#x20A9; */
+ { 8363, LATEX_MACRO, "textdong", { "{\\textdong}", "\\textdong", NULL } }, /* Vietnamese currency &#x20AB; */
+ { 8364, LATEX_MACRO, "texteuro", { "{\\texteuro}", "\\texteuro", NULL } }, /* Euro sign */
+
+ { 169, LATEX_MACRO, "textcopyright", { "{\\textcopyright}", "\\textcopyright", NULL } }, /* Copyright (C) &#xA9; */
+ { 175, LATEX_MACRO, "textregistered", { "{\\textregistered}", "\\textregistered", NULL } }, /* Registered sign (R) &#xAF;*/
+ { 8482, LATEX_MACRO, "texttrademark", { "{\\texttrademark}", "\\texttrademark", "$^{TM}$" } }, /* Trademark (TM) &#x2122; */
+ { 8480, LATEX_MACRO, "textservicemark", { "{\\textservicemark}", "\\textservicemark", "$^{SM}$" } }, /* Servicemark (SM) &#x2120;*/
+ { 8471, LATEX_MACRO, "textcircledP", { "{\\textcircledP}", "\\textcircledP", NULL } }, /* Circled P &#2117; */
+
+};
+
+static int nlatex_chars = sizeof(latex_chars)/sizeof(struct latex_chars);
+
+/* latex2char()
+ *
+ * Use the latex_chars[] lookup table to determine if any character
+ * is a special LaTeX code. Note that if it is, then the equivalency
+ * is a Unicode character and we need to flag (by setting *unicode to 1)
+ * that we know the output is Unicode. Otherwise, we set *unicode to 0,
+ * meaning that the output is whatever character set was given to us
+ * (which could be Unicode, but is not necessarily Unicode).
+ *
+ */
+unsigned int
+latex2char( char *s, unsigned int *pos, int *unicode )
+{
+ unsigned int value;
+// char *p, *q[3];
+ int i, j, len;
+ char *p;
+
+ p = &( s[*pos] );
+ value = (unsigned char) *p;
+ if ( value=='{' || value=='\\' || value=='~' ||
+ value=='$' || value=='\'' || value=='`' ||
+ value=='-' || value=='^' ) {
+// if ( *p=='\\' && ( *p=='{' || *p=='}' ) ) {
+// } else {
+ for ( i=0; i<nlatex_chars; ++i ) {
+// q[0] = latex_chars[i].bib1;
+// l[0] = strlen( q[0] );
+// q[1] = latex_chars[i].bib2;
+// l[1] = strlen( q[1] );
+// q[2] = latex_chars[i].bib3;
+// l[2] = strlen( q[2] );
+ for ( j=0; j<3; ++j ) {
+ if ( latex_chars[i].variant[j] == NULL ) continue;
+ len = strlen( latex_chars[i].variant[j] );
+ if ( !strncmp( p, latex_chars[i].variant[j], len ) ) {
+ *pos = *pos + len;
+ *unicode = 1;
+ return latex_chars[i].unicode;
+ }
+ }
+ }
+// }
+ }
+ *unicode = 0;
+ *pos = *pos + 1;
+ return value;
+}
+
+void
+uni2latex( unsigned int ch, char buf[], int buf_size )
+{
+ int i, j, n;
+
+ if ( buf_size==0 ) return;
+
+ buf[0] = '?';
+ buf[1] = '\0';
+
+ if ( ch==' ' ) {
+ buf[0] = ' '; /*special case to avoid &nbsp;*/
+ return;
+ }
+
+ for ( i=0; i<nlatex_chars; ++i ) {
+ if ( ch == latex_chars[i].unicode ) {
+ n = 0;
+
+ if ( latex_chars[i].type == LATEX_MACRO ) {
+ if ( n < buf_size ) buf[n++] = '{';
+ if ( n < buf_size ) buf[n++] = '\\';
+ }
+ else if ( latex_chars[i].type == LATEX_MATH ) {
+ if ( n < buf_size ) buf[n++] = '$';
+ if ( n < buf_size ) buf[n++] = '\\';
+ }
+
+ j = 0;
+ while ( latex_chars[i].out[j] ) {
+ if ( n < buf_size ) buf[n++] = latex_chars[i].out[j];
+ j++;
+ }
+
+ if ( latex_chars[i].type == LATEX_MACRO ) {
+ if ( n < buf_size ) buf[n++] = '}';
+ }
+ else if ( latex_chars[i].type == LATEX_MATH ) {
+ if ( n < buf_size ) buf[n++] = '$';
+ }
+
+ if ( n < buf_size ) buf[n] = '\0';
+ else buf[ buf_size-1 ] = '\0';
+
+ return;
+ }
+ }
+
+ if ( ch < 128 ) buf[0] = (char)ch;
+}
+
diff --git a/support/texlab/crates/bibutils_sys/src/latex.h b/support/texlab/crates/bibutils_sys/src/latex.h
new file mode 100644
index 0000000000..f6317ee0c0
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/latex.h
@@ -0,0 +1,17 @@
+/*
+ * latex.h
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef LATEX_H
+#define LATEX_H
+
+extern unsigned int latex2char( char *s, unsigned int *pos, int *unicode );
+extern void uni2latex( unsigned int ch, char buf[], int buf_size );
+
+
+#endif
+
diff --git a/support/texlab/crates/bibutils_sys/src/lib.rs b/support/texlab/crates/bibutils_sys/src/lib.rs
new file mode 100644
index 0000000000..239ea7da8d
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/lib.rs
@@ -0,0 +1,4261 @@
+#![allow(non_upper_case_globals)]
+#![allow(non_camel_case_types)]
+#![allow(non_snake_case)]
+/* automatically generated by rust-bindgen */
+
+pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1;
+pub const _SAL_VERSION: u32 = 20;
+pub const __SAL_H_VERSION: u32 = 180000000;
+pub const _USE_DECLSPECS_FOR_SAL: u32 = 0;
+pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0;
+pub const _CRT_PACKING: u32 = 8;
+pub const _HAS_EXCEPTIONS: u32 = 1;
+pub const _HAS_CXX17: u32 = 0;
+pub const _HAS_CXX20: u32 = 0;
+pub const _HAS_NODISCARD: u32 = 1;
+pub const _ARGMAX: u32 = 100;
+pub const _CRT_INT_MAX: u32 = 2147483647;
+pub const _CRT_FUNCTIONS_REQUIRED: u32 = 1;
+pub const _CRT_HAS_CXX17: u32 = 0;
+pub const _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE: u32 = 1;
+pub const _CRT_BUILD_DESKTOP_APP: u32 = 1;
+pub const _CRT_INTERNAL_NONSTDC_NAMES: u32 = 1;
+pub const __STDC_SECURE_LIB__: u32 = 200411;
+pub const __GOT_SECURE_LIB__: u32 = 200411;
+pub const __STDC_WANT_SECURE_LIB__: u32 = 1;
+pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 254;
+pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0;
+pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0;
+pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 1;
+pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0;
+pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0;
+pub const _CRT_INTERNAL_STDIO_SYMBOL_PREFIX: &'static [u8; 1usize] = b"\0";
+pub const _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION: u32 = 1;
+pub const _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR: u32 = 2;
+pub const _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS: u32 = 4;
+pub const _CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY: u32 = 8;
+pub const _CRT_INTERNAL_PRINTF_LEGACY_THREE_DIGIT_EXPONENTS: u32 = 16;
+pub const _CRT_INTERNAL_SCANF_SECURECRT: u32 = 1;
+pub const _CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS: u32 = 2;
+pub const _CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY: u32 = 4;
+pub const BUFSIZ: u32 = 512;
+pub const _NSTREAM_: u32 = 512;
+pub const _IOB_ENTRIES: u32 = 3;
+pub const EOF: i32 = -1;
+pub const _IOFBF: u32 = 0;
+pub const _IOLBF: u32 = 64;
+pub const _IONBF: u32 = 4;
+pub const L_tmpnam: u32 = 260;
+pub const L_tmpnam_s: u32 = 260;
+pub const SEEK_CUR: u32 = 1;
+pub const SEEK_END: u32 = 2;
+pub const SEEK_SET: u32 = 0;
+pub const FILENAME_MAX: u32 = 260;
+pub const FOPEN_MAX: u32 = 20;
+pub const _SYS_OPEN: u32 = 20;
+pub const TMP_MAX: u32 = 2147483647;
+pub const TMP_MAX_S: u32 = 2147483647;
+pub const _TMP_MAX_S: u32 = 2147483647;
+pub const SYS_OPEN: u32 = 20;
+pub const STR_OK: u32 = 0;
+pub const STR_MEMERR: i32 = -1;
+pub const FIELDS_OK: u32 = 1;
+pub const FIELDS_ERR: u32 = 0;
+pub const FIELDS_NOTFOUND: i32 = -1;
+pub const LEVEL_ORIG: i32 = -2;
+pub const LEVEL_ANY: i32 = -1;
+pub const LEVEL_MAIN: u32 = 0;
+pub const LEVEL_HOST: u32 = 1;
+pub const LEVEL_SERIES: u32 = 2;
+pub const VPLIST_MEMERR: i32 = -1;
+pub const VPLIST_OK: u32 = 0;
+pub const FIELDS_CAN_DUP: u32 = 0;
+pub const FIELDS_NO_DUPS: u32 = 1;
+pub const FIELDS_STRP_FLAG: u32 = 2;
+pub const FIELDS_POSP_FLAG: u32 = 4;
+pub const FIELDS_NOLENOK_FLAG: u32 = 8;
+pub const FIELDS_SETUSE_FLAG: u32 = 16;
+pub const FIELDS_CHRP: u32 = 16;
+pub const FIELDS_STRP: u32 = 18;
+pub const FIELDS_POSP: u32 = 20;
+pub const FIELDS_CHRP_NOLEN: u32 = 24;
+pub const FIELDS_STRP_NOLEN: u32 = 26;
+pub const FIELDS_POSP_NOLEN: u32 = 28;
+pub const FIELDS_CHRP_NOUSE: u32 = 0;
+pub const FIELDS_STRP_NOUSE: u32 = 2;
+pub const REFTYPE_CHATTY: u32 = 0;
+pub const REFTYPE_SILENT: u32 = 1;
+pub const ALWAYS: u32 = 0;
+pub const DEFAULT: u32 = 1;
+pub const SKIP: u32 = 2;
+pub const SIMPLE: u32 = 3;
+pub const TYPE: u32 = 4;
+pub const PERSON: u32 = 5;
+pub const DATE: u32 = 6;
+pub const PAGES: u32 = 7;
+pub const SERIALNO: u32 = 8;
+pub const TITLE: u32 = 9;
+pub const NOTES: u32 = 10;
+pub const DOI: u32 = 11;
+pub const HOWPUBLISHED: u32 = 12;
+pub const LINKEDFILE: u32 = 13;
+pub const KEYWORD: u32 = 14;
+pub const URL: u32 = 15;
+pub const GENRE: u32 = 16;
+pub const BT_SENTE: u32 = 17;
+pub const BT_EPRINT: u32 = 18;
+pub const BT_ORG: u32 = 19;
+pub const BLT_THESIS_TYPE: u32 = 20;
+pub const BLT_SCHOOL: u32 = 21;
+pub const BLT_EDITOR: u32 = 22;
+pub const BLT_SUBTYPE: u32 = 23;
+pub const BLT_SKIP: u32 = 24;
+pub const EPRINT: u32 = 25;
+pub const NUM_REFTYPES: u32 = 26;
+pub const _MAX_ITOSTR_BASE16_COUNT: u32 = 9;
+pub const _MAX_ITOSTR_BASE10_COUNT: u32 = 12;
+pub const _MAX_ITOSTR_BASE8_COUNT: u32 = 12;
+pub const _MAX_ITOSTR_BASE2_COUNT: u32 = 33;
+pub const _MAX_LTOSTR_BASE16_COUNT: u32 = 9;
+pub const _MAX_LTOSTR_BASE10_COUNT: u32 = 12;
+pub const _MAX_LTOSTR_BASE8_COUNT: u32 = 12;
+pub const _MAX_LTOSTR_BASE2_COUNT: u32 = 33;
+pub const _MAX_ULTOSTR_BASE16_COUNT: u32 = 9;
+pub const _MAX_ULTOSTR_BASE10_COUNT: u32 = 11;
+pub const _MAX_ULTOSTR_BASE8_COUNT: u32 = 12;
+pub const _MAX_ULTOSTR_BASE2_COUNT: u32 = 33;
+pub const _MAX_I64TOSTR_BASE16_COUNT: u32 = 17;
+pub const _MAX_I64TOSTR_BASE10_COUNT: u32 = 21;
+pub const _MAX_I64TOSTR_BASE8_COUNT: u32 = 23;
+pub const _MAX_I64TOSTR_BASE2_COUNT: u32 = 65;
+pub const _MAX_U64TOSTR_BASE16_COUNT: u32 = 17;
+pub const _MAX_U64TOSTR_BASE10_COUNT: u32 = 21;
+pub const _MAX_U64TOSTR_BASE8_COUNT: u32 = 23;
+pub const _MAX_U64TOSTR_BASE2_COUNT: u32 = 65;
+pub const CHAR_BIT: u32 = 8;
+pub const SCHAR_MIN: i32 = -128;
+pub const SCHAR_MAX: u32 = 127;
+pub const UCHAR_MAX: u32 = 255;
+pub const CHAR_MIN: i32 = -128;
+pub const CHAR_MAX: u32 = 127;
+pub const MB_LEN_MAX: u32 = 5;
+pub const SHRT_MIN: i32 = -32768;
+pub const SHRT_MAX: u32 = 32767;
+pub const USHRT_MAX: u32 = 65535;
+pub const INT_MIN: i32 = -2147483648;
+pub const INT_MAX: u32 = 2147483647;
+pub const UINT_MAX: u32 = 4294967295;
+pub const LONG_MIN: i32 = -2147483648;
+pub const LONG_MAX: u32 = 2147483647;
+pub const ULONG_MAX: u32 = 4294967295;
+pub const EXIT_SUCCESS: u32 = 0;
+pub const EXIT_FAILURE: u32 = 1;
+pub const _WRITE_ABORT_MSG: u32 = 1;
+pub const _CALL_REPORTFAULT: u32 = 2;
+pub const _OUT_TO_DEFAULT: u32 = 0;
+pub const _OUT_TO_STDERR: u32 = 1;
+pub const _OUT_TO_MSGBOX: u32 = 2;
+pub const _REPORT_ERRMODE: u32 = 3;
+pub const RAND_MAX: u32 = 32767;
+pub const _CVTBUFSIZE: u32 = 349;
+pub const _MAX_PATH: u32 = 260;
+pub const _MAX_DRIVE: u32 = 3;
+pub const _MAX_DIR: u32 = 256;
+pub const _MAX_FNAME: u32 = 256;
+pub const _MAX_EXT: u32 = 256;
+pub const _MAX_ENV: u32 = 32767;
+pub const EPERM: u32 = 1;
+pub const ENOENT: u32 = 2;
+pub const ESRCH: u32 = 3;
+pub const EINTR: u32 = 4;
+pub const EIO: u32 = 5;
+pub const ENXIO: u32 = 6;
+pub const E2BIG: u32 = 7;
+pub const ENOEXEC: u32 = 8;
+pub const EBADF: u32 = 9;
+pub const ECHILD: u32 = 10;
+pub const EAGAIN: u32 = 11;
+pub const ENOMEM: u32 = 12;
+pub const EACCES: u32 = 13;
+pub const EFAULT: u32 = 14;
+pub const EBUSY: u32 = 16;
+pub const EEXIST: u32 = 17;
+pub const EXDEV: u32 = 18;
+pub const ENODEV: u32 = 19;
+pub const ENOTDIR: u32 = 20;
+pub const EISDIR: u32 = 21;
+pub const ENFILE: u32 = 23;
+pub const EMFILE: u32 = 24;
+pub const ENOTTY: u32 = 25;
+pub const EFBIG: u32 = 27;
+pub const ENOSPC: u32 = 28;
+pub const ESPIPE: u32 = 29;
+pub const EROFS: u32 = 30;
+pub const EMLINK: u32 = 31;
+pub const EPIPE: u32 = 32;
+pub const EDOM: u32 = 33;
+pub const EDEADLK: u32 = 36;
+pub const ENAMETOOLONG: u32 = 38;
+pub const ENOLCK: u32 = 39;
+pub const ENOSYS: u32 = 40;
+pub const ENOTEMPTY: u32 = 41;
+pub const EINVAL: u32 = 22;
+pub const ERANGE: u32 = 34;
+pub const EILSEQ: u32 = 42;
+pub const STRUNCATE: u32 = 80;
+pub const EDEADLOCK: u32 = 36;
+pub const EADDRINUSE: u32 = 100;
+pub const EADDRNOTAVAIL: u32 = 101;
+pub const EAFNOSUPPORT: u32 = 102;
+pub const EALREADY: u32 = 103;
+pub const EBADMSG: u32 = 104;
+pub const ECANCELED: u32 = 105;
+pub const ECONNABORTED: u32 = 106;
+pub const ECONNREFUSED: u32 = 107;
+pub const ECONNRESET: u32 = 108;
+pub const EDESTADDRREQ: u32 = 109;
+pub const EHOSTUNREACH: u32 = 110;
+pub const EIDRM: u32 = 111;
+pub const EINPROGRESS: u32 = 112;
+pub const EISCONN: u32 = 113;
+pub const ELOOP: u32 = 114;
+pub const EMSGSIZE: u32 = 115;
+pub const ENETDOWN: u32 = 116;
+pub const ENETRESET: u32 = 117;
+pub const ENETUNREACH: u32 = 118;
+pub const ENOBUFS: u32 = 119;
+pub const ENODATA: u32 = 120;
+pub const ENOLINK: u32 = 121;
+pub const ENOMSG: u32 = 122;
+pub const ENOPROTOOPT: u32 = 123;
+pub const ENOSR: u32 = 124;
+pub const ENOSTR: u32 = 125;
+pub const ENOTCONN: u32 = 126;
+pub const ENOTRECOVERABLE: u32 = 127;
+pub const ENOTSOCK: u32 = 128;
+pub const ENOTSUP: u32 = 129;
+pub const EOPNOTSUPP: u32 = 130;
+pub const EOTHER: u32 = 131;
+pub const EOVERFLOW: u32 = 132;
+pub const EOWNERDEAD: u32 = 133;
+pub const EPROTO: u32 = 134;
+pub const EPROTONOSUPPORT: u32 = 135;
+pub const EPROTOTYPE: u32 = 136;
+pub const ETIME: u32 = 137;
+pub const ETIMEDOUT: u32 = 138;
+pub const ETXTBSY: u32 = 139;
+pub const EWOULDBLOCK: u32 = 140;
+pub const _NLSCMPERROR: u32 = 2147483647;
+pub const SLIST_OK: u32 = 0;
+pub const SLIST_ERR_MEMERR: i32 = -1;
+pub const SLIST_ERR_CANTOPEN: i32 = -2;
+pub const SLIST_ERR_BADPARAM: i32 = -3;
+pub const SLIST_CHR: u32 = 0;
+pub const SLIST_STR: u32 = 1;
+pub const CHARSET_UNKNOWN: i32 = -1;
+pub const CHARSET_UNICODE: i32 = -2;
+pub const CHARSET_GB18030: i32 = -3;
+pub const CHARSET_DEFAULT: i32 = -2;
+pub const CHARSET_UTF8_DEFAULT: u32 = 1;
+pub const CHARSET_BOM_DEFAULT: u32 = 1;
+pub const STR_CONV_XMLOUT_FALSE: u32 = 0;
+pub const STR_CONV_XMLOUT_TRUE: u32 = 1;
+pub const STR_CONV_XMLOUT_ENTITIES: u32 = 3;
+pub const BIBL_OK: u32 = 0;
+pub const BIBL_ERR_BADINPUT: i32 = -1;
+pub const BIBL_ERR_MEMERR: i32 = -2;
+pub const BIBL_ERR_CANTOPEN: i32 = -3;
+pub const BIBL_FIRSTIN: u32 = 100;
+pub const BIBL_MODSIN: u32 = 100;
+pub const BIBL_BIBTEXIN: u32 = 101;
+pub const BIBL_RISIN: u32 = 102;
+pub const BIBL_ENDNOTEIN: u32 = 103;
+pub const BIBL_COPACIN: u32 = 104;
+pub const BIBL_ISIIN: u32 = 105;
+pub const BIBL_MEDLINEIN: u32 = 106;
+pub const BIBL_ENDNOTEXMLIN: u32 = 107;
+pub const BIBL_BIBLATEXIN: u32 = 108;
+pub const BIBL_EBIIN: u32 = 109;
+pub const BIBL_WORDIN: u32 = 110;
+pub const BIBL_NBIBIN: u32 = 111;
+pub const BIBL_LASTIN: u32 = 111;
+pub const BIBL_FIRSTOUT: u32 = 200;
+pub const BIBL_MODSOUT: u32 = 200;
+pub const BIBL_BIBTEXOUT: u32 = 201;
+pub const BIBL_RISOUT: u32 = 202;
+pub const BIBL_ENDNOTEOUT: u32 = 203;
+pub const BIBL_ISIOUT: u32 = 204;
+pub const BIBL_WORD2007OUT: u32 = 205;
+pub const BIBL_ADSABSOUT: u32 = 206;
+pub const BIBL_NBIBOUT: u32 = 207;
+pub const BIBL_LASTOUT: u32 = 207;
+pub const BIBL_FORMAT_VERBOSE: u32 = 1;
+pub const BIBL_FORMAT_BIBOUT_FINALCOMMA: u32 = 2;
+pub const BIBL_FORMAT_BIBOUT_SINGLEDASH: u32 = 4;
+pub const BIBL_FORMAT_BIBOUT_WHITESPACE: u32 = 8;
+pub const BIBL_FORMAT_BIBOUT_BRACKETS: u32 = 16;
+pub const BIBL_FORMAT_BIBOUT_UPPERCASE: u32 = 32;
+pub const BIBL_FORMAT_BIBOUT_STRICTKEY: u32 = 64;
+pub const BIBL_FORMAT_BIBOUT_SHORTTITLE: u32 = 128;
+pub const BIBL_FORMAT_BIBOUT_DROPKEY: u32 = 256;
+pub const BIBL_FORMAT_MODSOUT_DROPKEY: u32 = 512;
+pub const BIBL_RAW_WITHCHARCONVERT: u32 = 4;
+pub const BIBL_RAW_WITHMAKEREFID: u32 = 8;
+pub const BIBL_CHARSET_UNKNOWN: i32 = -1;
+pub const BIBL_CHARSET_UNICODE: i32 = -2;
+pub const BIBL_CHARSET_GB18030: i32 = -3;
+pub const BIBL_CHARSET_DEFAULT: i32 = -2;
+pub const BIBL_CHARSET_UTF8_DEFAULT: u32 = 1;
+pub const BIBL_CHARSET_BOM_DEFAULT: u32 = 1;
+pub const BIBL_SRC_DEFAULT: u32 = 0;
+pub const BIBL_SRC_FILE: u32 = 1;
+pub const BIBL_SRC_USER: u32 = 2;
+pub const BIBL_XMLOUT_FALSE: u32 = 0;
+pub const BIBL_XMLOUT_TRUE: u32 = 1;
+pub const BIBL_XMLOUT_ENTITIES: u32 = 3;
+pub type va_list = *mut ::std::os::raw::c_char;
+extern "C" {
+ pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
+}
+pub type __vcrt_bool = bool;
+pub type wchar_t = ::std::os::raw::c_ushort;
+extern "C" {
+ pub fn __security_init_cookie();
+}
+extern "C" {
+ pub fn __security_check_cookie(_StackCookie: usize);
+}
+extern "C" {
+ pub fn __report_gsfailure(_StackCookie: usize);
+}
+extern "C" {
+ pub static mut __security_cookie: usize;
+}
+pub type __crt_bool = bool;
+extern "C" {
+ pub fn _invalid_parameter_noinfo();
+}
+extern "C" {
+ pub fn _invalid_parameter_noinfo_noreturn();
+}
+extern "C" {
+ pub fn _invoke_watson(
+ _Expression: *const wchar_t,
+ _FunctionName: *const wchar_t,
+ _FileName: *const wchar_t,
+ _LineNo: ::std::os::raw::c_uint,
+ _Reserved: usize,
+ );
+}
+pub type errno_t = ::std::os::raw::c_int;
+pub type wint_t = ::std::os::raw::c_ushort;
+pub type wctype_t = ::std::os::raw::c_ushort;
+pub type __time32_t = ::std::os::raw::c_long;
+pub type __time64_t = ::std::os::raw::c_longlong;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __crt_locale_data_public {
+ pub _locale_pctype: *const ::std::os::raw::c_ushort,
+ pub _locale_mb_cur_max: ::std::os::raw::c_int,
+ pub _locale_lc_codepage: ::std::os::raw::c_uint,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __crt_locale_pointers {
+ pub locinfo: *mut __crt_locale_data,
+ pub mbcinfo: *mut __crt_multibyte_data,
+}
+pub type _locale_t = *mut __crt_locale_pointers;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _Mbstatet {
+ pub _Wchar: ::std::os::raw::c_ulong,
+ pub _Byte: ::std::os::raw::c_ushort,
+ pub _State: ::std::os::raw::c_ushort,
+}
+pub type mbstate_t = _Mbstatet;
+pub type time_t = __time64_t;
+pub type rsize_t = usize;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _iobuf {
+ pub _Placeholder: *mut ::std::os::raw::c_void,
+}
+pub type FILE = _iobuf;
+extern "C" {
+ pub fn __acrt_iob_func(_Ix: ::std::os::raw::c_uint) -> *mut FILE;
+}
+extern "C" {
+ pub fn fgetwc(_Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn _fgetwchar() -> wint_t;
+}
+extern "C" {
+ pub fn fputwc(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn _fputwchar(_Character: wchar_t) -> wint_t;
+}
+extern "C" {
+ pub fn getwc(_Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn getwchar() -> wint_t;
+}
+extern "C" {
+ pub fn fgetws(
+ _Buffer: *mut wchar_t,
+ _BufferCount: ::std::os::raw::c_int,
+ _Stream: *mut FILE,
+ ) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn fputws(_Buffer: *const wchar_t, _Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _getws_s(_Buffer: *mut wchar_t, _BufferCount: usize) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn putwc(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn putwchar(_Character: wchar_t) -> wint_t;
+}
+extern "C" {
+ pub fn _putws(_Buffer: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ungetwc(_Character: wint_t, _Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn _wfdopen(_FileHandle: ::std::os::raw::c_int, _Mode: *const wchar_t) -> *mut FILE;
+}
+extern "C" {
+ pub fn _wfopen(_FileName: *const wchar_t, _Mode: *const wchar_t) -> *mut FILE;
+}
+extern "C" {
+ pub fn _wfopen_s(
+ _Stream: *mut *mut FILE,
+ _FileName: *const wchar_t,
+ _Mode: *const wchar_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _wfreopen(
+ _FileName: *const wchar_t,
+ _Mode: *const wchar_t,
+ _OldStream: *mut FILE,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn _wfreopen_s(
+ _Stream: *mut *mut FILE,
+ _FileName: *const wchar_t,
+ _Mode: *const wchar_t,
+ _OldStream: *mut FILE,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _wfsopen(
+ _FileName: *const wchar_t,
+ _Mode: *const wchar_t,
+ _ShFlag: ::std::os::raw::c_int,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn _wperror(_ErrorMessage: *const wchar_t);
+}
+extern "C" {
+ pub fn _wpopen(_Command: *const wchar_t, _Mode: *const wchar_t) -> *mut FILE;
+}
+extern "C" {
+ pub fn _wremove(_FileName: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wtempnam(_Directory: *const wchar_t, _FilePrefix: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wtmpnam_s(_Buffer: *mut wchar_t, _BufferCount: usize) -> errno_t;
+}
+extern "C" {
+ pub fn _wtmpnam(_Buffer: *mut wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _fgetwc_nolock(_Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn _fputwc_nolock(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn _getwc_nolock(_Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn _putwc_nolock(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn _ungetwc_nolock(_Character: wint_t, _Stream: *mut FILE) -> wint_t;
+}
+extern "C" {
+ pub fn __stdio_common_vfwprintf(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vfwprintf_s(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vfwprintf_p(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vfwscanf(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vswprintf(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut wchar_t,
+ _BufferCount: usize,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vswprintf_s(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut wchar_t,
+ _BufferCount: usize,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vsnwprintf_s(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut wchar_t,
+ _BufferCount: usize,
+ _MaxCount: usize,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vswprintf_p(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut wchar_t,
+ _BufferCount: usize,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vswscanf(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *const wchar_t,
+ _BufferCount: usize,
+ _Format: *const wchar_t,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+pub type fpos_t = ::std::os::raw::c_longlong;
+extern "C" {
+ pub fn _get_stream_buffer_pointers(
+ _Stream: *mut FILE,
+ _Base: *mut *mut *mut ::std::os::raw::c_char,
+ _Pointer: *mut *mut *mut ::std::os::raw::c_char,
+ _Count: *mut *mut ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn clearerr_s(_Stream: *mut FILE) -> errno_t;
+}
+extern "C" {
+ pub fn fopen_s(
+ _Stream: *mut *mut FILE,
+ _FileName: *const ::std::os::raw::c_char,
+ _Mode: *const ::std::os::raw::c_char,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn fread_s(
+ _Buffer: *mut ::std::os::raw::c_void,
+ _BufferSize: usize,
+ _ElementSize: usize,
+ _ElementCount: usize,
+ _Stream: *mut FILE,
+ ) -> usize;
+}
+extern "C" {
+ pub fn freopen_s(
+ _Stream: *mut *mut FILE,
+ _FileName: *const ::std::os::raw::c_char,
+ _Mode: *const ::std::os::raw::c_char,
+ _OldStream: *mut FILE,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn gets_s(
+ _Buffer: *mut ::std::os::raw::c_char,
+ _Size: rsize_t,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn tmpfile_s(_Stream: *mut *mut FILE) -> errno_t;
+}
+extern "C" {
+ pub fn tmpnam_s(_Buffer: *mut ::std::os::raw::c_char, _Size: rsize_t) -> errno_t;
+}
+extern "C" {
+ pub fn clearerr(_Stream: *mut FILE);
+}
+extern "C" {
+ pub fn fclose(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fcloseall() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fdopen(
+ _FileHandle: ::std::os::raw::c_int,
+ _Mode: *const ::std::os::raw::c_char,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn feof(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ferror(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fflush(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fgetc(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fgetchar() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fgetpos(_Stream: *mut FILE, _Position: *mut fpos_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fgets(
+ _Buffer: *mut ::std::os::raw::c_char,
+ _MaxCount: ::std::os::raw::c_int,
+ _Stream: *mut FILE,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _fileno(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _flushall() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fopen(
+ _FileName: *const ::std::os::raw::c_char,
+ _Mode: *const ::std::os::raw::c_char,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn fputc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fputchar(_Character: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fputs(
+ _Buffer: *const ::std::os::raw::c_char,
+ _Stream: *mut FILE,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fread(
+ _Buffer: *mut ::std::os::raw::c_void,
+ _ElementSize: ::std::os::raw::c_ulonglong,
+ _ElementCount: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn freopen(
+ _FileName: *const ::std::os::raw::c_char,
+ _Mode: *const ::std::os::raw::c_char,
+ _Stream: *mut FILE,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn _fsopen(
+ _FileName: *const ::std::os::raw::c_char,
+ _Mode: *const ::std::os::raw::c_char,
+ _ShFlag: ::std::os::raw::c_int,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn fsetpos(_Stream: *mut FILE, _Position: *const fpos_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fseek(
+ _Stream: *mut FILE,
+ _Offset: ::std::os::raw::c_long,
+ _Origin: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fseeki64(
+ _Stream: *mut FILE,
+ _Offset: ::std::os::raw::c_longlong,
+ _Origin: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ftell(_Stream: *mut FILE) -> ::std::os::raw::c_long;
+}
+extern "C" {
+ pub fn _ftelli64(_Stream: *mut FILE) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn fwrite(
+ _Buffer: *const ::std::os::raw::c_void,
+ _ElementSize: ::std::os::raw::c_ulonglong,
+ _ElementCount: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn getc(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn getchar() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _getmaxstdio() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _getw(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn perror(_ErrorMessage: *const ::std::os::raw::c_char);
+}
+extern "C" {
+ pub fn _pclose(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _popen(
+ _Command: *const ::std::os::raw::c_char,
+ _Mode: *const ::std::os::raw::c_char,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn putc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn putchar(_Character: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn puts(_Buffer: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _putw(_Word: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn remove(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn rename(
+ _OldFileName: *const ::std::os::raw::c_char,
+ _NewFileName: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _unlink(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn unlink(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn rewind(_Stream: *mut FILE);
+}
+extern "C" {
+ pub fn _rmtmp() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn setbuf(_Stream: *mut FILE, _Buffer: *mut ::std::os::raw::c_char);
+}
+extern "C" {
+ pub fn _setmaxstdio(_Maximum: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn setvbuf(
+ _Stream: *mut FILE,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _Mode: ::std::os::raw::c_int,
+ _Size: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _tempnam(
+ _DirectoryName: *const ::std::os::raw::c_char,
+ _FilePrefix: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn tmpfile() -> *mut FILE;
+}
+extern "C" {
+ pub fn tmpnam(_Buffer: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn ungetc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _lock_file(_Stream: *mut FILE);
+}
+extern "C" {
+ pub fn _unlock_file(_Stream: *mut FILE);
+}
+extern "C" {
+ pub fn _fclose_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fflush_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fgetc_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fputc_nolock(
+ _Character: ::std::os::raw::c_int,
+ _Stream: *mut FILE,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fread_nolock(
+ _Buffer: *mut ::std::os::raw::c_void,
+ _ElementSize: usize,
+ _ElementCount: usize,
+ _Stream: *mut FILE,
+ ) -> usize;
+}
+extern "C" {
+ pub fn _fread_nolock_s(
+ _Buffer: *mut ::std::os::raw::c_void,
+ _BufferSize: usize,
+ _ElementSize: usize,
+ _ElementCount: usize,
+ _Stream: *mut FILE,
+ ) -> usize;
+}
+extern "C" {
+ pub fn _fseek_nolock(
+ _Stream: *mut FILE,
+ _Offset: ::std::os::raw::c_long,
+ _Origin: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fseeki64_nolock(
+ _Stream: *mut FILE,
+ _Offset: ::std::os::raw::c_longlong,
+ _Origin: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _ftell_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_long;
+}
+extern "C" {
+ pub fn _ftelli64_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _fwrite_nolock(
+ _Buffer: *const ::std::os::raw::c_void,
+ _ElementSize: usize,
+ _ElementCount: usize,
+ _Stream: *mut FILE,
+ ) -> usize;
+}
+extern "C" {
+ pub fn _getc_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _putc_nolock(
+ _Character: ::std::os::raw::c_int,
+ _Stream: *mut FILE,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _ungetc_nolock(
+ _Character: ::std::os::raw::c_int,
+ _Stream: *mut FILE,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __p__commode() -> *mut ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vfprintf(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vfprintf_s(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vfprintf_p(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _set_printf_count_output(_Value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _get_printf_count_output() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vfscanf(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Stream: *mut FILE,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _Arglist: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vsprintf(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vsprintf_s(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vsnprintf_s(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _MaxCount: usize,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vsprintf_p(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __stdio_common_vsscanf(
+ _Options: ::std::os::raw::c_ulonglong,
+ _Buffer: *const ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Format: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ _ArgList: va_list,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn tempnam(
+ _Directory: *const ::std::os::raw::c_char,
+ _FilePrefix: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn fcloseall() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fdopen(
+ _FileHandle: ::std::os::raw::c_int,
+ _Format: *const ::std::os::raw::c_char,
+ ) -> *mut FILE;
+}
+extern "C" {
+ pub fn fgetchar() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fileno(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn flushall() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fputchar(_Ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn getw(_Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn putw(_Ch: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn rmtmp() -> ::std::os::raw::c_int;
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct str {
+ pub data: *mut ::std::os::raw::c_char,
+ pub dim: ::std::os::raw::c_ulong,
+ pub len: ::std::os::raw::c_ulong,
+ pub status: ::std::os::raw::c_int,
+}
+extern "C" {
+ pub fn str_new() -> *mut str;
+}
+extern "C" {
+ pub fn str_delete(s: *mut str);
+}
+extern "C" {
+ pub fn str_init(s: *mut str);
+}
+extern "C" {
+ pub fn str_initstr(s: *mut str, from: *mut str);
+}
+extern "C" {
+ pub fn str_initstrc(s: *mut str, initstr: *const ::std::os::raw::c_char);
+}
+extern "C" {
+ pub fn str_initstrsc(s: *mut str, ...);
+}
+extern "C" {
+ pub fn str_empty(s: *mut str);
+}
+extern "C" {
+ pub fn str_free(s: *mut str);
+}
+extern "C" {
+ pub fn strs_init(s: *mut str, ...);
+}
+extern "C" {
+ pub fn strs_empty(s: *mut str, ...);
+}
+extern "C" {
+ pub fn strs_free(s: *mut str, ...);
+}
+extern "C" {
+ pub fn str_strdup(s: *mut str) -> *mut str;
+}
+extern "C" {
+ pub fn str_strdupc(p: *const ::std::os::raw::c_char) -> *mut str;
+}
+extern "C" {
+ pub fn str_strcat(s: *mut str, from: *mut str);
+}
+extern "C" {
+ pub fn str_strcatc(s: *mut str, from: *const ::std::os::raw::c_char);
+}
+extern "C" {
+ pub fn str_strcpy(s: *mut str, from: *mut str);
+}
+extern "C" {
+ pub fn str_strcpyc(s: *mut str, from: *const ::std::os::raw::c_char);
+}
+extern "C" {
+ pub fn str_strcmp(s: *const str, t: *const str) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn str_strcmpc(s: *const str, t: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn str_strncmp(s: *const str, t: *const str, n: usize) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn str_strncmpc(
+ s: *const str,
+ t: *const ::std::os::raw::c_char,
+ n: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn str_strcasecmp(s: *const str, t: *const str) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn str_strcasecmpc(
+ s: *const str,
+ t: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn str_strstr(s: *const str, t: *const str) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn str_strstrc(
+ s: *const str,
+ t: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn str_prepend(s: *mut str, addstr: *const ::std::os::raw::c_char);
+}
+extern "C" {
+ pub fn str_mergestrs(s: *mut str, ...);
+}
+extern "C" {
+ pub fn str_addchar(s: *mut str, newchar: ::std::os::raw::c_char);
+}
+extern "C" {
+ pub fn str_reverse(s: *mut str);
+}
+extern "C" {
+ pub fn str_addutf8(
+ s: *mut str,
+ p: *const ::std::os::raw::c_char,
+ ) -> *const ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn str_segcat(
+ s: *mut str,
+ startat: *mut ::std::os::raw::c_char,
+ endat: *mut ::std::os::raw::c_char,
+ );
+}
+extern "C" {
+ pub fn str_cpytodelim(
+ s: *mut str,
+ p: *const ::std::os::raw::c_char,
+ delim: *const ::std::os::raw::c_char,
+ finalstep: ::std::os::raw::c_uchar,
+ ) -> *const ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn str_cattodelim(
+ s: *mut str,
+ p: *const ::std::os::raw::c_char,
+ delim: *const ::std::os::raw::c_char,
+ finalstep: ::std::os::raw::c_uchar,
+ ) -> *const ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn str_segcpy(
+ s: *mut str,
+ startat: *mut ::std::os::raw::c_char,
+ endat: *mut ::std::os::raw::c_char,
+ );
+}
+extern "C" {
+ pub fn str_segdel(
+ s: *mut str,
+ startat: *mut ::std::os::raw::c_char,
+ endat: *mut ::std::os::raw::c_char,
+ );
+}
+extern "C" {
+ pub fn str_indxcpy(
+ s: *mut str,
+ p: *mut ::std::os::raw::c_char,
+ start: ::std::os::raw::c_ulong,
+ stop: ::std::os::raw::c_ulong,
+ );
+}
+extern "C" {
+ pub fn str_indxcat(
+ s: *mut str,
+ p: *mut ::std::os::raw::c_char,
+ start: ::std::os::raw::c_ulong,
+ stop: ::std::os::raw::c_ulong,
+ );
+}
+extern "C" {
+ pub fn str_fprintf(fp: *mut FILE, s: *mut str);
+}
+extern "C" {
+ pub fn str_fget(
+ fp: *mut FILE,
+ buf: *mut ::std::os::raw::c_char,
+ bufsize: ::std::os::raw::c_int,
+ pbufpos: *mut ::std::os::raw::c_int,
+ outs: *mut str,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn str_cstr(s: *mut str) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn str_char(s: *mut str, n: ::std::os::raw::c_ulong) -> ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn str_revchar(s: *mut str, n: ::std::os::raw::c_ulong) -> ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn str_fgetline(s: *mut str, fp: *mut FILE) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn str_findreplace(
+ s: *mut str,
+ find: *const ::std::os::raw::c_char,
+ replace: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn str_toupper(s: *mut str);
+}
+extern "C" {
+ pub fn str_tolower(s: *mut str);
+}
+extern "C" {
+ pub fn str_trimstartingws(s: *mut str);
+}
+extern "C" {
+ pub fn str_trimendingws(s: *mut str);
+}
+extern "C" {
+ pub fn str_swapstrings(s1: *mut str, s2: *mut str);
+}
+extern "C" {
+ pub fn str_stripws(s: *mut str);
+}
+extern "C" {
+ pub fn str_match_first(s: *mut str, ch: ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn str_match_end(s: *mut str, ch: ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn str_trimbegin(s: *mut str, n: ::std::os::raw::c_ulong);
+}
+extern "C" {
+ pub fn str_trimend(s: *mut str, n: ::std::os::raw::c_ulong);
+}
+extern "C" {
+ pub fn str_pad(s: *mut str, len: ::std::os::raw::c_ulong, ch: ::std::os::raw::c_char);
+}
+extern "C" {
+ pub fn str_copyposlen(
+ s: *mut str,
+ in_: *mut str,
+ pos: ::std::os::raw::c_ulong,
+ len: ::std::os::raw::c_ulong,
+ );
+}
+extern "C" {
+ pub fn str_makepath(
+ path: *mut str,
+ dirname: *const ::std::os::raw::c_char,
+ filename: *const ::std::os::raw::c_char,
+ sep: ::std::os::raw::c_char,
+ );
+}
+extern "C" {
+ pub fn str_fill(s: *mut str, n: ::std::os::raw::c_ulong, fillchar: ::std::os::raw::c_char);
+}
+extern "C" {
+ pub fn str_is_mixedcase(s: *mut str) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn str_is_lowercase(s: *mut str) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn str_is_uppercase(s: *mut str) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn str_memerr(s: *mut str) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn str_strlen(s: *mut str) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn str_has_value(s: *mut str) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn str_is_empty(s: *mut str) -> ::std::os::raw::c_int;
+}
+pub type vplist_index = ::std::os::raw::c_int;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct vplist {
+ pub n: vplist_index,
+ pub max: vplist_index,
+ pub data: *mut *mut ::std::os::raw::c_void,
+}
+pub type vplist_ptrfree =
+ ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
+extern "C" {
+ pub fn vplist_new() -> *mut vplist;
+}
+extern "C" {
+ pub fn vplist_init(vpl: *mut vplist);
+}
+extern "C" {
+ pub fn vplist_add(vpl: *mut vplist, v: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vplist_fill(
+ vpl: *mut vplist,
+ n: vplist_index,
+ v: *mut ::std::os::raw::c_void,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vplist_copy(to: *mut vplist, from: *mut vplist) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vplist_append(vpl: *mut vplist, add: *mut vplist) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vplist_insert_list(
+ vpl: *mut vplist,
+ pos: vplist_index,
+ add: *mut vplist,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vplist_get(vpl: *mut vplist, n: vplist_index) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn vplist_set(vpl: *mut vplist, n: vplist_index, v: *mut ::std::os::raw::c_void);
+}
+extern "C" {
+ pub fn vplist_swap(vpl: *mut vplist, n1: vplist_index, n2: vplist_index);
+}
+extern "C" {
+ pub fn vplist_remove(vpl: *mut vplist, n: vplist_index) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vplist_removefn(
+ vpl: *mut vplist,
+ n: vplist_index,
+ vpf: vplist_ptrfree,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vplist_removevp(
+ vpl: *mut vplist,
+ v: *mut ::std::os::raw::c_void,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vplist_removevpfn(
+ vpl: *mut vplist,
+ v: *mut ::std::os::raw::c_void,
+ vpf: vplist_ptrfree,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn vplist_remove_rangefn(
+ vpl: *mut vplist,
+ start: vplist_index,
+ endplusone: vplist_index,
+ vpf: vplist_ptrfree,
+ );
+}
+extern "C" {
+ pub fn vplist_remove_range(vpl: *mut vplist, start: vplist_index, endplusone: vplist_index);
+}
+extern "C" {
+ pub fn vplist_find(vpl: *mut vplist, v: *mut ::std::os::raw::c_void) -> vplist_index;
+}
+extern "C" {
+ pub fn vplist_empty(vpl: *mut vplist);
+}
+extern "C" {
+ pub fn vplist_emptyfn(vpl: *mut vplist, fn_: vplist_ptrfree);
+}
+extern "C" {
+ pub fn vplist_free(vpl: *mut vplist);
+}
+extern "C" {
+ pub fn vplist_freefn(vpl: *mut vplist, fn_: vplist_ptrfree);
+}
+extern "C" {
+ pub fn vplist_delete(vpl: *mut *mut vplist);
+}
+extern "C" {
+ pub fn vplist_deletefn(vpl: *mut *mut vplist, fn_: vplist_ptrfree);
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fields {
+ pub tag: *mut str,
+ pub data: *mut str,
+ pub used: *mut ::std::os::raw::c_int,
+ pub level: *mut ::std::os::raw::c_int,
+ pub n: ::std::os::raw::c_int,
+ pub max: ::std::os::raw::c_int,
+}
+extern "C" {
+ pub fn fields_init(f: *mut fields);
+}
+extern "C" {
+ pub fn fields_new() -> *mut fields;
+}
+extern "C" {
+ pub fn fields_delete(f: *mut fields);
+}
+extern "C" {
+ pub fn fields_free(f: *mut fields);
+}
+extern "C" {
+ pub fn _fields_add(
+ f: *mut fields,
+ tag: *const ::std::os::raw::c_char,
+ data: *const ::std::os::raw::c_char,
+ level: ::std::os::raw::c_int,
+ mode: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _fields_add_tagsuffix(
+ f: *mut fields,
+ tag: *const ::std::os::raw::c_char,
+ suffix: *const ::std::os::raw::c_char,
+ data: *const ::std::os::raw::c_char,
+ level: ::std::os::raw::c_int,
+ mode: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fields_maxlevel(f: *mut fields) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fields_clearused(f: *mut fields);
+}
+extern "C" {
+ pub fn fields_setused(f: *mut fields, n: ::std::os::raw::c_int);
+}
+extern "C" {
+ pub fn fields_replace_or_add(
+ f: *mut fields,
+ tag: *const ::std::os::raw::c_char,
+ data: *const ::std::os::raw::c_char,
+ level: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fields_num(f: *mut fields) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fields_used(f: *mut fields, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fields_notag(f: *mut fields, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fields_nodata(f: *mut fields, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fields_match_level(
+ f: *mut fields,
+ n: ::std::os::raw::c_int,
+ level: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fields_match_tag(
+ f: *mut fields,
+ n: ::std::os::raw::c_int,
+ tag: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fields_match_casetag(
+ f: *mut fields,
+ n: ::std::os::raw::c_int,
+ tag: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fields_match_tag_level(
+ f: *mut fields,
+ n: ::std::os::raw::c_int,
+ tag: *const ::std::os::raw::c_char,
+ level: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fields_match_casetag_level(
+ f: *mut fields,
+ n: ::std::os::raw::c_int,
+ tag: *const ::std::os::raw::c_char,
+ level: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fields_report(f: *mut fields, fp: *mut FILE);
+}
+extern "C" {
+ pub fn fields_tag(
+ f: *mut fields,
+ n: ::std::os::raw::c_int,
+ mode: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn fields_value(
+ f: *mut fields,
+ n: ::std::os::raw::c_int,
+ mode: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn fields_level(f: *mut fields, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fields_find(
+ f: *mut fields,
+ searchtag: *const ::std::os::raw::c_char,
+ level: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fields_findv(
+ f: *mut fields,
+ level: ::std::os::raw::c_int,
+ mode: ::std::os::raw::c_int,
+ tag: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn fields_findv_firstof(
+ f: *mut fields,
+ level: ::std::os::raw::c_int,
+ mode: ::std::os::raw::c_int,
+ ...
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn fields_findv_each(
+ f: *mut fields,
+ level: ::std::os::raw::c_int,
+ mode: ::std::os::raw::c_int,
+ a: *mut vplist,
+ tag: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn fields_findv_eachof(
+ f: *mut fields,
+ level: ::std::os::raw::c_int,
+ mode: ::std::os::raw::c_int,
+ a: *mut vplist,
+ ...
+ ) -> ::std::os::raw::c_int;
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct lookups {
+ pub oldstr: *mut ::std::os::raw::c_char,
+ pub newstr: *mut ::std::os::raw::c_char,
+ pub processingtype: ::std::os::raw::c_int,
+ pub level: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct variants {
+ pub type_: [::std::os::raw::c_char; 25usize],
+ pub tags: *mut lookups,
+ pub ntags: ::std::os::raw::c_int,
+}
+extern "C" {
+ pub fn get_reftype(
+ q: *const ::std::os::raw::c_char,
+ refnum: ::std::os::raw::c_long,
+ progname: *mut ::std::os::raw::c_char,
+ all: *mut variants,
+ nall: ::std::os::raw::c_int,
+ tag: *mut ::std::os::raw::c_char,
+ is_default: *mut ::std::os::raw::c_int,
+ chattiness: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn process_findoldtag(
+ oldtag: *const ::std::os::raw::c_char,
+ reftype: ::std::os::raw::c_int,
+ all: *mut variants,
+ nall: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn translate_oldtag(
+ oldtag: *const ::std::os::raw::c_char,
+ reftype: ::std::os::raw::c_int,
+ all: *mut variants,
+ nall: ::std::os::raw::c_int,
+ processingtype: *mut ::std::os::raw::c_int,
+ level: *mut ::std::os::raw::c_int,
+ newtag: *mut *mut ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bibl {
+ pub nrefs: ::std::os::raw::c_long,
+ pub maxrefs: ::std::os::raw::c_long,
+ pub ref_: *mut *mut fields,
+}
+extern "C" {
+ pub fn bibl_init(b: *mut bibl);
+}
+extern "C" {
+ pub fn bibl_addref(b: *mut bibl, ref_: *mut fields) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn bibl_free(b: *mut bibl);
+}
+extern "C" {
+ pub fn bibl_copy(bout: *mut bibl, bin: *mut bibl) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _calloc_base(_Count: usize, _Size: usize) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn calloc(
+ _Count: ::std::os::raw::c_ulonglong,
+ _Size: ::std::os::raw::c_ulonglong,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn _callnewh(_Size: usize) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _expand(
+ _Block: *mut ::std::os::raw::c_void,
+ _Size: usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn _free_base(_Block: *mut ::std::os::raw::c_void);
+}
+extern "C" {
+ pub fn free(_Block: *mut ::std::os::raw::c_void);
+}
+extern "C" {
+ pub fn _malloc_base(_Size: usize) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn malloc(_Size: ::std::os::raw::c_ulonglong) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn _msize_base(_Block: *mut ::std::os::raw::c_void) -> usize;
+}
+extern "C" {
+ pub fn _msize(_Block: *mut ::std::os::raw::c_void) -> usize;
+}
+extern "C" {
+ pub fn _realloc_base(
+ _Block: *mut ::std::os::raw::c_void,
+ _Size: usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn realloc(
+ _Block: *mut ::std::os::raw::c_void,
+ _Size: ::std::os::raw::c_ulonglong,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn _recalloc_base(
+ _Block: *mut ::std::os::raw::c_void,
+ _Count: usize,
+ _Size: usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn _recalloc(
+ _Block: *mut ::std::os::raw::c_void,
+ _Count: usize,
+ _Size: usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn _aligned_free(_Block: *mut ::std::os::raw::c_void);
+}
+extern "C" {
+ pub fn _aligned_malloc(_Size: usize, _Alignment: usize) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn _aligned_offset_malloc(
+ _Size: usize,
+ _Alignment: usize,
+ _Offset: usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn _aligned_msize(
+ _Block: *mut ::std::os::raw::c_void,
+ _Alignment: usize,
+ _Offset: usize,
+ ) -> usize;
+}
+extern "C" {
+ pub fn _aligned_offset_realloc(
+ _Block: *mut ::std::os::raw::c_void,
+ _Size: usize,
+ _Alignment: usize,
+ _Offset: usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn _aligned_offset_recalloc(
+ _Block: *mut ::std::os::raw::c_void,
+ _Count: usize,
+ _Size: usize,
+ _Alignment: usize,
+ _Offset: usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn _aligned_realloc(
+ _Block: *mut ::std::os::raw::c_void,
+ _Size: usize,
+ _Alignment: usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn _aligned_recalloc(
+ _Block: *mut ::std::os::raw::c_void,
+ _Count: usize,
+ _Size: usize,
+ _Alignment: usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn _errno() -> *mut ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _set_errno(_Value: ::std::os::raw::c_int) -> errno_t;
+}
+extern "C" {
+ pub fn _get_errno(_Value: *mut ::std::os::raw::c_int) -> errno_t;
+}
+extern "C" {
+ pub fn __threadid() -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn __threadhandle() -> usize;
+}
+pub type _CoreCrtSecureSearchSortCompareFunction = ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut ::std::os::raw::c_void,
+ arg2: *const ::std::os::raw::c_void,
+ arg3: *const ::std::os::raw::c_void,
+ ) -> ::std::os::raw::c_int,
+>;
+pub type _CoreCrtNonSecureSearchSortCompareFunction = ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const ::std::os::raw::c_void,
+ arg2: *const ::std::os::raw::c_void,
+ ) -> ::std::os::raw::c_int,
+>;
+extern "C" {
+ pub fn bsearch_s(
+ _Key: *const ::std::os::raw::c_void,
+ _Base: *const ::std::os::raw::c_void,
+ _NumOfElements: rsize_t,
+ _SizeOfElements: rsize_t,
+ _CompareFunction: _CoreCrtSecureSearchSortCompareFunction,
+ _Context: *mut ::std::os::raw::c_void,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn qsort_s(
+ _Base: *mut ::std::os::raw::c_void,
+ _NumOfElements: rsize_t,
+ _SizeOfElements: rsize_t,
+ _CompareFunction: _CoreCrtSecureSearchSortCompareFunction,
+ _Context: *mut ::std::os::raw::c_void,
+ );
+}
+extern "C" {
+ pub fn bsearch(
+ _Key: *const ::std::os::raw::c_void,
+ _Base: *const ::std::os::raw::c_void,
+ _NumOfElements: usize,
+ _SizeOfElements: usize,
+ _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn qsort(
+ _Base: *mut ::std::os::raw::c_void,
+ _NumOfElements: usize,
+ _SizeOfElements: usize,
+ _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
+ );
+}
+extern "C" {
+ pub fn _lfind_s(
+ _Key: *const ::std::os::raw::c_void,
+ _Base: *const ::std::os::raw::c_void,
+ _NumOfElements: *mut ::std::os::raw::c_uint,
+ _SizeOfElements: usize,
+ _CompareFunction: _CoreCrtSecureSearchSortCompareFunction,
+ _Context: *mut ::std::os::raw::c_void,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn _lfind(
+ _Key: *const ::std::os::raw::c_void,
+ _Base: *const ::std::os::raw::c_void,
+ _NumOfElements: *mut ::std::os::raw::c_uint,
+ _SizeOfElements: ::std::os::raw::c_uint,
+ _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn _lsearch_s(
+ _Key: *const ::std::os::raw::c_void,
+ _Base: *mut ::std::os::raw::c_void,
+ _NumOfElements: *mut ::std::os::raw::c_uint,
+ _SizeOfElements: usize,
+ _CompareFunction: _CoreCrtSecureSearchSortCompareFunction,
+ _Context: *mut ::std::os::raw::c_void,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn _lsearch(
+ _Key: *const ::std::os::raw::c_void,
+ _Base: *mut ::std::os::raw::c_void,
+ _NumOfElements: *mut ::std::os::raw::c_uint,
+ _SizeOfElements: ::std::os::raw::c_uint,
+ _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn lfind(
+ _Key: *const ::std::os::raw::c_void,
+ _Base: *const ::std::os::raw::c_void,
+ _NumOfElements: *mut ::std::os::raw::c_uint,
+ _SizeOfElements: ::std::os::raw::c_uint,
+ _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn lsearch(
+ _Key: *const ::std::os::raw::c_void,
+ _Base: *mut ::std::os::raw::c_void,
+ _NumOfElements: *mut ::std::os::raw::c_uint,
+ _SizeOfElements: ::std::os::raw::c_uint,
+ _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn _itow_s(
+ _Value: ::std::os::raw::c_int,
+ _Buffer: *mut wchar_t,
+ _BufferCount: usize,
+ _Radix: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _itow(
+ _Value: ::std::os::raw::c_int,
+ _Buffer: *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ ) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _ltow_s(
+ _Value: ::std::os::raw::c_long,
+ _Buffer: *mut wchar_t,
+ _BufferCount: usize,
+ _Radix: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _ltow(
+ _Value: ::std::os::raw::c_long,
+ _Buffer: *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ ) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _ultow_s(
+ _Value: ::std::os::raw::c_ulong,
+ _Buffer: *mut wchar_t,
+ _BufferCount: usize,
+ _Radix: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _ultow(
+ _Value: ::std::os::raw::c_ulong,
+ _Buffer: *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ ) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcstod(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f64;
+}
+extern "C" {
+ pub fn _wcstod_l(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Locale: _locale_t,
+ ) -> f64;
+}
+extern "C" {
+ pub fn wcstol(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_long;
+}
+extern "C" {
+ pub fn _wcstol_l(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_long;
+}
+extern "C" {
+ pub fn wcstoll(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _wcstoll_l(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn wcstoul(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn _wcstoul_l(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn wcstoull(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn _wcstoull_l(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn wcstold(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f64;
+}
+extern "C" {
+ pub fn _wcstold_l(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Locale: _locale_t,
+ ) -> f64;
+}
+extern "C" {
+ pub fn wcstof(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f32;
+}
+extern "C" {
+ pub fn _wcstof_l(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Locale: _locale_t,
+ ) -> f32;
+}
+extern "C" {
+ pub fn _wtof(_String: *const wchar_t) -> f64;
+}
+extern "C" {
+ pub fn _wtof_l(_String: *const wchar_t, _Locale: _locale_t) -> f64;
+}
+extern "C" {
+ pub fn _wtoi(_String: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wtoi_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wtol(_String: *const wchar_t) -> ::std::os::raw::c_long;
+}
+extern "C" {
+ pub fn _wtol_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_long;
+}
+extern "C" {
+ pub fn _wtoll(_String: *const wchar_t) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _wtoll_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _i64tow_s(
+ _Value: ::std::os::raw::c_longlong,
+ _Buffer: *mut wchar_t,
+ _BufferCount: usize,
+ _Radix: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _i64tow(
+ _Value: ::std::os::raw::c_longlong,
+ _Buffer: *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ ) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _ui64tow_s(
+ _Value: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut wchar_t,
+ _BufferCount: usize,
+ _Radix: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _ui64tow(
+ _Value: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ ) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wtoi64(_String: *const wchar_t) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _wtoi64_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _wcstoi64(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _wcstoi64_l(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _wcstoui64(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn _wcstoui64_l(
+ _String: *const wchar_t,
+ _EndPtr: *mut *mut wchar_t,
+ _Radix: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn _wfullpath(
+ _Buffer: *mut wchar_t,
+ _Path: *const wchar_t,
+ _BufferCount: usize,
+ ) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wmakepath_s(
+ _Buffer: *mut wchar_t,
+ _BufferCount: usize,
+ _Drive: *const wchar_t,
+ _Dir: *const wchar_t,
+ _Filename: *const wchar_t,
+ _Ext: *const wchar_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _wmakepath(
+ _Buffer: *mut wchar_t,
+ _Drive: *const wchar_t,
+ _Dir: *const wchar_t,
+ _Filename: *const wchar_t,
+ _Ext: *const wchar_t,
+ );
+}
+extern "C" {
+ pub fn _wsplitpath(
+ _FullPath: *const wchar_t,
+ _Drive: *mut wchar_t,
+ _Dir: *mut wchar_t,
+ _Filename: *mut wchar_t,
+ _Ext: *mut wchar_t,
+ );
+}
+extern "C" {
+ pub fn _wsplitpath_s(
+ _FullPath: *const wchar_t,
+ _Drive: *mut wchar_t,
+ _DriveCount: usize,
+ _Dir: *mut wchar_t,
+ _DirCount: usize,
+ _Filename: *mut wchar_t,
+ _FilenameCount: usize,
+ _Ext: *mut wchar_t,
+ _ExtCount: usize,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _wdupenv_s(
+ _Buffer: *mut *mut wchar_t,
+ _BufferCount: *mut usize,
+ _VarName: *const wchar_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _wgetenv(_VarName: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wgetenv_s(
+ _RequiredCount: *mut usize,
+ _Buffer: *mut wchar_t,
+ _BufferCount: usize,
+ _VarName: *const wchar_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _wputenv(_EnvString: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wputenv_s(_Name: *const wchar_t, _Value: *const wchar_t) -> errno_t;
+}
+extern "C" {
+ pub fn _wsearchenv_s(
+ _Filename: *const wchar_t,
+ _VarName: *const wchar_t,
+ _Buffer: *mut wchar_t,
+ _BufferCount: usize,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _wsearchenv(
+ _Filename: *const wchar_t,
+ _VarName: *const wchar_t,
+ _ResultPath: *mut wchar_t,
+ );
+}
+extern "C" {
+ pub fn _wsystem(_Command: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _swab(
+ _Buf1: *mut ::std::os::raw::c_char,
+ _Buf2: *mut ::std::os::raw::c_char,
+ _SizeInBytes: ::std::os::raw::c_int,
+ );
+}
+extern "C" {
+ pub fn exit(_Code: ::std::os::raw::c_int);
+}
+extern "C" {
+ pub fn _exit(_Code: ::std::os::raw::c_int);
+}
+extern "C" {
+ pub fn _Exit(_Code: ::std::os::raw::c_int);
+}
+extern "C" {
+ pub fn quick_exit(_Code: ::std::os::raw::c_int);
+}
+extern "C" {
+ pub fn abort();
+}
+extern "C" {
+ pub fn _set_abort_behavior(
+ _Flags: ::std::os::raw::c_uint,
+ _Mask: ::std::os::raw::c_uint,
+ ) -> ::std::os::raw::c_uint;
+}
+pub type _onexit_t = ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>;
+extern "C" {
+ pub fn atexit(arg1: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _onexit(_Func: _onexit_t) -> _onexit_t;
+}
+extern "C" {
+ pub fn at_quick_exit(
+ arg1: ::std::option::Option<unsafe extern "C" fn()>,
+ ) -> ::std::os::raw::c_int;
+}
+pub type _purecall_handler = ::std::option::Option<unsafe extern "C" fn()>;
+pub type _invalid_parameter_handler = ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const wchar_t,
+ arg2: *const wchar_t,
+ arg3: *const wchar_t,
+ arg4: ::std::os::raw::c_uint,
+ arg5: usize,
+ ),
+>;
+extern "C" {
+ pub fn _set_purecall_handler(_Handler: _purecall_handler) -> _purecall_handler;
+}
+extern "C" {
+ pub fn _get_purecall_handler() -> _purecall_handler;
+}
+extern "C" {
+ pub fn _set_invalid_parameter_handler(
+ _Handler: _invalid_parameter_handler,
+ ) -> _invalid_parameter_handler;
+}
+extern "C" {
+ pub fn _get_invalid_parameter_handler() -> _invalid_parameter_handler;
+}
+extern "C" {
+ pub fn _set_thread_local_invalid_parameter_handler(
+ _Handler: _invalid_parameter_handler,
+ ) -> _invalid_parameter_handler;
+}
+extern "C" {
+ pub fn _get_thread_local_invalid_parameter_handler() -> _invalid_parameter_handler;
+}
+extern "C" {
+ pub fn _set_error_mode(_Mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __doserrno() -> *mut ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn _set_doserrno(_Value: ::std::os::raw::c_ulong) -> errno_t;
+}
+extern "C" {
+ pub fn _get_doserrno(_Value: *mut ::std::os::raw::c_ulong) -> errno_t;
+}
+extern "C" {
+ pub fn __sys_errlist() -> *mut *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn __sys_nerr() -> *mut ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __p__pgmptr() -> *mut *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn __p__wpgmptr() -> *mut *mut wchar_t;
+}
+extern "C" {
+ pub fn __p__fmode() -> *mut ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _get_pgmptr(_Value: *mut *mut ::std::os::raw::c_char) -> errno_t;
+}
+extern "C" {
+ pub fn _get_wpgmptr(_Value: *mut *mut wchar_t) -> errno_t;
+}
+extern "C" {
+ pub fn _set_fmode(_Mode: ::std::os::raw::c_int) -> errno_t;
+}
+extern "C" {
+ pub fn _get_fmode(_PMode: *mut ::std::os::raw::c_int) -> errno_t;
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _div_t {
+ pub quot: ::std::os::raw::c_int,
+ pub rem: ::std::os::raw::c_int,
+}
+pub type div_t = _div_t;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _ldiv_t {
+ pub quot: ::std::os::raw::c_long,
+ pub rem: ::std::os::raw::c_long,
+}
+pub type ldiv_t = _ldiv_t;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _lldiv_t {
+ pub quot: ::std::os::raw::c_longlong,
+ pub rem: ::std::os::raw::c_longlong,
+}
+pub type lldiv_t = _lldiv_t;
+extern "C" {
+ pub fn abs(_Number: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn labs(_Number: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
+}
+extern "C" {
+ pub fn llabs(_Number: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _abs64(_Number: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _byteswap_ushort(_Number: ::std::os::raw::c_ushort) -> ::std::os::raw::c_ushort;
+}
+extern "C" {
+ pub fn _byteswap_ulong(_Number: ::std::os::raw::c_ulong) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn _byteswap_uint64(_Number: ::std::os::raw::c_ulonglong) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn div(_Numerator: ::std::os::raw::c_int, _Denominator: ::std::os::raw::c_int) -> div_t;
+}
+extern "C" {
+ pub fn ldiv(_Numerator: ::std::os::raw::c_long, _Denominator: ::std::os::raw::c_long)
+ -> ldiv_t;
+}
+extern "C" {
+ pub fn lldiv(
+ _Numerator: ::std::os::raw::c_longlong,
+ _Denominator: ::std::os::raw::c_longlong,
+ ) -> lldiv_t;
+}
+extern "C" {
+ pub fn _rotl(
+ _Value: ::std::os::raw::c_uint,
+ _Shift: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_uint;
+}
+extern "C" {
+ pub fn _lrotl(
+ _Value: ::std::os::raw::c_ulong,
+ _Shift: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn _rotl64(
+ _Value: ::std::os::raw::c_ulonglong,
+ _Shift: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn _rotr(
+ _Value: ::std::os::raw::c_uint,
+ _Shift: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_uint;
+}
+extern "C" {
+ pub fn _lrotr(
+ _Value: ::std::os::raw::c_ulong,
+ _Shift: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn _rotr64(
+ _Value: ::std::os::raw::c_ulonglong,
+ _Shift: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn srand(_Seed: ::std::os::raw::c_uint);
+}
+extern "C" {
+ pub fn rand() -> ::std::os::raw::c_int;
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _LDOUBLE {
+ pub ld: [::std::os::raw::c_uchar; 10usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _CRT_DOUBLE {
+ pub x: f64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _CRT_FLOAT {
+ pub f: f32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _LONGDOUBLE {
+ pub x: f64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _LDBL12 {
+ pub ld12: [::std::os::raw::c_uchar; 12usize],
+}
+extern "C" {
+ pub fn atof(_String: *const ::std::os::raw::c_char) -> f64;
+}
+extern "C" {
+ pub fn atoi(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn atol(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
+}
+extern "C" {
+ pub fn atoll(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _atoi64(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _atof_l(_String: *const ::std::os::raw::c_char, _Locale: _locale_t) -> f64;
+}
+extern "C" {
+ pub fn _atoi_l(
+ _String: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _atol_l(
+ _String: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_long;
+}
+extern "C" {
+ pub fn _atoll_l(
+ _String: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _atoi64_l(
+ _String: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _atoflt(
+ _Result: *mut _CRT_FLOAT,
+ _String: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _atodbl(
+ _Result: *mut _CRT_DOUBLE,
+ _String: *mut ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _atoldbl(
+ _Result: *mut _LDOUBLE,
+ _String: *mut ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _atoflt_l(
+ _Result: *mut _CRT_FLOAT,
+ _String: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _atodbl_l(
+ _Result: *mut _CRT_DOUBLE,
+ _String: *mut ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _atoldbl_l(
+ _Result: *mut _LDOUBLE,
+ _String: *mut ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strtof(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ ) -> f32;
+}
+extern "C" {
+ pub fn _strtof_l(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> f32;
+}
+extern "C" {
+ pub fn strtod(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ ) -> f64;
+}
+extern "C" {
+ pub fn _strtod_l(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> f64;
+}
+extern "C" {
+ pub fn strtold(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ ) -> f64;
+}
+extern "C" {
+ pub fn _strtold_l(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> f64;
+}
+extern "C" {
+ pub fn strtol(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_long;
+}
+extern "C" {
+ pub fn _strtol_l(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_long;
+}
+extern "C" {
+ pub fn strtoll(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _strtoll_l(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn strtoul(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn _strtoul_l(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn strtoull(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn _strtoull_l(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn _strtoi64(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _strtoi64_l(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_longlong;
+}
+extern "C" {
+ pub fn _strtoui64(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn _strtoui64_l(
+ _String: *const ::std::os::raw::c_char,
+ _EndPtr: *mut *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn _itoa_s(
+ _Value: ::std::os::raw::c_int,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Radix: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _itoa(
+ _Value: ::std::os::raw::c_int,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _ltoa_s(
+ _Value: ::std::os::raw::c_long,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Radix: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _ltoa(
+ _Value: ::std::os::raw::c_long,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _ultoa_s(
+ _Value: ::std::os::raw::c_ulong,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Radix: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _ultoa(
+ _Value: ::std::os::raw::c_ulong,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _i64toa_s(
+ _Value: ::std::os::raw::c_longlong,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Radix: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _i64toa(
+ _Value: ::std::os::raw::c_longlong,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _ui64toa_s(
+ _Value: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Radix: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _ui64toa(
+ _Value: ::std::os::raw::c_ulonglong,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _ecvt_s(
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Value: f64,
+ _DigitCount: ::std::os::raw::c_int,
+ _PtDec: *mut ::std::os::raw::c_int,
+ _PtSign: *mut ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _ecvt(
+ _Value: f64,
+ _DigitCount: ::std::os::raw::c_int,
+ _PtDec: *mut ::std::os::raw::c_int,
+ _PtSign: *mut ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _fcvt_s(
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Value: f64,
+ _FractionalDigitCount: ::std::os::raw::c_int,
+ _PtDec: *mut ::std::os::raw::c_int,
+ _PtSign: *mut ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _fcvt(
+ _Value: f64,
+ _FractionalDigitCount: ::std::os::raw::c_int,
+ _PtDec: *mut ::std::os::raw::c_int,
+ _PtSign: *mut ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _gcvt_s(
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Value: f64,
+ _DigitCount: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _gcvt(
+ _Value: f64,
+ _DigitCount: ::std::os::raw::c_int,
+ _Buffer: *mut ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn ___mb_cur_max_func() -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn ___mb_cur_max_l_func(_Locale: _locale_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn mblen(_Ch: *const ::std::os::raw::c_char, _MaxCount: usize) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _mblen_l(
+ _Ch: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _mbstrlen(_String: *const ::std::os::raw::c_char) -> usize;
+}
+extern "C" {
+ pub fn _mbstrlen_l(_String: *const ::std::os::raw::c_char, _Locale: _locale_t) -> usize;
+}
+extern "C" {
+ pub fn _mbstrnlen(_String: *const ::std::os::raw::c_char, _MaxCount: usize) -> usize;
+}
+extern "C" {
+ pub fn _mbstrnlen_l(
+ _String: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> usize;
+}
+extern "C" {
+ pub fn mbtowc(
+ _DstCh: *mut wchar_t,
+ _SrcCh: *const ::std::os::raw::c_char,
+ _SrcSizeInBytes: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _mbtowc_l(
+ _DstCh: *mut wchar_t,
+ _SrcCh: *const ::std::os::raw::c_char,
+ _SrcSizeInBytes: usize,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn mbstowcs_s(
+ _PtNumOfCharConverted: *mut usize,
+ _DstBuf: *mut wchar_t,
+ _SizeInWords: usize,
+ _SrcBuf: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn mbstowcs(
+ _Dest: *mut wchar_t,
+ _Source: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ ) -> usize;
+}
+extern "C" {
+ pub fn _mbstowcs_s_l(
+ _PtNumOfCharConverted: *mut usize,
+ _DstBuf: *mut wchar_t,
+ _SizeInWords: usize,
+ _SrcBuf: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _mbstowcs_l(
+ _Dest: *mut wchar_t,
+ _Source: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> usize;
+}
+extern "C" {
+ pub fn wctomb(_MbCh: *mut ::std::os::raw::c_char, _WCh: wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wctomb_l(
+ _MbCh: *mut ::std::os::raw::c_char,
+ _WCh: wchar_t,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn wctomb_s(
+ _SizeConverted: *mut ::std::os::raw::c_int,
+ _MbCh: *mut ::std::os::raw::c_char,
+ _SizeInBytes: rsize_t,
+ _WCh: wchar_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _wctomb_s_l(
+ _SizeConverted: *mut ::std::os::raw::c_int,
+ _MbCh: *mut ::std::os::raw::c_char,
+ _SizeInBytes: usize,
+ _WCh: wchar_t,
+ _Locale: _locale_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn wcstombs_s(
+ _PtNumOfCharConverted: *mut usize,
+ _Dst: *mut ::std::os::raw::c_char,
+ _DstSizeInBytes: usize,
+ _Src: *const wchar_t,
+ _MaxCountInBytes: usize,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn wcstombs(
+ _Dest: *mut ::std::os::raw::c_char,
+ _Source: *const wchar_t,
+ _MaxCount: usize,
+ ) -> usize;
+}
+extern "C" {
+ pub fn _wcstombs_s_l(
+ _PtNumOfCharConverted: *mut usize,
+ _Dst: *mut ::std::os::raw::c_char,
+ _DstSizeInBytes: usize,
+ _Src: *const wchar_t,
+ _MaxCountInBytes: usize,
+ _Locale: _locale_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _wcstombs_l(
+ _Dest: *mut ::std::os::raw::c_char,
+ _Source: *const wchar_t,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> usize;
+}
+extern "C" {
+ pub fn _fullpath(
+ _Buffer: *mut ::std::os::raw::c_char,
+ _Path: *const ::std::os::raw::c_char,
+ _BufferCount: usize,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _makepath_s(
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ _Drive: *const ::std::os::raw::c_char,
+ _Dir: *const ::std::os::raw::c_char,
+ _Filename: *const ::std::os::raw::c_char,
+ _Ext: *const ::std::os::raw::c_char,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _makepath(
+ _Buffer: *mut ::std::os::raw::c_char,
+ _Drive: *const ::std::os::raw::c_char,
+ _Dir: *const ::std::os::raw::c_char,
+ _Filename: *const ::std::os::raw::c_char,
+ _Ext: *const ::std::os::raw::c_char,
+ );
+}
+extern "C" {
+ pub fn _splitpath(
+ _FullPath: *const ::std::os::raw::c_char,
+ _Drive: *mut ::std::os::raw::c_char,
+ _Dir: *mut ::std::os::raw::c_char,
+ _Filename: *mut ::std::os::raw::c_char,
+ _Ext: *mut ::std::os::raw::c_char,
+ );
+}
+extern "C" {
+ pub fn _splitpath_s(
+ _FullPath: *const ::std::os::raw::c_char,
+ _Drive: *mut ::std::os::raw::c_char,
+ _DriveCount: usize,
+ _Dir: *mut ::std::os::raw::c_char,
+ _DirCount: usize,
+ _Filename: *mut ::std::os::raw::c_char,
+ _FilenameCount: usize,
+ _Ext: *mut ::std::os::raw::c_char,
+ _ExtCount: usize,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn getenv_s(
+ _RequiredCount: *mut usize,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: rsize_t,
+ _VarName: *const ::std::os::raw::c_char,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn __p___argc() -> *mut ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __p___argv() -> *mut *mut *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn __p___wargv() -> *mut *mut *mut wchar_t;
+}
+extern "C" {
+ pub fn __p__environ() -> *mut *mut *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn __p__wenviron() -> *mut *mut *mut wchar_t;
+}
+extern "C" {
+ pub fn getenv(_VarName: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _dupenv_s(
+ _Buffer: *mut *mut ::std::os::raw::c_char,
+ _BufferCount: *mut usize,
+ _VarName: *const ::std::os::raw::c_char,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn system(_Command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _putenv(_EnvString: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _putenv_s(
+ _Name: *const ::std::os::raw::c_char,
+ _Value: *const ::std::os::raw::c_char,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _searchenv_s(
+ _Filename: *const ::std::os::raw::c_char,
+ _VarName: *const ::std::os::raw::c_char,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _BufferCount: usize,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _searchenv(
+ _Filename: *const ::std::os::raw::c_char,
+ _VarName: *const ::std::os::raw::c_char,
+ _Buffer: *mut ::std::os::raw::c_char,
+ );
+}
+extern "C" {
+ pub fn _seterrormode(_Mode: ::std::os::raw::c_int);
+}
+extern "C" {
+ pub fn _beep(_Frequency: ::std::os::raw::c_uint, _Duration: ::std::os::raw::c_uint);
+}
+extern "C" {
+ pub fn _sleep(_Duration: ::std::os::raw::c_ulong);
+}
+extern "C" {
+ pub fn ecvt(
+ _Value: f64,
+ _DigitCount: ::std::os::raw::c_int,
+ _PtDec: *mut ::std::os::raw::c_int,
+ _PtSign: *mut ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn fcvt(
+ _Value: f64,
+ _FractionalDigitCount: ::std::os::raw::c_int,
+ _PtDec: *mut ::std::os::raw::c_int,
+ _PtSign: *mut ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn gcvt(
+ _Value: f64,
+ _DigitCount: ::std::os::raw::c_int,
+ _DstBuf: *mut ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn itoa(
+ _Value: ::std::os::raw::c_int,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn ltoa(
+ _Value: ::std::os::raw::c_long,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn swab(
+ _Buf1: *mut ::std::os::raw::c_char,
+ _Buf2: *mut ::std::os::raw::c_char,
+ _SizeInBytes: ::std::os::raw::c_int,
+ );
+}
+extern "C" {
+ pub fn ultoa(
+ _Value: ::std::os::raw::c_ulong,
+ _Buffer: *mut ::std::os::raw::c_char,
+ _Radix: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn putenv(_EnvString: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn onexit(_Func: _onexit_t) -> _onexit_t;
+}
+extern "C" {
+ pub fn memchr(
+ _Buf: *const ::std::os::raw::c_void,
+ _Val: ::std::os::raw::c_int,
+ _MaxCount: ::std::os::raw::c_ulonglong,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn memcmp(
+ _Buf1: *const ::std::os::raw::c_void,
+ _Buf2: *const ::std::os::raw::c_void,
+ _Size: ::std::os::raw::c_ulonglong,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn memcpy(
+ _Dst: *mut ::std::os::raw::c_void,
+ _Src: *const ::std::os::raw::c_void,
+ _Size: ::std::os::raw::c_ulonglong,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn memmove(
+ _Dst: *mut ::std::os::raw::c_void,
+ _Src: *const ::std::os::raw::c_void,
+ _Size: ::std::os::raw::c_ulonglong,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn memset(
+ _Dst: *mut ::std::os::raw::c_void,
+ _Val: ::std::os::raw::c_int,
+ _Size: ::std::os::raw::c_ulonglong,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn strchr(
+ _Str: *const ::std::os::raw::c_char,
+ _Val: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strrchr(
+ _Str: *const ::std::os::raw::c_char,
+ _Ch: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strstr(
+ _Str: *const ::std::os::raw::c_char,
+ _SubStr: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn wcschr(
+ _Str: *const ::std::os::raw::c_ushort,
+ _Ch: ::std::os::raw::c_ushort,
+ ) -> *mut ::std::os::raw::c_ushort;
+}
+extern "C" {
+ pub fn wcsrchr(_Str: *const wchar_t, _Ch: wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsstr(_Str: *const wchar_t, _SubStr: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _memicmp(
+ _Buf1: *const ::std::os::raw::c_void,
+ _Buf2: *const ::std::os::raw::c_void,
+ _Size: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _memicmp_l(
+ _Buf1: *const ::std::os::raw::c_void,
+ _Buf2: *const ::std::os::raw::c_void,
+ _Size: usize,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn memccpy(
+ _Dst: *mut ::std::os::raw::c_void,
+ _Src: *const ::std::os::raw::c_void,
+ _Val: ::std::os::raw::c_int,
+ _Size: usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn memicmp(
+ _Buf1: *const ::std::os::raw::c_void,
+ _Buf2: *const ::std::os::raw::c_void,
+ _Size: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn wcscat_s(
+ _Destination: *mut wchar_t,
+ _SizeInWords: rsize_t,
+ _Source: *const wchar_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn wcscpy_s(
+ _Destination: *mut wchar_t,
+ _SizeInWords: rsize_t,
+ _Source: *const wchar_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn wcsncat_s(
+ _Destination: *mut wchar_t,
+ _SizeInWords: rsize_t,
+ _Source: *const wchar_t,
+ _MaxCount: rsize_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn wcsncpy_s(
+ _Destination: *mut wchar_t,
+ _SizeInWords: rsize_t,
+ _Source: *const wchar_t,
+ _MaxCount: rsize_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn wcstok_s(
+ _String: *mut wchar_t,
+ _Delimiter: *const wchar_t,
+ _Context: *mut *mut wchar_t,
+ ) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcsdup(_String: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcscat(_Destination: *mut wchar_t, _Source: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcscmp(
+ _String1: *const ::std::os::raw::c_ushort,
+ _String2: *const ::std::os::raw::c_ushort,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn wcscpy(_Destination: *mut wchar_t, _Source: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcscspn(_String: *const wchar_t, _Control: *const wchar_t) -> usize;
+}
+extern "C" {
+ pub fn wcslen(_String: *const ::std::os::raw::c_ushort) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn wcsnlen(_Source: *const wchar_t, _MaxCount: usize) -> usize;
+}
+extern "C" {
+ pub fn wcsncat(
+ _Destination: *mut wchar_t,
+ _Source: *const wchar_t,
+ _Count: usize,
+ ) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsncmp(
+ _String1: *const ::std::os::raw::c_ushort,
+ _String2: *const ::std::os::raw::c_ushort,
+ _MaxCount: ::std::os::raw::c_ulonglong,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn wcsncpy(
+ _Destination: *mut wchar_t,
+ _Source: *const wchar_t,
+ _Count: usize,
+ ) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcspbrk(_String: *const wchar_t, _Control: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsspn(_String: *const wchar_t, _Control: *const wchar_t) -> usize;
+}
+extern "C" {
+ pub fn wcstok(
+ _String: *mut wchar_t,
+ _Delimiter: *const wchar_t,
+ _Context: *mut *mut wchar_t,
+ ) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcserror(_ErrorNumber: ::std::os::raw::c_int) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcserror_s(
+ _Buffer: *mut wchar_t,
+ _SizeInWords: usize,
+ _ErrorNumber: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn __wcserror(_String: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn __wcserror_s(
+ _Buffer: *mut wchar_t,
+ _SizeInWords: usize,
+ _ErrorMessage: *const wchar_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _wcsicmp(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsicmp_l(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsnicmp(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _MaxCount: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsnicmp_l(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsnset_s(
+ _Destination: *mut wchar_t,
+ _SizeInWords: usize,
+ _Value: wchar_t,
+ _MaxCount: usize,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: usize) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcsrev(_String: *mut wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcsset_s(_Destination: *mut wchar_t, _SizeInWords: usize, _Value: wchar_t) -> errno_t;
+}
+extern "C" {
+ pub fn _wcsset(_String: *mut wchar_t, _Value: wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcslwr_s(_String: *mut wchar_t, _SizeInWords: usize) -> errno_t;
+}
+extern "C" {
+ pub fn _wcslwr(_String: *mut wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcslwr_s_l(_String: *mut wchar_t, _SizeInWords: usize, _Locale: _locale_t) -> errno_t;
+}
+extern "C" {
+ pub fn _wcslwr_l(_String: *mut wchar_t, _Locale: _locale_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcsupr_s(_String: *mut wchar_t, _Size: usize) -> errno_t;
+}
+extern "C" {
+ pub fn _wcsupr(_String: *mut wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn _wcsupr_s_l(_String: *mut wchar_t, _Size: usize, _Locale: _locale_t) -> errno_t;
+}
+extern "C" {
+ pub fn _wcsupr_l(_String: *mut wchar_t, _Locale: _locale_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsxfrm(_Destination: *mut wchar_t, _Source: *const wchar_t, _MaxCount: usize) -> usize;
+}
+extern "C" {
+ pub fn _wcsxfrm_l(
+ _Destination: *mut wchar_t,
+ _Source: *const wchar_t,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> usize;
+}
+extern "C" {
+ pub fn wcscoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcscoll_l(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsicoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsicoll_l(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsncoll(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _MaxCount: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsncoll_l(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsnicoll(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _MaxCount: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _wcsnicoll_l(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn wcsdup(_String: *const wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsicmp(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn wcsnicmp(
+ _String1: *const wchar_t,
+ _String2: *const wchar_t,
+ _MaxCount: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: usize) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsrev(_String: *mut wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsset(_String: *mut wchar_t, _Value: wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcslwr(_String: *mut wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsupr(_String: *mut wchar_t) -> *mut wchar_t;
+}
+extern "C" {
+ pub fn wcsicoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strcpy_s(
+ _Destination: *mut ::std::os::raw::c_char,
+ _SizeInBytes: rsize_t,
+ _Source: *const ::std::os::raw::c_char,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn strcat_s(
+ _Destination: *mut ::std::os::raw::c_char,
+ _SizeInBytes: rsize_t,
+ _Source: *const ::std::os::raw::c_char,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn strerror_s(
+ _Buffer: *mut ::std::os::raw::c_char,
+ _SizeInBytes: usize,
+ _ErrorNumber: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn strncat_s(
+ _Destination: *mut ::std::os::raw::c_char,
+ _SizeInBytes: rsize_t,
+ _Source: *const ::std::os::raw::c_char,
+ _MaxCount: rsize_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn strncpy_s(
+ _Destination: *mut ::std::os::raw::c_char,
+ _SizeInBytes: rsize_t,
+ _Source: *const ::std::os::raw::c_char,
+ _MaxCount: rsize_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn strtok_s(
+ _String: *mut ::std::os::raw::c_char,
+ _Delimiter: *const ::std::os::raw::c_char,
+ _Context: *mut *mut ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _memccpy(
+ _Dst: *mut ::std::os::raw::c_void,
+ _Src: *const ::std::os::raw::c_void,
+ _Val: ::std::os::raw::c_int,
+ _MaxCount: usize,
+ ) -> *mut ::std::os::raw::c_void;
+}
+extern "C" {
+ pub fn strcat(
+ _Destination: *mut ::std::os::raw::c_char,
+ _Source: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strcmp(
+ _Str1: *const ::std::os::raw::c_char,
+ _Str2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _strcmpi(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strcoll(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _strcoll_l(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strcpy(
+ _Destination: *mut ::std::os::raw::c_char,
+ _Source: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strcspn(
+ _Str: *const ::std::os::raw::c_char,
+ _Control: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn _strdup(_Source: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _strerror(_ErrorMessage: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _strerror_s(
+ _Buffer: *mut ::std::os::raw::c_char,
+ _SizeInBytes: usize,
+ _ErrorMessage: *const ::std::os::raw::c_char,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn strerror(_ErrorMessage: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _stricmp(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _stricoll(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _stricoll_l(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _stricmp_l(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strlen(_Str: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn _strlwr_s(_String: *mut ::std::os::raw::c_char, _Size: usize) -> errno_t;
+}
+extern "C" {
+ pub fn _strlwr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _strlwr_s_l(
+ _String: *mut ::std::os::raw::c_char,
+ _Size: usize,
+ _Locale: _locale_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _strlwr_l(
+ _String: *mut ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strncat(
+ _Destination: *mut ::std::os::raw::c_char,
+ _Source: *const ::std::os::raw::c_char,
+ _Count: ::std::os::raw::c_ulonglong,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strncmp(
+ _Str1: *const ::std::os::raw::c_char,
+ _Str2: *const ::std::os::raw::c_char,
+ _MaxCount: ::std::os::raw::c_ulonglong,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _strnicmp(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _strnicmp_l(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _strnicoll(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _strnicoll_l(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _strncoll(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn _strncoll_l(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn __strncnt(_String: *const ::std::os::raw::c_char, _Count: usize) -> usize;
+}
+extern "C" {
+ pub fn strncpy(
+ _Destination: *mut ::std::os::raw::c_char,
+ _Source: *const ::std::os::raw::c_char,
+ _Count: ::std::os::raw::c_ulonglong,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strnlen(_String: *const ::std::os::raw::c_char, _MaxCount: usize) -> usize;
+}
+extern "C" {
+ pub fn _strnset_s(
+ _String: *mut ::std::os::raw::c_char,
+ _SizeInBytes: usize,
+ _Value: ::std::os::raw::c_int,
+ _MaxCount: usize,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _strnset(
+ _Destination: *mut ::std::os::raw::c_char,
+ _Value: ::std::os::raw::c_int,
+ _Count: usize,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strpbrk(
+ _Str: *const ::std::os::raw::c_char,
+ _Control: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _strrev(_Str: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _strset_s(
+ _Destination: *mut ::std::os::raw::c_char,
+ _DestinationSize: usize,
+ _Value: ::std::os::raw::c_int,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _strset(
+ _Destination: *mut ::std::os::raw::c_char,
+ _Value: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strspn(
+ _Str: *const ::std::os::raw::c_char,
+ _Control: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn strtok(
+ _String: *mut ::std::os::raw::c_char,
+ _Delimiter: *const ::std::os::raw::c_char,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _strupr_s(_String: *mut ::std::os::raw::c_char, _Size: usize) -> errno_t;
+}
+extern "C" {
+ pub fn _strupr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn _strupr_s_l(
+ _String: *mut ::std::os::raw::c_char,
+ _Size: usize,
+ _Locale: _locale_t,
+ ) -> errno_t;
+}
+extern "C" {
+ pub fn _strupr_l(
+ _String: *mut ::std::os::raw::c_char,
+ _Locale: _locale_t,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strxfrm(
+ _Destination: *mut ::std::os::raw::c_char,
+ _Source: *const ::std::os::raw::c_char,
+ _MaxCount: ::std::os::raw::c_ulonglong,
+ ) -> ::std::os::raw::c_ulonglong;
+}
+extern "C" {
+ pub fn _strxfrm_l(
+ _Destination: *mut ::std::os::raw::c_char,
+ _Source: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ _Locale: _locale_t,
+ ) -> usize;
+}
+extern "C" {
+ pub fn strdup(_String: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strcmpi(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn stricmp(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strlwr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strnicmp(
+ _String1: *const ::std::os::raw::c_char,
+ _String2: *const ::std::os::raw::c_char,
+ _MaxCount: usize,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn strnset(
+ _String: *mut ::std::os::raw::c_char,
+ _Value: ::std::os::raw::c_int,
+ _MaxCount: usize,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strrev(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strset(
+ _String: *mut ::std::os::raw::c_char,
+ _Value: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn strupr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
+}
+pub type slist_index = ::std::os::raw::c_int;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct slist {
+ pub n: slist_index,
+ pub max: slist_index,
+ pub sorted: ::std::os::raw::c_int,
+ pub strs: *mut str,
+}
+extern "C" {
+ pub fn slists_init(a: *mut slist, ...);
+}
+extern "C" {
+ pub fn slists_free(a: *mut slist, ...);
+}
+extern "C" {
+ pub fn slists_empty(a: *mut slist, ...);
+}
+extern "C" {
+ pub fn slist_init(a: *mut slist);
+}
+extern "C" {
+ pub fn slist_init_values(a: *mut slist, ...) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_init_valuesc(a: *mut slist, ...) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_free(a: *mut slist);
+}
+extern "C" {
+ pub fn slist_empty(a: *mut slist);
+}
+extern "C" {
+ pub fn slist_new() -> *mut slist;
+}
+extern "C" {
+ pub fn slist_delete(arg1: *mut slist);
+}
+extern "C" {
+ pub fn slist_deletev(v: *mut ::std::os::raw::c_void);
+}
+extern "C" {
+ pub fn slist_dup(a: *mut slist) -> *mut slist;
+}
+extern "C" {
+ pub fn slist_copy(to: *mut slist, from: *mut slist) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_copy_ret(
+ to: *mut slist,
+ from: *mut slist,
+ retok: ::std::os::raw::c_int,
+ reterr: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_swap(a: *mut slist, n1: slist_index, n2: slist_index);
+}
+extern "C" {
+ pub fn slist_addvp(
+ a: *mut slist,
+ mode: ::std::os::raw::c_int,
+ vp: *mut ::std::os::raw::c_void,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_addc(a: *mut slist, value: *const ::std::os::raw::c_char)
+ -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_add(a: *mut slist, value: *mut str) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_addvp_ret(
+ a: *mut slist,
+ mode: ::std::os::raw::c_int,
+ vp: *mut ::std::os::raw::c_void,
+ retok: ::std::os::raw::c_int,
+ reterr: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_addc_ret(
+ a: *mut slist,
+ value: *const ::std::os::raw::c_char,
+ retok: ::std::os::raw::c_int,
+ reterr: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_add_ret(
+ a: *mut slist,
+ value: *mut str,
+ retok: ::std::os::raw::c_int,
+ reterr: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_addvp_all(
+ a: *mut slist,
+ mode: ::std::os::raw::c_int,
+ ...
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_addc_all(a: *mut slist, ...) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_add_all(a: *mut slist, ...) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_addvp_unique(
+ a: *mut slist,
+ mode: ::std::os::raw::c_int,
+ vp: *mut ::std::os::raw::c_void,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_addc_unique(
+ a: *mut slist,
+ value: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_add_unique(a: *mut slist, value: *mut str) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_addvp_unique_ret(
+ a: *mut slist,
+ mode: ::std::os::raw::c_int,
+ vp: *mut ::std::os::raw::c_void,
+ retok: ::std::os::raw::c_int,
+ reterr: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_addc_unique_ret(
+ a: *mut slist,
+ value: *const ::std::os::raw::c_char,
+ retok: ::std::os::raw::c_int,
+ reterr: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_add_unique_ret(
+ a: *mut slist,
+ value: *mut str,
+ retok: ::std::os::raw::c_int,
+ reterr: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_append(a: *mut slist, toadd: *mut slist) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_append_ret(
+ a: *mut slist,
+ toadd: *mut slist,
+ retok: ::std::os::raw::c_int,
+ reterr: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_append_unique(a: *mut slist, toadd: *mut slist) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_append_unique_ret(
+ a: *mut slist,
+ toadd: *mut slist,
+ retok: ::std::os::raw::c_int,
+ reterr: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_remove(a: *mut slist, n: slist_index) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_str(a: *mut slist, n: slist_index) -> *mut str;
+}
+extern "C" {
+ pub fn slist_cstr(a: *mut slist, n: slist_index) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn slist_set(a: *mut slist, n: slist_index, s: *mut str) -> *mut str;
+}
+extern "C" {
+ pub fn slist_setc(a: *mut slist, n: slist_index, s: *const ::std::os::raw::c_char) -> *mut str;
+}
+extern "C" {
+ pub fn slist_sort(a: *mut slist);
+}
+extern "C" {
+ pub fn slist_revsort(a: *mut slist);
+}
+extern "C" {
+ pub fn slist_find(a: *mut slist, searchstr: *mut str) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_findc(
+ a: *mut slist,
+ searchstr: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_findnocase(a: *mut slist, searchstr: *mut str) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_findnocasec(
+ a: *mut slist,
+ searchstr: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_wasfound(a: *mut slist, n: slist_index) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_wasnotfound(a: *mut slist, n: slist_index) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_match_entry(
+ a: *mut slist,
+ n: slist_index,
+ s: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_trimend(a: *mut slist, n: slist_index);
+}
+extern "C" {
+ pub fn slist_get_maxlen(a: *mut slist) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+ pub fn slist_dump(a: *mut slist, fp: *mut FILE, newline: ::std::os::raw::c_int);
+}
+extern "C" {
+ pub fn slist_fill(
+ a: *mut slist,
+ filename: *const ::std::os::raw::c_char,
+ skip_blank_lines: ::std::os::raw::c_uchar,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_fillfp(
+ a: *mut slist,
+ fp: *mut FILE,
+ skip_blank_lines: ::std::os::raw::c_uchar,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_tokenize(
+ tokens: *mut slist,
+ in_: *mut str,
+ delim: *const ::std::os::raw::c_char,
+ merge_delim: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn slist_tokenizec(
+ tokens: *mut slist,
+ p: *mut ::std::os::raw::c_char,
+ delim: *const ::std::os::raw::c_char,
+ merge_delim: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn charset_get_xmlname(n: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
+}
+extern "C" {
+ pub fn charset_find(name: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn charset_list_all(fp: *mut FILE);
+}
+extern "C" {
+ pub fn charset_lookupchar(
+ charsetin: ::std::os::raw::c_int,
+ c: ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_uint;
+}
+extern "C" {
+ pub fn charset_lookupuni(
+ charsetout: ::std::os::raw::c_int,
+ unicode: ::std::os::raw::c_uint,
+ ) -> ::std::os::raw::c_uint;
+}
+extern "C" {
+ pub fn str_convert(
+ s: *mut str,
+ charsetin: ::std::os::raw::c_int,
+ latexin: ::std::os::raw::c_int,
+ utf8in: ::std::os::raw::c_int,
+ xmlin: ::std::os::raw::c_int,
+ charsetout: ::std::os::raw::c_int,
+ latexout: ::std::os::raw::c_int,
+ utf8out: ::std::os::raw::c_int,
+ xmlout: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+pub type uchar = ::std::os::raw::c_uchar;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct param {
+ pub readformat: ::std::os::raw::c_int,
+ pub writeformat: ::std::os::raw::c_int,
+ pub charsetin: ::std::os::raw::c_int,
+ pub charsetin_src: uchar,
+ pub latexin: uchar,
+ pub utf8in: uchar,
+ pub xmlin: uchar,
+ pub nosplittitle: uchar,
+ pub charsetout: ::std::os::raw::c_int,
+ pub charsetout_src: uchar,
+ pub latexout: uchar,
+ pub utf8out: uchar,
+ pub utf8bom: uchar,
+ pub xmlout: uchar,
+ pub format_opts: ::std::os::raw::c_int,
+ pub addcount: ::std::os::raw::c_int,
+ pub output_raw: uchar,
+ pub verbose: uchar,
+ pub singlerefperfile: uchar,
+ pub asis: slist,
+ pub corps: slist,
+ pub progname: *mut ::std::os::raw::c_char,
+ pub readf: ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut FILE,
+ arg2: *mut ::std::os::raw::c_char,
+ arg3: ::std::os::raw::c_int,
+ arg4: *mut ::std::os::raw::c_int,
+ arg5: *mut str,
+ arg6: *mut str,
+ arg7: *mut ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int,
+ >,
+ pub processf: ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut fields,
+ arg2: *const ::std::os::raw::c_char,
+ arg3: *const ::std::os::raw::c_char,
+ arg4: ::std::os::raw::c_long,
+ arg5: *mut param,
+ ) -> ::std::os::raw::c_int,
+ >,
+ pub cleanf: ::std::option::Option<
+ unsafe extern "C" fn(arg1: *mut bibl, arg2: *mut param) -> ::std::os::raw::c_int,
+ >,
+ pub typef: ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut fields,
+ arg2: *const ::std::os::raw::c_char,
+ arg3: ::std::os::raw::c_int,
+ arg4: *mut param,
+ ) -> ::std::os::raw::c_int,
+ >,
+ pub convertf: ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut fields,
+ arg2: *mut fields,
+ arg3: ::std::os::raw::c_int,
+ arg4: *mut param,
+ ) -> ::std::os::raw::c_int,
+ >,
+ pub headerf: ::std::option::Option<unsafe extern "C" fn(arg1: *mut FILE, arg2: *mut param)>,
+ pub footerf: ::std::option::Option<unsafe extern "C" fn(arg1: *mut FILE)>,
+ pub assemblef: ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut fields,
+ arg2: *mut fields,
+ arg3: *mut param,
+ arg4: ::std::os::raw::c_ulong,
+ ) -> ::std::os::raw::c_int,
+ >,
+ pub writef: ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut fields,
+ arg2: *mut FILE,
+ arg3: *mut param,
+ arg4: ::std::os::raw::c_ulong,
+ ) -> ::std::os::raw::c_int,
+ >,
+ pub all: *mut variants,
+ pub nall: ::std::os::raw::c_int,
+}
+extern "C" {
+ pub fn bibl_initparams(
+ p: *mut param,
+ readmode: ::std::os::raw::c_int,
+ writemode: ::std::os::raw::c_int,
+ progname: *const ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn bibl_freeparams(p: *mut param);
+}
+extern "C" {
+ pub fn bibl_readasis(
+ p: *mut param,
+ filename: *mut ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn bibl_addtoasis(
+ p: *mut param,
+ entry: *mut ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn bibl_readcorps(
+ p: *mut param,
+ filename: *mut ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn bibl_addtocorps(
+ p: *mut param,
+ entry: *mut ::std::os::raw::c_char,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn bibl_read(
+ b: *mut bibl,
+ fp: *mut FILE,
+ filename: *const ::std::os::raw::c_char,
+ p: *mut param,
+ ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn bibl_write(b: *mut bibl, fp: *mut FILE, p: *mut param) -> ::std::os::raw::c_int;
+}
+extern "C" {
+ pub fn bibl_reporterr(err: ::std::os::raw::c_int);
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __crt_locale_data {
+ pub _address: u8,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __crt_multibyte_data {
+ pub _address: u8,
+}
+pub type __builtin_va_list = *mut ::std::os::raw::c_char;
diff --git a/support/texlab/crates/bibutils_sys/src/marc_auth.c b/support/texlab/crates/bibutils_sys/src/marc_auth.c
new file mode 100644
index 0000000000..4ef2899b78
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/marc_auth.c
@@ -0,0 +1,458 @@
+/*
+ * marc_auth.c
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include "marc_auth.h"
+#include <string.h>
+#include "msvc_fix.h"
+
+static const char *marc_genre[] = {
+ "abstract or summary",
+ "art original",
+ "art reproduction",
+ "article",
+ "atlas",
+ "autobiography",
+ "bibliography",
+ "biography",
+ "book",
+ "calendar",
+ "catalog",
+ "chart",
+ "comic or graphic novel",
+ "comic strip",
+ "conference publication",
+ "database",
+ "dictionary",
+ "diorama",
+ "directory",
+ "discography",
+ "drama",
+ "encyclopedia",
+ "essay",
+ "festschrift",
+ "fiction",
+ "filmography",
+ "filmstrip",
+ "finding aid",
+ "flash card",
+ "folktale",
+ "font",
+ "game",
+ "government publication",
+ "graphic",
+ "globe",
+ "handbook",
+ "history",
+ "humor, satire",
+ "hymnal",
+ "index",
+ "instruction",
+ "interview",
+ "issue",
+ "journal",
+ "kit",
+ "language instruction",
+ "law report or digest",
+ "legal article",
+ "legal case and case notes",
+ "legislation",
+ "letter",
+ "loose-leaf",
+ "map",
+ "memoir",
+ "microscope slide",
+ "model",
+ "motion picture",
+ "multivolume monograph",
+ "newspaper",
+ "novel",
+ "numeric data",
+ "offprint",
+ "online system or service",
+ "patent",
+ "periodical",
+ "picture",
+ "poetry",
+ "programmed text",
+ "realia",
+ "rehearsal",
+ "remote sensing image",
+ "reporting",
+ "review",
+ "series",
+ "short story",
+ "slide",
+ "sound",
+ "speech",
+ "standard or specification",
+ "statistics",
+ "survey of literature",
+ "technical drawing",
+ "technical report",
+ "thesis",
+ "toy",
+ "transparency",
+ "treaty",
+ "videorecording",
+ "web site",
+ "yearbook",
+};
+static const int nmarc_genre = sizeof( marc_genre ) / sizeof( const char* );
+
+static const char *marc_resource[] = {
+ "cartographic",
+ "kit",
+ "mixed material",
+ "moving image",
+ "notated music",
+ "software, multimedia",
+ "sound recording",
+ "sound recording - musical",
+ "sound recording - nonmusical",
+ "still image",
+ "text",
+ "three dimensional object"
+};
+static const int nmarc_resource = sizeof( marc_resource ) / sizeof( const char* );
+
+
+/* www.loc.gov/marc/relators/relacode.html */
+
+typedef struct marc_trans {
+ char *abbreviation;
+ char *internal_name;
+} marc_trans;
+
+static const marc_trans relators[] = {
+ { "abr", "ABRIDGER" }, /* Abridger */
+ { "acp", "ART_COPYIST" }, /* Art copyist */
+ { "act", "ACTOR" }, /* Actor */
+ { "adi", "ART_DIRECTOR" }, /* Art director */
+ { "adp", "ADAPTER" }, /* Adapter */
+ { "aft", "AUTHOR" }, /* Author of afterword, colophon, etc. */
+ { "anl", "ANALYST" }, /* Analyst */
+ { "anm", "ANIMATOR" }, /* Animator */
+ { "ann", "ANNOTATOR" }, /* Annotator */
+ { "ant", "BIBLIOGRAPHIC_ANTECENDENT" }, /* Bibliographic antecedent */
+ { "ape", "APPELLEE" }, /* Appellee */
+ { "apl", "APPELLANT" }, /* Appellant */
+ { "app", "APPLICANT" }, /* Applicant */
+ { "aqt", "AUTHOR" }, /* Author in quotations or text abstracts */
+ { "arc", "ARCHITECT" }, /* Architect */
+ { "ard", "ARTISTIC_DIRECTOR" }, /* Artistic director */
+ { "arr", "ARRANGER" }, /* Arranger */
+ { "art", "ARTIST" }, /* Artist */
+ { "asg", "ASSIGNEE" }, /* Assignee */
+ { "asn", "ASSOCIATED_NAME" }, /* Associated name */
+ { "ato", "AUTOGRAPHER" }, /* Autographer */
+ { "att", "ATTRIBUTED_NAME" }, /* Attributed name */
+ { "auc", "AUCTIONEER" }, /* Auctioneer */
+ { "aud", "AUTHOR" }, /* Author of dialog */
+ { "aui", "AUTHOR" }, /* Author of introduction, etc. */
+ { "aus", "AUTHOR" }, /* Screenwriter */
+ { "aut", "AUTHOR" }, /* Author */
+ { "author", "AUTHOR" },
+ { "bdd", "BINDING_DESIGNER" }, /* Binding designer */
+ { "bjd", "BOOKJACKET_DESIGNER" }, /* Bookjacket designer */
+ { "bkd", "BOOK_DESIGNER" }, /* Book designer */
+ { "bkp", "BOOK_PRODUCER" }, /* Book producer */
+ { "blw", "AUTHOR" }, /* Blurb writer */
+ { "bnd", "BINDER" }, /* Binder */
+ { "bpd", "BOOKPLATE_DESIGNER" }, /* Bookplate designer */
+ { "brd", "BROADCASTER" }, /* Broadcaster */
+ { "brl", "BRAILLE_EMBOSSER" }, /* Braille embosser */
+ { "bsl", "BOOKSELLER" }, /* Bookseller */
+ { "cas", "CASTER" }, /* Caster */
+ { "ccp", "CONCEPTOR" }, /* Conceptor */
+ { "chr", "CHOREOGRAPHER" }, /* Choreographer */
+ { "clb", "COLLABORATOR" }, /* Collaborator */
+ { "cli", "CLIENT" }, /* Client */
+ { "cll", "CALLIGRAPHER" }, /* Calligrapher */
+ { "clr", "COLORIST" }, /* Colorist */
+ { "clt", "COLLOTYPER" }, /* Collotyper */
+ { "cmm", "COMMENTATOR" }, /* Commentator */
+ { "cmp", "COMPOSER" }, /* Composer */
+ { "cmt", "COMPOSITOR" }, /* Compositor */
+ { "cnd", "CONDUCTOR" }, /* Conductor */
+ { "cng", "CINEMATOGRAPHER" }, /* Cinematographer */
+ { "cns", "CENSOR" }, /* Censor */
+ { "coe", "CONTESTANT-APPELLEE" }, /* Contestant-appellee */
+ { "col", "COLLECTOR" }, /* Collector */
+ { "com", "COMPILER" }, /* Compiler */
+ { "con", "CONSERVATOR" }, /* Conservator */
+ { "cor", "COLLECTION_REGISTRAR" }, /* Collection registrar */
+ { "cos", "CONTESTANT" }, /* Contestant */
+ { "cot", "CONTESTANT-APPELLANT" }, /* Contestant-appellant */
+ { "cou", "COURT_GOVERNED" }, /* Court governed */
+ { "cov", "COVER_DESIGNER" }, /* Cover designer */
+ { "cpc", "COPYRIGHT_CLAIMANT" }, /* Copyright claimant */
+ { "cpe", "COMPLAINANT-APPELLEE" }, /* Complainant-appellee */
+ { "cph", "COPYRIGHT_HOLDER" }, /* Copyright holder */
+ { "cpl", "COMPLAINANT" }, /* Complainant */
+ { "cpt", "COMPLAINANT-APPELLANT" }, /* Complainant-appellant */
+ { "cre", "AUTHOR" }, /* Creator */
+ { "creator", "AUTHOR" },
+ { "crp", "CORRESPONDENT" }, /* Correspondent */
+ { "crr", "CORRECTOR" }, /* Corrector */
+ { "crt", "COURT_REPORTER" }, /* Court reporter */
+ { "csl", "CONSULTANT" }, /* Consultant */
+ { "csp", "CONSULTANT_TO_A_PROJECT" }, /* Consultant to a project */
+ { "cst", "COSTUME_DESIGNER" }, /* Costume designer */
+ { "ctb", "CONTRIBUTOR" }, /* Contributor */
+ { "cte", "CONTESTEE-APPELLEE" }, /* Contestee-appellee */
+ { "ctg", "CARTOGRAPHER" }, /* Cartographer */
+ { "ctr", "CONTRACTOR" }, /* Contractor */
+ { "cts", "CONTESTEE" }, /* Contestee */
+ { "ctt", "CONTESTEE-APPELLANT" }, /* Contestee-appellant */
+ { "cur", "CURATOR" }, /* Curator */
+ { "cwt", "COMMENTATOR_FOR_WRITTEN_TEXT" }, /* Commentator for written text */
+ { "dbp", "DISTRIBUTION_PLACE" }, /* Distribution place */
+ { "degree grantor", "DEGREEGRANTOR" },
+ { "dfd", "DEFENDANT" }, /* Defendant */
+ { "dfe", "DEFENDANT-APPELLEE" }, /* Defendant-appellee */
+ { "dft", "DEFENDANT-APPELLANT" }, /* Defendant-appellant */
+ { "dgg", "DEGREEGRANTOR" }, /* Degree granting institution */
+ { "dgs", "DEGREE_SUPERVISOR" }, /* Degree supervisor */
+ { "dis", "DISSERTANT" }, /* Dissertant */
+ { "dln", "DELINEATOR" }, /* Delineator */
+ { "dnc", "DANCER" }, /* Dancer */
+ { "dnr", "DONOR" }, /* Donor */
+ { "dpc", "DEPICTED" }, /* Depicted */
+ { "dpt", "DEPOSITOR" }, /* Depositor */
+ { "drm", "DRAFTSMAN" }, /* Draftsman */
+ { "drt", "DIRECTOR" }, /* Director */
+ { "dsr", "DESIGNER" }, /* Designer */
+ { "dst", "DISTRIBUTOR" }, /* Distributor */
+ { "dtc", "DATA_CONTRIBUTOR" }, /* Data contributor */
+ { "dte", "DEDICATEE" }, /* Dedicatee */
+ { "dtm", "DATA_MANAGER" }, /* Data manager */
+ { "dto", "DEDICATOR" }, /* Dedicator */
+ { "dub", "AUTHOR" }, /* Dubious author */
+ { "edc", "EDITOR" }, /* Editor of compilation */
+ { "edm", "EDITOR" }, /* Editor of moving image work */
+ { "edt", "EDITOR" }, /* Editor */
+ { "egr", "ENGRAVER" }, /* Engraver */
+ { "elg", "ELECTRICIAN" }, /* Electrician */
+ { "elt", "ELECTROTYPER" }, /* Electrotyper */
+ { "eng", "ENGINEER" }, /* Engineer */
+ { "enj", "ENACTING_JURISICTION" }, /* Enacting jurisdiction */
+ { "etr", "ETCHER" }, /* Etcher */
+ { "evp", "EVENT_PLACE" }, /* Event place */
+ { "exp", "EXPERT" }, /* Expert */
+ { "fac", "FACSIMILIST" }, /* Facsimilist */
+ { "fds", "FILM_DISTRIBUTOR" }, /* Film distributor */
+ { "fld", "FIELD_DIRECTOR" }, /* Field director */
+ { "flm", "FILM_EDITOR" }, /* Film editor */
+ { "fmd", "FILM_DIRECTOR" }, /* Film director */
+ { "fmk", "FILMMAKER" }, /* Filmmaker */
+ { "fmo", "FORMER_OWNER" }, /* Former owner */
+ { "fmp", "FILM_PRODUCER" }, /* Film producer */
+ { "fnd", "FUNDER" }, /* Funder */
+ { "fpy", "FIRST_PARTY" }, /* First party */
+ { "frg", "FORGER" }, /* Forger */
+ { "gis", "GEOGRAPHIC_INFORMATON_SPECIALIST" }, /* Geographic information specialist */
+ { "grt", "GRAPHIC_TECHNICIAN" }, /* Graphic technician */
+ { "his", "HOST_INSTITUTION" }, /* Host institution */
+ { "hnr", "HONOREE" }, /* Honoree */
+ { "hst", "HOST" }, /* Host */
+ { "ill", "ILLUSTRATOR" }, /* Illustrator */
+ { "ilu", "ILLUMINATOR" }, /* Illuminator */
+ { "ins", "INSCRIBER" }, /* Inscriber */
+ { "inv", "INVENTOR" }, /* Inventor */
+ { "isb", "ISSUING_BODY" }, /* Issuing body */
+ { "itr", "INSTRUMENTALIST" }, /* Instrumentalist */
+ { "ive", "INTERVIEWEE" }, /* Interviewee */
+ { "ivr", "INTERVIEWER" }, /* Interviewer */
+ { "jud", "JUDGE" }, /* Judge */
+ { "jug", "JURISDICTION_GOVERNED" }, /* Jurisdiction governed */
+ { "lbr", "LABORATORY" }, /* Laboratory */
+ { "lbt", "LIBRETTIST" }, /* Librettist */
+ { "ldr", "LABORATORY_DIRECTORY" }, /* Laboratory director */
+ { "led", "LEAD" }, /* Lead */
+ { "lee", "LIBELEE-APPELLEE" }, /* Libelee-appellee */
+ { "lel", "LIBELEE" }, /* Libelee */
+ { "len", "LENDER" }, /* Lender */
+ { "let", "LIBELEE-APPELLANT" }, /* Libelee-appellant */
+ { "lgd", "LIGHTING_DESIGNER" }, /* Lighting designer */
+ { "lie", "LIBELANT-APPELLEE" }, /* Libelant-appellee */
+ { "lil", "LIBELANT" }, /* Libelant */
+ { "lit", "LIBELANT-APPELLANT" }, /* Libelant-appellant */
+ { "lsa", "LANDSCAPE_ARCHITECT" }, /* Landscape architect */
+ { "lse", "LICENSEE" }, /* Licensee */
+ { "lso", "LICENSOR" }, /* Licensor */
+ { "ltg", "LITHOGRAPHER" }, /* Lithographer */
+ { "lyr", "LYRICIST" }, /* Lyricist */
+ { "mcp", "MUSIC_COPYIST" }, /* Music copyist */
+ { "mdc", "METADATA_CONTACT" }, /* Metadata contact */
+ { "med", "MEDIUM" }, /* Medium */
+ { "mfp", "MANUFACTURE_PLACE" }, /* Manufacture place */
+ { "mfr", "MANUFACTURER" }, /* Manufacturer */
+ { "mod", "MODERATOR" }, /* Moderator */
+ { "mon", "THESIS_EXAMINER" }, /* Monitor */
+ { "mrb", "MARBLER" }, /* Marbler */
+ { "mrk", "EDITOR" }, /* Markup editor */
+ { "msd", "MUSICAL_DIRECTOR" }, /* Musical director */
+ { "mte", "METAL-ENGRAVER" }, /* Metal-engraver */
+ { "mtk", "MINUTE_TAKER" }, /* Minute taker */
+ { "mus", "MUSICIAN" }, /* Musician */
+ { "nrt", "NARRATOR" }, /* Narrator */
+ { "opn", "THESIS_OPPONENT" }, /* Opponent */
+ { "org", "ORIGINATOR" }, /* Originator */
+ { "organizer of meeting", "ORGANIZER" },
+ { "orm", "ORGANIZER" }, /* Organizer */
+ { "osp", "ONSCREEN_PRESENTER" }, /* Onscreen presenter */
+ { "oth", "THESIS_OTHER" }, /* Other */
+ { "own", "OWNER" }, /* Owner */
+ { "pan", "PANELIST" }, /* Panelist */
+ { "pat", "PATRON" }, /* Patron */
+ { "patent holder", "ASSIGNEE" },
+ { "pbd", "PUBLISHING_DIRECTOR" }, /* Publishing director */
+ { "pbl", "PUBLISHER" }, /* Publisher */
+ { "pdr", "PROJECT_DIRECTOR" }, /* Project director */
+ { "pfr", "PROOFREADER" }, /* Proofreader */
+ { "pht", "PHOTOGRAPHER" }, /* Photographer */
+ { "plt", "PLATEMAKER" }, /* Platemaker */
+ { "pma", "PERMITTING_AGENCY" }, /* Permitting agency */
+ { "pmn", "PRODUCTION_MANAGER" }, /* Production manager */
+ { "pop", "PRINTER_OF_PLATES" }, /* Printer of plates */
+ { "ppm", "PAPERMAKER" }, /* Papermaker */
+ { "ppt", "PUPPETEER" }, /* Puppeteer */
+ { "pra", "PRAESES" }, /* Praeses */
+ { "prc", "PROCESS_CONTRACT" }, /* Process contact */
+ { "prd", "PRODUCTION_PERSONNEL" }, /* Production personnel */
+ { "pre", "PRESENTER" }, /* Presenter */
+ { "prf", "PERFORMER" }, /* Performer */
+ { "prg", "AUTHOR" }, /* Programmer */
+ { "prm", "PRINTMAKER" }, /* Printmaker */
+ { "prn", "PRODUCTION_COMPANY" }, /* Production company */
+ { "pro", "PRODUCER" }, /* Producer */
+ { "prp", "PRODUCTION_PLACE" }, /* Production place */
+ { "prs", "PRODUCTION_DESIGNER" }, /* Production designer */
+ { "prt", "PRINTER" }, /* Printer */
+ { "prv", "PROVIDER" }, /* Provider */
+ { "pta", "PATENT_APPLICANT" }, /* Patent applicant */
+ { "pte", "PLAINTIFF-APPELLEE" }, /* Plaintiff-appellee */
+ { "ptf", "PLAINTIFF" }, /* Plaintiff */
+ { "pth", "ASSIGNEE" }, /* Patent holder */
+ { "ptt", "PLAINTIFF-APPELLANT" }, /* Plaintiff-appellant */
+ { "pup", "PUBLICATION_PLACE" }, /* Publication place */
+ { "rbr", "RUBRICATOR" }, /* Rubricator */
+ { "rcd", "RECORDIST" }, /* Recordist */
+ { "rce", "RECORDING_ENGINEER" }, /* Recording engineer */
+ { "rcp", "ADDRESSEE" }, /* Addressee */
+ { "rdd", "RADIO_DIRECTOR" }, /* Radio director */
+ { "red", "REDAKTOR" }, /* Redaktor */
+ { "ren", "RENDERER" }, /* Renderer */
+ { "res", "RESEARCHER" }, /* Researcher */
+ { "rev", "REVIEWER" }, /* Reviewer */
+ { "rpc", "RADIO_PRODUCER" }, /* Radio producer */
+ { "rps", "REPOSITORY" }, /* Repository */
+ { "rpt", "REPORTER" }, /* Reporter */
+ { "rpy", "RESPONSIBLE_PARTY" }, /* Responsible party */
+ { "rse", "RESPONDENT-APPELLEE" }, /* Respondent-appellee */
+ { "rsg", "RESTAGER" }, /* Restager */
+ { "rsp", "RESPONDENT" }, /* Respondent */
+ { "rsr", "RESTORATIONIST" }, /* Restorationist */
+ { "rst", "RESPONDENT-APPELLANT" }, /* Respondent-appellant */
+ { "rth", "RESEARCH_TEAM_HEAD" }, /* Research team head */
+ { "rtm", "RESEARCH_TEAM_MEMBER" }, /* Research team member */
+ { "sad", "SCIENTIFIC_ADVISOR" }, /* Scientific advisor */
+ { "sce", "SCENARIST" }, /* Scenarist */
+ { "scl", "SCULPTOR" }, /* Sculptor */
+ { "scr", "SCRIBE" }, /* Scribe */
+ { "sds", "SOUND_DESIGNER" }, /* Sound designer */
+ { "sec", "SECRETARY" }, /* Secretary */
+ { "sgd", "STAGE_DIRECTOR" }, /* Stage director */
+ { "sgn", "SIGNER" }, /* Signer */
+ { "sht", "SUPPORTING_HOST" }, /* Supporting host */
+ { "sll", "SELLER" }, /* Seller */
+ { "sng", "SINGER" }, /* Singer */
+ { "spk", "SPEAKER" }, /* Speaker */
+ { "spn", "SPONSOR" }, /* Sponsor */
+ { "spy", "SECOND_PARTY" }, /* Second party */
+ { "srv", "SURVEYOR" }, /* Surveyor */
+ { "std", "SET_DESIGNER" }, /* Set designer */
+ { "stg", "SETTING" }, /* Setting */
+ { "stl", "STORYTELLER" }, /* Storyteller */
+ { "stm", "STAGE_MANAGER" }, /* Stage manager */
+ { "stn", "STANDARDS_BODY" }, /* Standards body */
+ { "str", "STEREOTYPER" }, /* Stereotyper */
+ { "tcd", "TECHNICAL_DIRECTOR" }, /* Technical director */
+ { "tch", "TEACHER" }, /* Teacher */
+ { "ths", "THESIS_ADVISOR" }, /* Thesis advisor */
+ { "tld", "TELEVISION_DIRECTOR" }, /* Television director */
+ { "tlp", "TELEVISION_PRODUCER" }, /* Television producer */
+ { "trc", "TRANSCRIBER" }, /* Transcriber */
+ { "trl", "TRANSLATOR" }, /* Translator */
+ { "tyd", "TYPE_DIRECTOR" }, /* Type designer */
+ { "tyg", "TYPOGRAPHER" }, /* Typographer */
+ { "uvp", "UNIVERSITY_PLACE" }, /* University place */
+ { "vac", "VOICE_ACTOR" }, /* Voice actor */
+ { "vdg", "VIDEOGRAPHER" }, /* Videographer */
+ { "voc", "VOCALIST" }, /* Vocalist */
+ { "wac", "AUTHOR" }, /* Writer of added commentary */
+ { "wal", "AUTHOR" }, /* Writer of added lyrics */
+ { "wam", "AUTHOR" }, /* Writer of accompanying material */
+ { "wat", "AUTHOR" }, /* Writer of added text */
+ { "wdc", "WOODCUTTER" }, /* Woodcutter */
+ { "wde", "WOOD_ENGRAVER" }, /* Wood engraver */
+ { "win", "AUTHOR" }, /* Writer of introduction */
+ { "wit", "WITNESS" }, /* Witness */
+ { "wpr", "AUTHOR" }, /* Writer of preface */
+ { "wst", "AUTHOR" }, /* Writer of supplementary textual content */
+};
+
+static const int nrealtors = sizeof( relators ) / sizeof( relators[0] );
+
+char *
+marc_convertrole( const char *query )
+{
+ int i;
+
+ for ( i=0; i<nrealtors; ++i ) {
+ if ( !strcasecmp( query, relators[i].abbreviation ) )
+ return relators[i].internal_name;
+ }
+ return NULL;
+}
+
+static int
+position_in_list( const char *list[], int nlist, const char *query )
+{
+ int i;
+ for ( i=0; i<nlist; ++i ) {
+ if ( !strcasecmp( query, list[i] ) ) return i;
+ }
+ return -1;
+}
+
+int
+marc_findgenre( const char *query )
+{
+ return position_in_list( marc_genre, nmarc_genre, query );
+}
+
+int
+is_marc_genre( const char *query )
+{
+ if ( marc_findgenre( query ) != -1 ) return 1;
+ else return 0;
+}
+
+int
+marc_findresource( const char *query )
+{
+ return position_in_list( marc_resource, nmarc_resource, query );
+}
+
+int
+is_marc_resource( const char *query )
+{
+ if ( marc_findresource( query ) != -1 ) return 1;
+ else return 0;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/marc_auth.h b/support/texlab/crates/bibutils_sys/src/marc_auth.h
new file mode 100644
index 0000000000..3821f4651a
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/marc_auth.h
@@ -0,0 +1,20 @@
+/*
+ * marc_auth.h
+ *
+ * Recognize the MARC authority vocabulary for genre and resource.
+ *
+ * Copyright (c) Chris Putnam 2008-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef MARC_AUTH_H
+#define MARC_AUTH_H
+
+int marc_findgenre( const char *query );
+int is_marc_genre( const char *query );
+int marc_findresource( const char *query );
+int is_marc_resource( const char *query );
+char *marc_convertrole( const char *query );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/medin.c b/support/texlab/crates/bibutils_sys/src/medin.c
new file mode 100644
index 0000000000..5bc39cfc33
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/medin.c
@@ -0,0 +1,645 @@
+/*
+ * medin.c
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include "is_ws.h"
+#include "str.h"
+#include "str_conv.h"
+#include "fields.h"
+#include "xml.h"
+#include "xml_encoding.h"
+#include "iso639_2.h"
+#include "bibutils.h"
+#include "bibformats.h"
+
+static int medin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset );
+static int medin_processf( fields *medin, const char *data, const char *filename, long nref, param *p );
+
+
+/*****************************************************
+ PUBLIC: void medin_initparams()
+*****************************************************/
+int
+medin_initparams( param *pm, const char *progname )
+{
+ pm->readformat = BIBL_MEDLINEIN;
+ pm->charsetin = BIBL_CHARSET_UNICODE;
+ pm->charsetin_src = BIBL_SRC_DEFAULT;
+ pm->latexin = 0;
+ pm->xmlin = 1;
+ pm->utf8in = 1;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->output_raw = BIBL_RAW_WITHMAKEREFID |
+ BIBL_RAW_WITHCHARCONVERT;
+
+ pm->readf = medin_readf;
+ pm->processf = medin_processf;
+ pm->cleanf = NULL;
+ pm->typef = NULL;
+ pm->convertf = NULL;
+ pm->all = NULL;
+ pm->nall = 0;
+
+ slist_init( &(pm->asis) );
+ slist_init( &(pm->corps) );
+
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int medin_readf()
+*****************************************************/
+
+/*
+ * The only difference between MEDLINE and PUBMED in format is
+ * that the entire library is wrapped in <MedlineCitationSet>
+ * or <PubmedArticle> tags...
+ */
+static char *wrapper[] = { "PubmedArticle", "MedlineCitation" };
+static int nwrapper = sizeof( wrapper ) / sizeof( wrapper[0] );
+
+static char *
+medin_findstartwrapper( char *buf, int *ntype )
+{
+ char *startptr=NULL;
+ int i;
+ for ( i=0; i<nwrapper && startptr==NULL; ++i ) {
+ startptr = xml_find_start( buf, wrapper[ i ] );
+ if ( startptr && *ntype==-1 ) *ntype = i;
+ }
+ return startptr;
+}
+
+static char *
+medin_findendwrapper( char *buf, int ntype )
+{
+ char *endptr = xml_find_end( buf, wrapper[ ntype ] );
+ return endptr;
+}
+
+static int
+medin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset )
+{
+ str tmp;
+ char *startptr = NULL, *endptr;
+ int haveref = 0, inref = 0, file_charset = CHARSET_UNKNOWN, m, type = -1;
+ str_init( &tmp );
+ while ( !haveref && str_fget( fp, buf, bufsize, bufpos, line ) ) {
+ if ( line->data ) {
+ m = xml_getencoding( line );
+ if ( m!=CHARSET_UNKNOWN ) file_charset = m;
+ }
+ if ( line->data ) {
+ startptr = medin_findstartwrapper( line->data, &type );
+ }
+ if ( startptr || inref ) {
+ if ( inref ) str_strcat( &tmp, line );
+ else {
+ str_strcatc( &tmp, startptr );
+ inref = 1;
+ }
+ endptr = medin_findendwrapper( str_cstr( &tmp ), type );
+ if ( endptr ) {
+ str_segcpy( reference, str_cstr( &tmp ), endptr );
+ haveref = 1;
+ }
+ }
+ }
+ str_free( &tmp );
+ *fcharset = file_charset;
+ return haveref;
+}
+
+/*****************************************************
+ PUBLIC: int medin_processf()
+*****************************************************/
+
+typedef struct xml_convert {
+ char *in; /* The input tag */
+ char *a, *aval; /* The attribute="attribute_value" pair, if nec. */
+ char *out; /* The output tag */
+ int level;
+} xml_convert;
+
+static int
+medin_doconvert( xml *node, fields *info, xml_convert *c, int nc, int *found )
+{
+ int i, fstatus;
+ char *d;
+ *found = 0;
+ if ( !xml_has_value( node ) ) return BIBL_OK;
+ d = xml_value_cstr( node );
+ for ( i=0; i<nc && *found==0; ++i ) {
+ if ( c[i].a==NULL ) {
+ if ( xml_tag_matches( node, c[i].in ) ) {
+ *found = 1;
+ fstatus = fields_add( info, c[i].out, d, c[i].level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ } else {
+ if ( xml_tag_has_attribute( node, c[i].in, c[i].a, c[i].aval ) ) {
+ *found = 1;
+ fstatus = fields_add( info, c[i].out, d, c[i].level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ }
+
+ }
+ return BIBL_OK;
+}
+
+/* <ArticleTitle>Mechanism and.....</ArticleTitle>
+ */
+static int
+medin_articletitle( xml *node, fields *info )
+{
+ int fstatus, status = BIBL_OK;
+ if ( xml_has_value( node ) ) {
+ fstatus = fields_add( info, "TITLE", xml_value_cstr( node ), 0 );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ }
+ return status;
+}
+
+/* <MedlineDate>2003 Jan-Feb</MedlineDate> */
+static int
+medin_medlinedate( fields *info, const char *p, int level )
+{
+ int fstatus;
+ str tmp;
+
+ str_init( &tmp );
+
+ p = str_cpytodelim( &tmp, skip_ws( p ), " \t\n\r", 0 );
+ if ( str_memerr( &tmp ) ) return BIBL_ERR_MEMERR;
+
+ if ( str_has_value( &tmp ) ) {
+ fstatus = fields_add( info, "PARTDATE:YEAR", str_cstr( &tmp ), level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+
+ p = str_cpytodelim( &tmp, skip_ws( p ), " \t\n\r", 0 );
+ if ( str_memerr( &tmp ) ) return BIBL_ERR_MEMERR;
+
+ if ( str_has_value( &tmp ) ) {
+ str_findreplace( &tmp, "-", "/" );
+ fstatus = fields_add( info, "PARTDATE:MONTH", str_cstr( &tmp ), level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+
+ (void) str_cpytodelim( &tmp, skip_ws( p ), " \t\n\r", 0 );
+ if ( str_memerr( &tmp ) ) return BIBL_ERR_MEMERR;
+
+ if ( str_has_value( &tmp ) ) {
+ fstatus = fields_add( info, "PARTDATE:DAY", str_cstr( &tmp ), level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+
+ str_free( &tmp );
+
+ return BIBL_OK;
+}
+
+/* <Langauge>eng</Language>
+ */
+static int
+medin_language( xml *node, fields *info, int level )
+{
+ char *code, *language;
+ int fstatus;
+ code = xml_value_cstr( node );
+ if ( !code ) return BIBL_OK;
+ language = iso639_2_from_code( code );
+ if ( language )
+ fstatus = fields_add( info, "LANGUAGE", language, level );
+ else
+ fstatus = fields_add( info, "LANGUAGE", code, level );
+ if ( fstatus==FIELDS_OK ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+}
+
+/* <Journal>
+ * <ISSN>0027-8424</ISSN>
+ * <JournalIssue PrintYN="Y">
+ * <Volume>100</Volume>
+ * <Issue>21</Issue>
+ * <PubDate>
+ * <Year>2003</Year>
+ * <Month>Oct</Month>
+ * <Day>14</Day>
+ * </PubDate>
+ * </Journal Issue>
+ * </Journal>
+ *
+ * or....
+ *
+ * <Journal>
+ * <ISSN IssnType="Print">0735-0414</ISSN>
+ * <JournalIssue CitedMedium="Print">
+ * <Volume>38</Volume>
+ * <Issue>1</Issue>
+ * <PubDate>
+ * <MedlineDate>2003 Jan-Feb</MedlineDate>
+ * </PubDate>
+ * </JournalIssue>
+ * <Title>Alcohol and alcoholism (Oxford, Oxfordshire) </Title>
+ * <ISOAbbreviation>Alcohol Alcohol.</ISOAbbreviation>
+ * </Journal>
+ */
+static int
+medin_journal1( xml *node, fields *info )
+{
+ xml_convert c[] = {
+ { "Title", NULL, NULL, "TITLE", 1 },
+ { "ISOAbbreviation", NULL, NULL, "SHORTTITLE", 1 },
+ { "ISSN", NULL, NULL, "ISSN", 1 },
+ { "Volume", NULL, NULL, "VOLUME", 1 },
+ { "Issue", NULL, NULL, "ISSUE", 1 },
+ { "Year", NULL, NULL, "PARTDATE:YEAR", 1 },
+ { "Month", NULL, NULL, "PARTDATE:MONTH", 1 },
+ { "Day", NULL, NULL, "PARTDATE:DAY", 1 },
+ };
+ int nc = sizeof( c ) / sizeof( c[0] ), status, found;
+ if ( xml_has_value( node ) ) {
+ status = medin_doconvert( node, info, c, nc, &found );
+ if ( status!=BIBL_OK ) return status;
+ if ( !found ) {
+ if ( xml_tag_matches( node, "MedlineDate" ) ) {
+ status = medin_medlinedate( info, xml_value_cstr( node ), 1 );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( xml_tag_matches( node, "Language" ) ) {
+ status = medin_language( node, info, 1 );
+ if ( status!=BIBL_OK ) return status;
+ }
+ }
+ }
+ if ( node->down ) {
+ status = medin_journal1( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) {
+ status = medin_journal1( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+/* <Pagination>
+ * <MedlinePgn>12111-6</MedlinePgn>
+ * </Pagination>
+ */
+static int
+medin_pagination( xml *node, fields *info )
+{
+ int i, fstatus, status;
+ str sp, ep;
+ const char *p, *pp;
+ if ( xml_tag_matches( node, "MedlinePgn" ) && node->value.len ) {
+ strs_init( &sp, &ep, NULL );
+ p = str_cpytodelim( &sp, xml_value_cstr( node ), "-", 1 );
+ if ( str_memerr( &sp ) ) return BIBL_ERR_MEMERR;
+ if ( str_has_value( &sp ) ) {
+ fstatus = fields_add( info, "PAGES:START", str_cstr( &sp ), 1 );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ (void) str_cpytodelim( &ep, p, "", 0 );
+ if ( str_memerr( &ep ) ) return BIBL_ERR_MEMERR;
+ if ( str_has_value( &ep ) ) {
+ if ( sp.len > ep.len ) {
+ for ( i=sp.len-ep.len; i<sp.len; ++i )
+ sp.data[i] = ep.data[i-sp.len+ep.len];
+ pp = sp.data;
+ } else pp = ep.data;
+ fstatus = fields_add( info, "PAGES:STOP", pp, 1 );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ strs_free( &sp, &ep, NULL );
+ }
+ if ( node->down ) {
+ status = medin_pagination( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) {
+ status = medin_pagination( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+/* <Abstract>
+ * <AbstractText>ljwejrelr</AbstractText>
+ * </Abstract>
+ */
+static int
+medin_abstract( xml *node, fields *info )
+{
+ int fstatus;
+ if ( xml_tag_matches_has_value( node, "AbstractText" ) ) {
+ fstatus = fields_add( info, "ABSTRACT", xml_value_cstr( node ), 0 );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ } else if ( node->next ) return medin_abstract( node->next, info );
+ return BIBL_OK;
+}
+
+/* <AuthorList CompleteYN="Y">
+ * <Author>
+ * <LastName>Barondeau</LastName>
+ * <ForeName>David P</ForeName>
+ * ( or <FirstName>David P</FirstName> )
+ * <Initials>DP</Initials>
+ * </Author>
+ * <Author>
+ * <CollectiveName>Organization</CollectiveName>
+ * </Author>
+ * </AuthorList>
+ */
+static int
+medin_author( xml *node, str *name )
+{
+ char *p;
+ if ( xml_tag_matches( node, "LastName" ) ) {
+ if ( str_has_value( name ) ) {
+ str_prepend( name, "|" );
+ str_prepend( name, xml_value_cstr( node ) );
+ }
+ else str_strcat( name, xml_value( node ) );
+ } else if ( xml_tag_matches( node, "ForeName" ) ||
+ xml_tag_matches( node, "FirstName" ) ) {
+ p = xml_value_cstr( node );
+ while ( p && *p ) {
+ if ( str_has_value( name ) ) str_addchar( name, '|' );
+ while ( *p==' ' ) p++;
+ while ( *p && *p!=' ' ) str_addchar( name, *p++ );
+ }
+ } else if ( xml_tag_matches( node, "Initials" ) && !strchr( name->data, '|' )) {
+ p = xml_value_cstr( node );
+ while ( p && *p ) {
+ if ( str_has_value( name ) ) str_addchar( name, '|' );
+ if ( !is_ws(*p) ) str_addchar( name, *p++ );
+ }
+ }
+ if ( node->next ) medin_author( node->next, name );
+ return BIBL_OK;
+}
+
+static int
+medin_corpauthor( xml *node, str *name )
+{
+ if ( xml_tag_matches( node, "CollectiveName" ) ) {
+ str_strcpy( name, xml_value( node ) );
+ } else if ( node->next ) medin_corpauthor( node->next, name );
+ return BIBL_OK;
+}
+
+static int
+medin_authorlist( xml *node, fields *info )
+{
+ int fstatus, status;
+ str name;
+ char *tag;
+ str_init( &name );
+ node = node->down;
+ while ( node ) {
+ if ( xml_tag_matches( node, "Author" ) && node->down ) {
+ status = medin_author( node->down, &name );
+ tag = "AUTHOR";
+ if ( str_is_empty( &name ) ) {
+ status = medin_corpauthor( node->down, &name );
+ tag = "AUTHOR:CORP";
+ }
+ if ( str_memerr( &name ) || status!=BIBL_OK ) return BIBL_ERR_MEMERR;
+ if ( str_has_value( &name ) ) {
+ fstatus = fields_add(info,tag,name.data,0);
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ str_empty( &name );
+ }
+ node = node->next;
+ }
+ str_free( &name );
+ return BIBL_OK;
+}
+
+/* <PublicationTypeList>
+ * <PublicationType>Journal Article</PublicationType>
+ * </PublicationTypeList>
+ */
+
+/* <MedlineJournalInfo>
+ * <Country>United States</Country>
+ * <MedlineTA>Proc Natl Acad Sci U S A</MedlineTA>
+ * <NlmUniqueID>7507876</NlmUniqueID>
+ * </MedlineJournalInfo>
+ */
+
+static int
+medin_journal2( xml *node, fields *info )
+{
+ int fstatus, status = BIBL_OK;
+ if ( xml_tag_matches_has_value( node, "MedlineTA" ) && fields_find( info, "TITLE", LEVEL_HOST )==FIELDS_NOTFOUND ) {
+ fstatus = fields_add( info, "TITLE", xml_value_cstr( node ), 1 );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ if ( node->down ) {
+ status = medin_journal2( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) status = medin_journal2( node->next, info );
+ return status;
+}
+
+/*
+<MeshHeadingList>
+<MeshHeading>
+<DescriptorName MajorTopicYN="N">Biophysics</DescriptorName>
+</MeshHeading>
+<MeshHeading>
+<DescriptorName MajorTopicYN="N">Crystallography, X-Ray</DescriptorName>
+</MeshHeading>
+</MeshHeadingList>
+*/
+static int
+medin_meshheading( xml *node, fields *info )
+{
+ int fstatus, status = BIBL_OK;
+ if ( xml_tag_matches_has_value( node, "DescriptorName" ) ) {
+ fstatus = fields_add( info, "KEYWORD", xml_value_cstr( node ), 0 );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ if ( node->next ) status = medin_meshheading( node->next, info );
+ return status;
+}
+
+static int
+medin_meshheadinglist( xml *node, fields *info )
+{
+ int status = BIBL_OK;
+ if ( xml_tag_matches( node, "MeshHeading" ) && node->down ) {
+ status = medin_meshheading( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) status = medin_meshheadinglist( node->next, info );
+ return status;
+}
+
+/* <PubmedData>
+ * ....
+ * <ArticleIdList>
+ * <ArticleId IdType="pubmed">14523232</ArticleId>
+ * <ArticleId IdType="doi">10.1073/pnas.2133463100</ArticleId>
+ * <ArticleId IdType="pii">2133463100</ArticleId>
+ * <ArticleId IdType="pmc">PMC4833866</ArticleId>
+ * </ArticleIdList>
+ * </PubmedData>
+ *
+ * I think "pii" is "Publisher Item Identifier"
+ */
+static int
+medin_pubmeddata( xml *node, fields *info )
+{
+ xml_convert c[] = {
+ { "ArticleId", "IdType", "doi", "DOI", 0 },
+ { "ArticleId", "IdType", "pubmed", "PMID", 0 },
+ { "ArticleId", "IdType", "medline", "MEDLINE", 0 },
+ { "ArticleId", "IdType", "pmc", "PMC", 0 },
+ { "ArticleId", "IdType", "pii", "PII", 0 },
+ };
+ int nc = sizeof( c ) / sizeof( c[0] ), found, status;
+ status = medin_doconvert( node, info, c, nc, &found );
+ if ( status!=BIBL_OK ) return status;
+ if ( node->next ) {
+ status = medin_pubmeddata( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->down ) {
+ status = medin_pubmeddata( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ return BIBL_OK;
+}
+
+static int
+medin_article( xml *node, fields *info )
+{
+ int fstatus, status = BIBL_OK;
+ if ( xml_tag_matches( node, "Journal" ) )
+ status = medin_journal1( node, info );
+ else if ( xml_tag_matches( node, "ArticleTitle" ) )
+ status = medin_articletitle( node, info );
+ else if ( xml_tag_matches( node, "Pagination" ) && node->down )
+ status = medin_pagination( node->down, info );
+ else if ( xml_tag_matches( node, "Abstract" ) && node->down )
+ status = medin_abstract( node->down, info );
+ else if ( xml_tag_matches( node, "AuthorList" ) )
+ status = medin_authorlist( node, info );
+ else if ( xml_tag_matches( node, "Language" ) )
+ status = medin_language( node, info, 0 );
+ else if ( xml_tag_matches( node, "Affiliation" ) ) {
+ fstatus = fields_add( info, "ADDRESS", xml_value_cstr( node ), 0 );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+ }
+ if ( status!=BIBL_OK ) return status;
+ if ( node->next ) status = medin_article( node->next, info );
+ return status;
+}
+
+static int
+medin_medlinecitation( xml *node, fields *info )
+{
+ int fstatus, status = BIBL_OK;
+ if ( xml_tag_matches_has_value( node, "PMID" ) ) {
+ fstatus = fields_add( info, "PMID", xml_value_cstr( node ), 0 );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ if ( node->down ) {
+ if ( xml_tag_matches( node, "Article" ) ) {
+ status = medin_article( node->down, info );
+ } else if ( xml_tag_matches( node, "MedlineJournalInfo" ) ) {
+ status = medin_journal2( node->down, info );
+ } else if ( xml_tag_matches( node, "MeshHeadingList" ) )
+ status = medin_meshheadinglist( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) status = medin_medlinecitation( node->next, info );
+ return status;
+}
+
+static int
+medin_pubmedarticle( xml *node, fields *info )
+{
+ int status = BIBL_OK;
+ if ( node->down ) {
+ if ( xml_tag_matches( node, "MedlineCitation" ) )
+ status = medin_medlinecitation( node->down, info );
+ else if ( xml_tag_matches( node, "PubmedData" ) )
+ status = medin_pubmeddata( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) status = medin_pubmedarticle( node->next, info );
+ return status;
+}
+
+static int
+medin_assembleref( xml *node, fields *info )
+{
+ int status = BIBL_OK;
+ if ( node->down ) {
+ if ( xml_tag_matches( node, "PubmedArticle" ) )
+ status = medin_pubmedarticle( node->down, info );
+ else if ( xml_tag_matches( node, "MedlineCitation" ) )
+ status = medin_medlinecitation( node->down, info );
+ else
+ status = medin_assembleref( node->down, info );
+ }
+ if ( status!=BIBL_OK ) return status;
+
+ if ( node->next ) {
+ status = medin_assembleref( node->next, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+
+ /* assume everything is a journal article */
+ if ( fields_num( info ) ) {
+ status = fields_add( info, "RESOURCE", "text", 0 );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ status = fields_add( info, "ISSUANCE", "continuing", 1 );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ status = fields_add( info, "GENRE:MARC", "periodical", 1 );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ status = fields_add( info, "GENRE:BIBUTILS", "academic journal", 1 );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ status = BIBL_OK;
+ }
+
+ return status;
+}
+
+static int
+medin_processf( fields *medin, const char *data, const char *filename, long nref, param *p )
+{
+ int status;
+ xml top;
+
+ xml_init( &top );
+ xml_parse( data, &top );
+ status = medin_assembleref( &top, medin );
+ xml_free( &top );
+
+ if ( status==BIBL_OK ) return 1;
+ return 0;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/modsin.c b/support/texlab/crates/bibutils_sys/src/modsin.c
new file mode 100644
index 0000000000..5280a6e2e8
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/modsin.c
@@ -0,0 +1,1139 @@
+/*
+ * modsin.c
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include "is_ws.h"
+#include "str.h"
+#include "str_conv.h"
+#include "xml.h"
+#include "xml_encoding.h"
+#include "fields.h"
+#include "name.h"
+#include "reftypes.h"
+#include "modstypes.h"
+#include "bu_auth.h"
+#include "marc_auth.h"
+#include "url.h"
+#include "iso639_1.h"
+#include "iso639_2.h"
+#include "iso639_3.h"
+#include "bibutils.h"
+#include "bibformats.h"
+#include "msvc_fix.h"
+
+static int modsin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset );
+static int modsin_processf( fields *medin, const char *data, const char *filename, long nref, param *p );
+
+/*****************************************************
+ PUBLIC: void modsin_initparams()
+*****************************************************/
+int
+modsin_initparams( param *pm, const char *progname )
+{
+
+ pm->readformat = BIBL_MODSIN;
+ pm->format_opts = 0;
+ pm->charsetin = BIBL_CHARSET_UNICODE;
+ pm->charsetin_src = BIBL_SRC_DEFAULT;
+ pm->latexin = 0;
+ pm->utf8in = 1;
+ pm->xmlin = 1;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->singlerefperfile = 0;
+ pm->output_raw = BIBL_RAW_WITHMAKEREFID |
+ BIBL_RAW_WITHCHARCONVERT;
+
+ pm->readf = modsin_readf;
+ pm->processf = modsin_processf;
+ pm->cleanf = NULL;
+ pm->typef = NULL;
+ pm->convertf = NULL;
+ pm->all = NULL;
+ pm->nall = 0;
+
+ slist_init( &(pm->asis) );
+ slist_init( &(pm->corps) );
+
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int modsin_processf()
+*****************************************************/
+
+static char modsns[]="mods";
+
+static int
+modsin_detailr( xml *node, str *value )
+{
+ int status = BIBL_OK;
+ if ( xml_has_value( node ) ) {
+ if ( value->len ) str_addchar( value, ' ' );
+ str_strcat( value, xml_value( node ) );
+ if ( str_memerr( value ) ) return BIBL_ERR_MEMERR;
+ }
+ if ( node->down ) {
+ status = modsin_detailr( node->down, value );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next )
+ status = modsin_detailr( node->next, value );
+ return status;
+}
+
+static int
+modsin_detail( xml *node, fields *info, int level )
+{
+ str type, value, *tp;
+ int fstatus, status = BIBL_OK;
+ if ( node->down ) {
+ strs_init( &type, &value, NULL );
+ tp = xml_attribute( node, "type" );
+ if ( tp ) {
+ str_strcpy( &type, tp );
+ str_toupper( &type );
+ if ( str_memerr( &type ) ) goto out;
+ }
+ status = modsin_detailr( node->down, &value );
+ if ( status!=BIBL_OK ) goto out;
+ if ( type.data && !strcasecmp( type.data, "PAGE" ) ) {
+ fstatus = fields_add( info, "PAGES:START", value.data, level );
+ } else {
+ fstatus = fields_add( info, type.data, value.data, level );
+ }
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+out:
+ strs_free( &type, &value, NULL );
+ }
+ return status;
+}
+
+static int
+modsin_date( xml *node, fields *info, int level, int part )
+{
+ int fstatus, status = BIBL_OK;
+ const char *tag, *p;
+ str s;
+
+ str_init( &s );
+
+ p = xml_value_cstr( node );
+
+ if ( p ) {
+
+ p = str_cpytodelim( &s, skip_ws( p ), "-", 1 );
+ if ( str_memerr( &s ) ) { status = BIBL_ERR_MEMERR; goto out; }
+ if ( str_has_value( &s ) ) {
+ tag = ( part ) ? "PARTDATE:YEAR" : "DATE:YEAR";
+ fstatus = fields_add( info, tag, str_cstr( &s ), level );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+ }
+
+ p = str_cpytodelim( &s, skip_ws( p ), "-", 1 );
+ if ( str_memerr( &s ) ) { status = BIBL_ERR_MEMERR; goto out; }
+ if ( str_has_value( &s ) ) {
+ tag = ( part ) ? "PARTDATE:MONTH" : "DATE:MONTH";
+ fstatus = fields_add( info, tag, str_cstr( &s ), level );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+ }
+
+ (void) str_cpytodelim( &s, skip_ws( p ), "", 0 );
+ if ( str_memerr( &s ) ) { status = BIBL_ERR_MEMERR; goto out; }
+ if ( str_has_value( &s ) ) {
+ tag = ( part ) ? "PARTDATE:DAY" : "DATE:DAY";
+ fstatus = fields_add( info, tag, str_cstr( &s ), level );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+ }
+
+ }
+
+out:
+ str_free( &s );
+ return status;
+}
+
+static int
+modsin_pager( xml *node, str *sp, str *ep, str *tp, str *lp )
+{
+ int status = BIBL_OK;
+ if ( xml_tag_matches_has_value( node, "start" ) ) {
+ str_strcpy( sp, xml_value( node ) );
+ if ( str_memerr( sp ) ) return BIBL_ERR_MEMERR;
+ } else if ( xml_tag_matches_has_value( node, "end" ) ) {
+ str_strcpy( ep, xml_value( node ) );
+ if ( str_memerr( ep ) ) return BIBL_ERR_MEMERR;
+ } else if ( xml_tag_matches_has_value( node, "total" ) ) {
+ str_strcpy( tp, xml_value( node ) );
+ if ( str_memerr( tp ) ) return BIBL_ERR_MEMERR;
+ } else if ( xml_tag_matches_has_value( node, "list" ) ) {
+ str_strcpy( lp, xml_value( node ) );
+ if ( str_memerr( lp ) ) return BIBL_ERR_MEMERR;
+ }
+ if ( node->down ) {
+ status = modsin_pager( node->down, sp, ep, tp, lp );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next )
+ status = modsin_pager( node->next, sp, ep, tp, lp );
+ return status;
+}
+
+static int
+modsin_page( xml *node, fields *info, int level )
+{
+ int fstatus, status = BIBL_OK;
+ str sp, ep, tp, lp;
+ xml *dnode = node->down;
+
+ if ( !dnode ) return BIBL_OK;
+
+ strs_init( &sp, &ep, &tp, &lp, NULL );
+
+ status = modsin_pager( dnode, &sp, &ep, &tp, &lp );
+ if ( status!=BIBL_OK ) goto out;
+
+ if ( str_has_value( &sp ) || str_has_value( &ep ) ) {
+ if ( str_has_value( &sp ) ) {
+ fstatus = fields_add( info, "PAGES:START", str_cstr( &sp ), level );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+ }
+ if ( str_has_value( &ep ) ) {
+ fstatus = fields_add( info, "PAGES:STOP", str_cstr( &ep ), level );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+ }
+ } else if ( str_has_value( &lp ) ) {
+ fstatus = fields_add( info, "PAGES:START", str_cstr( &lp ), level );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+ }
+ if ( str_has_value( &tp ) ) {
+ fstatus = fields_add( info, "PAGES:TOTAL", str_cstr( &tp ), level );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+ }
+out:
+ strs_free( &sp, &ep, &tp, &lp, NULL );
+ return status;
+}
+
+static int
+modsin_titler( xml *node, str *title, str *subtitle )
+{
+ int status = BIBL_OK;
+ if ( xml_tag_matches_has_value( node, "title" ) ) {
+ if ( str_has_value( title ) ) str_strcatc( title, " : " );
+ str_strcat( title, xml_value( node ) );
+ if ( str_memerr( title ) ) return BIBL_ERR_MEMERR;
+ } else if ( xml_tag_matches_has_value( node, "subTitle" ) ) {
+ str_strcat( subtitle, xml_value( node ) );
+ if ( str_memerr( subtitle ) ) return BIBL_ERR_MEMERR;
+ }
+ if ( node->down ) {
+ status = modsin_titler( node->down, title, subtitle );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next )
+ status = modsin_titler( node->next, title, subtitle );
+ return status;
+}
+
+static int
+modsin_title( xml *node, fields *info, int level )
+{
+ char *titletag[2][2] = {
+ { "TITLE", "SHORTTITLE" },
+ { "SUBTITLE", "SHORTSUBTITLE" },
+ };
+ int fstatus, status = BIBL_OK;
+ str title, subtitle;
+ xml *dnode;
+ int abbr;
+
+ dnode = node->down;
+ if ( !dnode ) return status;
+
+ strs_init( &title, &subtitle, NULL );
+ abbr = xml_tag_has_attribute( node, "titleInfo", "type", "abbreviated" );
+
+ status = modsin_titler( dnode, &title, &subtitle );
+ if ( status!=BIBL_OK ) goto out;
+
+ if ( str_has_value( &title ) ) {
+ fstatus = fields_add( info, titletag[0][abbr], str_cstr( &title ), level );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+ }
+
+ if ( str_has_value( &subtitle ) ) {
+ fstatus = fields_add( info, titletag[1][abbr], str_cstr( &subtitle ), level );
+ if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+ }
+
+out:
+ strs_free( &title, &subtitle, NULL );
+ return status;
+}
+
+/* modsin_marcrole_convert()
+ *
+ * Map MARC-authority roles for people or organizations associated
+ * with a reference to internal roles.
+ *
+ * Take input strings with roles separated by '|' characters, e.g.
+ * "author" or "author|creator" or "edt" or "editor|edt".
+ */
+static int
+modsin_marcrole_convert( str *s, char *suffix, str *out )
+{
+ int i, sstatus, status = BIBL_OK;
+ slist tokens;
+ char *p;
+
+ slist_init( &tokens );
+
+ /* ...default to author on an empty string */
+ if ( str_is_empty( s ) ) {
+ str_strcpyc( out, "AUTHOR" );
+ }
+
+ else {
+ sstatus = slist_tokenize( &tokens, s, "|", 1 );
+ if ( sstatus!=SLIST_OK ) {
+ status = BIBL_ERR_MEMERR;
+ goto done;
+ }
+ /* ...take first match */
+ for ( i=0; i<tokens.n; ++i ) {
+ p = marc_convertrole( slist_cstr( &tokens, i ) );
+ if ( p ) {
+ str_strcpyc( out, p );
+ goto done;
+ }
+ }
+ /* ...otherwise just copy input */
+ str_strcpy( out, slist_str( &tokens, 0 ) );
+ str_toupper( out );
+ }
+
+done:
+ if ( suffix ) str_strcatc( out, suffix );
+ slist_free( &tokens );
+ if ( str_memerr( out ) ) return BIBL_ERR_MEMERR;
+ return status;
+}
+
+static int
+modsin_asis_corp_r( xml *node, str *name, str *role )
+{
+ int status = BIBL_OK;
+ if ( xml_tag_matches_has_value( node, "namePart" ) ) {
+ str_strcpy( name, xml_value( node ) );
+ if ( str_memerr( name ) ) return BIBL_ERR_MEMERR;
+ } else if ( xml_tag_matches_has_value( node, "roleTerm" ) ) {
+ if ( role->len ) str_addchar( role, '|' );
+ str_strcat( role, xml_value( node ) );
+ if ( str_memerr( role ) ) return BIBL_ERR_MEMERR;
+ }
+ if ( node->down ) {
+ status = modsin_asis_corp_r( node->down, name, role );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next )
+ status = modsin_asis_corp_r( node->next, name, role );
+ return status;
+}
+
+static int
+modsin_asis_corp( xml *node, fields *info, int level, char *suffix )
+{
+ int fstatus, status = BIBL_OK;
+ str name, roles, role_out;
+ xml *dnode = node->down;
+ if ( dnode ) {
+ strs_init( &name, &roles, &role_out, NULL );
+ status = modsin_asis_corp_r( dnode, &name, &roles );
+ if ( status!=BIBL_OK ) goto out;
+ status = modsin_marcrole_convert( &roles, suffix, &role_out );
+ if ( status!=BIBL_OK ) goto out;
+ fstatus = fields_add( info, str_cstr( &role_out ), str_cstr( &name ), level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+out:
+ strs_free( &name, &roles, &role_out, NULL );
+ }
+ return status;
+}
+
+static int
+modsin_roler( xml *node, str *roles )
+{
+ if ( xml_has_value( node ) ) {
+ if ( roles->len ) str_addchar( roles, '|' );
+ str_strcat( roles, xml_value( node ) );
+ }
+ if ( str_memerr( roles ) ) return BIBL_ERR_MEMERR;
+ else return BIBL_OK;
+}
+
+static int
+modsin_personr( xml *node, str *familyname, str *givenname, str *suffix )
+{
+ int status = BIBL_OK;
+
+ if ( !xml_has_value( node ) ) return status;
+
+ if ( xml_tag_has_attribute( node, "namePart", "type", "family" ) ) {
+ if ( str_has_value( familyname ) ) str_addchar( familyname, ' ' );
+ str_strcat( familyname, xml_value( node ) );
+ if ( str_memerr( familyname ) ) status = BIBL_ERR_MEMERR;
+ }
+
+ else if ( xml_tag_has_attribute( node, "namePart", "type", "suffix" ) ||
+ xml_tag_has_attribute( node, "namePart", "type", "termsOfAddress" ) ) {
+ if ( str_has_value( suffix ) ) str_addchar( suffix, ' ' );
+ str_strcat( suffix, xml_value( node ) );
+ if ( str_memerr( suffix ) ) status = BIBL_ERR_MEMERR;
+ }
+
+ else if ( xml_tag_has_attribute( node, "namePart", "type", "date" ) ) {
+ /* no nothing */
+ }
+
+ else {
+ if ( str_has_value( givenname ) ) str_addchar( givenname, '|' );
+ str_strcat( givenname, xml_value( node ) );
+ if ( str_memerr( givenname ) ) status = BIBL_ERR_MEMERR;
+ }
+
+ return status;
+}
+
+static int
+modsin_person( xml *node, fields *info, int level )
+{
+ str familyname, givenname, name, suffix, roles, role_out;
+ int fstatus, status = BIBL_OK;
+ xml *dnode, *rnode;
+
+ dnode = node->down;
+ if ( !dnode ) return status;
+
+ strs_init( &name, &familyname, &givenname, &suffix, &roles, &role_out, NULL );
+
+ while ( dnode ) {
+
+ if ( xml_tag_matches( dnode, "namePart" ) ) {
+ status = modsin_personr( dnode, &familyname, &givenname, &suffix );
+ if ( status!=BIBL_OK ) goto out;
+ }
+
+ else if ( xml_tag_matches( dnode, "role" ) ) {
+ rnode = dnode->down;
+ while ( rnode ) {
+ if ( xml_tag_matches( rnode, "roleTerm" ) ) {
+ status = modsin_roler( rnode, &roles );
+ if ( status!=BIBL_OK ) goto out;
+ }
+ rnode = rnode->next;
+ }
+ }
+
+ dnode = dnode->next;
+
+ }
+
+ /*
+ * Handle:
+ * <namePart type='given'>Noah A.</namePart>
+ * <namePart type='family'>Smith</namePart>
+ * without mangling the order of "Noah A."
+ */
+ if ( str_has_value( &familyname ) ) {
+ str_strcpy( &name, &familyname );
+ if ( givenname.len ) {
+ str_addchar( &name, '|' );
+ str_strcat( &name, &givenname );
+ }
+ }
+
+ /*
+ * Handle:
+ * <namePart>Noah A. Smith</namePart>
+ * with name order mangling.
+ */
+ else {
+ if ( str_has_value( &givenname ) )
+ name_parse( &name, &givenname, NULL, NULL );
+ }
+
+ if ( str_has_value( &suffix ) ) {
+ str_strcatc( &name, "||" );
+ str_strcat( &name, &suffix );
+ }
+
+ if ( str_memerr( &name ) ) {
+ status=BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ status = modsin_marcrole_convert( &roles, NULL, &role_out );
+ if ( status!=BIBL_OK ) goto out;
+
+ fstatus = fields_add_can_dup( info, str_cstr( &role_out ), str_cstr( &name ), level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+
+out:
+ strs_free( &name, &familyname, &givenname, &suffix, &roles, &role_out, NULL );
+ return status;
+}
+
+static int
+modsin_placeterm_text( xml *node, fields *info, int level, int school )
+{
+ char address_tag[] = "ADDRESS";
+ char school_tag[] = "SCHOOL";
+ char *tag;
+ int fstatus;
+
+ tag = ( school ) ? school_tag : address_tag;
+
+ fstatus = fields_add( info, tag, xml_value_cstr( node ), level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+
+ return BIBL_OK;
+}
+
+static int
+modsin_placeterm_code( xml *node, fields *info, int level )
+{
+ int fstatus, status = BIBL_OK;
+ str s, *auth;
+
+ str_init( &s );
+
+ auth = xml_attribute( node, "authority" );
+ if ( auth && auth->len ) {
+ str_strcpy( &s, auth );
+ str_addchar( &s, '|' );
+ }
+ str_strcat( &s, xml_value( node ) );
+
+ if ( str_memerr( &s ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ fstatus = fields_add( info, "CODEDADDRESS", str_cstr( &s ), level );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+out:
+ str_free( &s );
+ return status;
+}
+
+static int
+modsin_placeterm( xml *node, fields *info, int level, int school )
+{
+ int status = BIBL_OK;
+ str *type;
+
+ type = xml_attribute( node, "type" );
+ if ( str_has_value( type ) ) {
+ if ( !strcmp( str_cstr( type ), "text" ) )
+ status = modsin_placeterm_text( node, info, level, school );
+ else if ( !strcmp( str_cstr( type ), "code" ) )
+ status = modsin_placeterm_code( node, info, level );
+ }
+
+ return status;
+}
+
+static int
+modsin_placer( xml *node, fields *info, int level, int school )
+{
+ int status = BIBL_OK;
+
+ if ( xml_tag_has_attribute( node, "place", "type", "school" ) ) {
+ school = 1;
+ } else if ( xml_tag_matches( node, "placeTerm" ) ) {
+ status = modsin_placeterm( node, info, level, school );
+ }
+
+ if ( node->down ) {
+ status = modsin_placer( node->down, info, level, school );
+ if ( status!=BIBL_OK ) return status;
+ }
+
+ if ( node->next ) status = modsin_placer( node->next, info, level, school );
+
+ return status;
+}
+
+static int
+modsin_origininfor( xml *node, fields *info, int level, str *pub, str *add, str *addc, str *ed, str *iss )
+{
+ int status = BIBL_OK;
+
+ if ( xml_tag_matches( node, "dateIssued" ) ) {
+ status = modsin_date( node, info, level, 0 );
+ } else if ( xml_tag_matches( node, "place" ) ) {
+ status = modsin_placer( node, info, level, 0 );
+ } else if ( xml_tag_matches_has_value( node, "publisher" ) ) {
+ str_strcat( pub, xml_value( node ) );
+ if ( str_memerr( pub ) ) return BIBL_ERR_MEMERR;
+ } else if ( xml_tag_matches_has_value( node, "edition" ) ) {
+ str_strcat( ed, xml_value( node ) );
+ if( str_memerr( ed ) ) return BIBL_ERR_MEMERR;
+ } else if ( xml_tag_matches_has_value( node, "issuance" ) ) {
+ str_strcat( iss, xml_value( node ) );
+ if ( str_memerr( iss ) ) return BIBL_ERR_MEMERR;
+ }
+ if ( status!=BIBL_OK ) return status;
+
+ if ( node->down ) {
+ status = modsin_origininfor( node->down, info, level, pub, add, addc, ed, iss );
+ if ( status!=BIBL_OK ) return status;
+ }
+
+ if ( node->next )
+ status = modsin_origininfor( node->next, info, level, pub, add, addc, ed, iss );
+
+ return status;
+}
+
+static int
+modsin_origininfo( xml *node, fields *info, int level )
+{
+ str publisher, address, addcode, edition, issuance;
+ int fstatus, status = BIBL_OK;
+ if ( node->down ) {
+ strs_init( &publisher, &address, &addcode, &edition, &issuance, NULL );
+ status = modsin_origininfor( node->down, info, level, &publisher,
+ &address, &addcode, &edition, &issuance );
+ if ( status!=BIBL_OK ) goto out;
+ if ( str_has_value( &publisher ) ) {
+ fstatus = fields_add( info, "PUBLISHER", str_cstr( &publisher ), level );
+ if ( fstatus!=FIELDS_OK ) { status=BIBL_ERR_MEMERR; goto out; }
+ }
+ if ( str_has_value( &address ) ) {
+ fstatus = fields_add( info, "ADDRESS", str_cstr( &address ), level );
+ if ( fstatus!=FIELDS_OK ) { status=BIBL_ERR_MEMERR; goto out; }
+ }
+ if ( str_has_value( &addcode ) ) {
+ fstatus = fields_add( info, "CODEDADDRESS", str_cstr( &addcode ), level );
+ if ( fstatus!=FIELDS_OK ) { status=BIBL_ERR_MEMERR; goto out; }
+ }
+ if ( str_has_value( &edition ) ) {
+ fstatus = fields_add( info, "EDITION", str_cstr( &edition ), level );
+ if ( fstatus!=FIELDS_OK ) { status=BIBL_ERR_MEMERR; goto out; }
+ }
+ if ( str_has_value( &issuance ) ) {
+ fstatus = fields_add( info, "ISSUANCE", str_cstr( &issuance ), level );
+ if ( fstatus!=FIELDS_OK ) { status=BIBL_ERR_MEMERR; goto out; }
+ }
+out:
+ strs_free( &publisher, &address, &addcode, &edition, &issuance, NULL );
+ }
+ return status;
+}
+
+static int
+modsin_subjectr( xml *node, fields *info, int level )
+{
+ int fstatus, status = BIBL_OK;
+ if ( xml_tag_has_attribute( node, "topic", "class", "primary" ) && xml_has_value( node ) ) {
+ fstatus = fields_add( info, "EPRINTCLASS", xml_value_cstr( node ), level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ else if ( xml_tag_matches_has_value( node, "topic" ) ) {
+ fstatus = fields_add( info, "KEYWORD", xml_value_cstr( node ), level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ else if ( xml_tag_matches_has_value( node, "geographic" ) ) {
+ fstatus = fields_add( info, "KEYWORD", xml_value_cstr( node ), level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ if ( node->down ) {
+ status = modsin_subjectr( node->down, info, level );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) status = modsin_subjectr( node->next, info, level );
+ return status;
+}
+
+static int
+modsin_subject( xml *node, fields *info, int level )
+{
+ int status = BIBL_OK;
+ if ( node->down ) status = modsin_subjectr( node->down, info, level );
+ return status;
+}
+
+static int
+modsin_id1( xml *node, fields *info, int level )
+{
+ int fstatus;
+ str *ns;
+ ns = xml_attribute( node, "ID" );
+ if ( str_has_value( ns ) ) {
+ fstatus = fields_add( info, "REFNUM", str_cstr( ns ), level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ return BIBL_OK;
+}
+
+/* modsin_genre()
+ *
+ * MARC authority terms tagged with "GENRE:MARC"
+ * bibutils authority terms tagged with "GENRE:BIBUTILS"
+ * unknown terms tagged with "GENRE:UNKNOWN"
+ */
+static int
+modsin_genre( xml *node, fields *info, int level )
+{
+ int fstatus;
+ char *d;
+
+ if ( !xml_has_value( node ) ) return BIBL_OK;
+
+ d = xml_value_cstr( node );
+
+ /* ...handle special genres in KTH DivA */
+ if ( !strcmp( d, "conferenceProceedings" ) || !strcmp( d, "conferencePaper" ) )
+ d = "conference publication";
+ else if ( !strcmp( d, "artisticOutput" ) || !strcmp( d, "other" ) )
+ d = "miscellaneous";
+ else if ( !strcmp( d, "studentThesis" ) )
+ d = "thesis";
+ else if ( !strcmp( d, "monographDoctoralThesis" ) )
+ d = "Ph.D. thesis";
+ else if ( !strcmp( d, "comprehensiveDoctoralThesis" ) )
+ d = "Ph.D. thesis";
+ else if ( !strcmp( d, "monographLicentiateThesis" ) )
+ d = "Licentiate thesis";
+ else if ( !strcmp( d, "comprehensiveLicentiateThesis" ) )
+ d = "Licentiate thesis";
+
+ if ( is_marc_genre( d ) )
+ fstatus = fields_add( info, "GENRE:MARC", d, level );
+ else if ( is_bu_genre( d ) )
+ fstatus = fields_add( info, "GENRE:BIBUTILS", d, level );
+ else
+ fstatus = fields_add( info, "GENRE:UNKNOWN", d, level );
+
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ else return BIBL_OK;
+}
+
+/* in MODS version 3.5
+ * <languageTerm type="text">....</languageTerm>
+ * <languageTerm type="code" authority="xxx">...</languageTerm>
+ * xxx = rfc3066
+ * xxx = iso639-2b
+ * xxx = iso639-3
+ * xxx = rfc4646
+ * xxx = rfc5646
+ */
+static int
+modsin_languager( xml *node, fields *info, int level )
+{
+ int fstatus, status = BIBL_OK;
+ char *d = NULL;
+ if ( xml_tag_matches( node, "languageTerm" ) ) {
+ if ( xml_has_value( node ) ) {
+ if ( xml_has_attribute( node, "type", "code" ) ) {
+ if ( xml_has_attribute( node, "authority", "iso639-1" ) )
+ d = iso639_1_from_code( xml_value_cstr( node ) );
+ else if ( xml_has_attribute( node, "authority", "iso639-2b" ) )
+ d = iso639_2_from_code( xml_value_cstr( node ) );
+ else if ( xml_has_attribute( node, "authority", "iso639-3" ))
+ d = iso639_3_from_code( xml_value_cstr( node ) );
+ }
+ if ( !d ) d = xml_value_cstr( node );
+ fstatus = fields_add( info, "LANGUAGE", d, level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ }
+ if ( node->next ) status = modsin_languager( node->next, info, level );
+ return status;
+}
+
+static int
+modsin_language( xml *node, fields *info, int level )
+{
+ int fstatus, status = BIBL_OK;
+ /* Old versions of MODS had <language>English</language> */
+ if ( xml_has_value( node ) ) {
+ fstatus = fields_add( info, "LANGUAGE", xml_value_cstr( node ), level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+
+ /* New versions of MODS have <language><languageTerm>English</languageTerm></language> */
+ if ( node->down ) status = modsin_languager( node->down, info, level );
+ return status;
+}
+
+static int
+modsin_simple( xml *node, fields *info, char *tag, int level )
+{
+ int fstatus;
+ if ( xml_has_value( node ) ) {
+ fstatus = fields_add( info, tag, xml_value_cstr( node ), level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ return BIBL_OK;
+}
+
+static int
+modsin_locationr( xml *node, fields *info, int level )
+{
+ int fstatus, status = BIBL_OK;
+ char *url = "URL";
+ char *fileattach = "FILEATTACH";
+ char *tag=NULL;
+
+ if ( xml_tag_matches( node, "url" ) ) {
+ if ( xml_has_attribute( node, "access", "raw object" ) )
+ tag = fileattach;
+ else
+ tag = url;
+ }
+ else if ( xml_tag_matches( node, "physicalLocation" ) ) {
+ if ( xml_has_attribute( node, "type", "school" ) )
+ tag = "SCHOOL";
+ else
+ tag = "LOCATION";
+ }
+
+ if ( tag == url ) {
+ status = urls_split_and_add( xml_value_cstr( node ), info, level );
+ if ( status!=BIBL_OK ) return status;
+ }
+ else if ( tag ) {
+ fstatus = fields_add( info, tag, xml_value_cstr( node ), level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+
+ if ( node->down ) {
+ status = modsin_locationr( node->down, info, level );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) status = modsin_locationr( node->next, info, level );
+ return status;
+}
+
+static int
+modsin_location( xml *node, fields *info, int level )
+{
+ int status = BIBL_OK;
+ if ( node->down ) status = modsin_locationr( node->down, info, level );
+ return status;
+}
+
+static int
+modsin_descriptionr( xml *node, str *s )
+{
+ int status = BIBL_OK;
+ if ( xml_tag_matches( node, "extent" ) ||
+ xml_tag_matches( node, "note" ) ) {
+ str_strcpy( s, &(node->value) );
+ if ( str_memerr( s ) ) return BIBL_ERR_MEMERR;
+ }
+ if ( node->down ) {
+ status = modsin_descriptionr( node->down, s );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) status = modsin_descriptionr( node->next, s );
+ return status;
+}
+
+static int
+modsin_description( xml *node, fields *info, int level )
+{
+ int fstatus, status = BIBL_OK;
+ str s;
+ str_init( &s );
+ if ( node->down ) {
+ status = modsin_descriptionr( node->down, &s );
+ if ( status!=BIBL_OK ) goto out;
+ } else {
+ if ( node->value.len > 0 )
+ str_strcpy( &s, &(node->value) );
+ if ( str_memerr( &s ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+ if ( str_has_value( &s ) ) {
+ fstatus = fields_add( info, "DESCRIPTION", str_cstr( &s ), level );
+ if ( fstatus!=FIELDS_OK ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+out:
+ str_free( &s );
+ return status;
+}
+
+static int
+modsin_partr( xml *node, fields *info, int level )
+{
+ int status = BIBL_OK;
+ if ( xml_tag_matches( node, "detail" ) )
+ status = modsin_detail( node, info, level );
+ else if ( xml_tag_has_attribute( node, "extent", "unit", "page" ) )
+ status = modsin_page( node, info, level );
+ else if ( xml_tag_has_attribute( node, "extent", "unit", "pages" ) )
+ status = modsin_page( node, info, level );
+ else if ( xml_tag_matches( node, "date" ) )
+ status = modsin_date( node, info, level, 1 );
+ if ( status!=BIBL_OK ) return status;
+ if ( node->next ) status = modsin_partr( node->next, info, level );
+ return status;
+}
+
+static int
+modsin_part( xml *node, fields *info, int level )
+{
+ if ( node->down ) return modsin_partr( node->down, info, level );
+ return BIBL_OK;
+}
+
+/* <classification authority="lcc">Q3 .A65</classification> */
+static int
+modsin_classification( xml *node, fields *info, int level )
+{
+ int fstatus, status = BIBL_OK;
+ char *tag;
+ if ( xml_has_value( node ) ) {
+ if ( xml_tag_has_attribute( node, "classification", "authority", "lcc" ) )
+ tag = "LCC";
+ else
+ tag = "CLASSIFICATION";
+ fstatus = fields_add( info, tag, xml_value_cstr( node ), level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ if ( node->down ) status = modsin_classification( node->down, info, level );
+ return status;
+}
+
+static int
+modsin_recordinfo( xml *node, fields *info, int level )
+{
+ int fstatus;
+ xml *curr;
+
+ /* extract recordIdentifier */
+ curr = node;
+ while ( curr ) {
+ if ( xml_tag_matches_has_value( curr, "recordIdentifier" ) ) {
+ fstatus = fields_add( info, "REFNUM", xml_value_cstr( curr ), level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ curr = curr->next;
+ }
+ return BIBL_OK;
+}
+
+static int
+modsin_identifier( xml *node, fields *info, int level )
+{
+ convert ids[] = {
+ { "citekey", "REFNUM", 0, 0 },
+ { "issn", "ISSN", 0, 0 },
+ { "coden", "CODEN", 0, 0 },
+ { "isbn", "ISBN", 0, 0 },
+ { "doi", "DOI", 0, 0 },
+ { "url", "URL", 0, 0 },
+ { "uri", "URL", 0, 0 },
+ { "pmid", "PMID", 0, 0 },
+ { "pubmed", "PMID", 0, 0 },
+ { "medline", "MEDLINE", 0, 0 },
+ { "pmc", "PMC", 0, 0 },
+ { "arXiv", "ARXIV", 0, 0 },
+ { "MRnumber", "MRNUMBER", 0, 0 },
+ { "pii", "PII", 0, 0 },
+ { "isi", "ISIREFNUM", 0, 0 },
+ { "serial number", "SERIALNUMBER",0, 0 },
+ { "accessnum", "ACCESSNUM", 0, 0 },
+ { "jstor", "JSTOR", 0, 0 },
+ };
+ int i, fstatus, n = sizeof( ids ) / sizeof( ids[0] );
+ if ( node->value.len==0 ) return BIBL_OK;
+ for ( i=0; i<n; ++i ) {
+ if ( xml_tag_has_attribute( node, "identifier", "type", ids[i].mods ) ) {
+ fstatus = fields_add( info, ids[i].internal, xml_value_cstr( node ), level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ }
+ return BIBL_OK;
+}
+
+static int
+modsin_mods( xml *node, fields *info, int level )
+{
+ convert simple[] = {
+ { "note", "NOTES", 0, 0 },
+ { "abstract", "ABSTRACT", 0, 0 },
+ { "bibtex-annote", "ANNOTE", 0, 0 },
+ { "typeOfResource", "RESOURCE", 0, 0 },
+ { "tableOfContents", "CONTENTS", 0, 0 },
+ };
+ int nsimple = sizeof( simple ) / sizeof( simple[0] );
+ int i, found = 0, status = BIBL_OK;
+
+ for ( i=0; i<nsimple && found==0; i++ ) {
+ if ( xml_tag_matches( node, simple[i].mods ) ) {
+ status = modsin_simple( node, info, simple[i].internal, level );
+ if ( status!=BIBL_OK ) return status;
+ found = 1;
+ }
+ }
+
+ if ( !found ) {
+ if ( xml_tag_matches( node, "titleInfo" ) )
+ modsin_title( node, info, level );
+ else if ( xml_tag_has_attribute( node, "name", "type", "personal" ) )
+ status = modsin_person( node, info, level );
+ else if ( xml_tag_has_attribute( node, "name", "type", "corporate" ) )
+ status = modsin_asis_corp( node, info, level, ":CORP" );
+ else if ( xml_tag_matches( node, "name" ) )
+ status = modsin_asis_corp( node, info, level, ":ASIS" );
+ else if ( xml_tag_matches( node, "recordInfo" ) && node->down )
+ status = modsin_recordinfo( node->down, info, level );
+ else if ( xml_tag_matches( node, "part" ) )
+ modsin_part( node, info, level );
+ else if ( xml_tag_matches( node, "identifier" ) )
+ status = modsin_identifier( node, info, level );
+ else if ( xml_tag_matches( node, "originInfo" ) )
+ status = modsin_origininfo( node, info, level );
+ else if ( xml_tag_matches( node, "language" ) )
+ status = modsin_language( node, info, level );
+ else if ( xml_tag_matches( node, "genre" ) )
+ status = modsin_genre( node, info, level );
+ else if ( xml_tag_matches( node, "date" ) )
+ status = modsin_date( node, info, level, 0 );
+ else if ( xml_tag_matches( node, "subject" ) )
+ status = modsin_subject( node, info, level );
+ else if ( xml_tag_matches( node, "classification" ) )
+ status = modsin_classification( node, info, level );
+ else if ( xml_tag_matches( node, "location" ) )
+ status = modsin_location( node, info, level );
+ else if ( xml_tag_matches( node, "physicalDescription" ) )
+ status = modsin_description( node, info, level );
+ else if ( xml_tag_has_attribute( node, "relatedItem", "type", "host" ) ||
+ xml_tag_has_attribute( node, "relatedItem", "type", "series" ) ) {
+ if ( node->down ) status = modsin_mods( node->down, info, level+1 );
+ }
+ else if ( xml_tag_has_attribute( node, "relatedItem", "type", "original" ) ) {
+ if ( node->down ) status = modsin_mods( node->down, info, LEVEL_ORIG );
+ }
+
+ if ( status!=BIBL_OK ) return status;
+ }
+
+ if ( node->next ) status = modsin_mods( node->next, info, level );
+
+ return status;
+}
+
+static int
+modsin_assembleref( xml *node, fields *info )
+{
+ int status = BIBL_OK;
+ if ( xml_tag_matches( node, "mods" ) ) {
+ status = modsin_id1( node, info, 0 );
+ if ( status!=BIBL_OK ) return status;
+ if ( node->down ) {
+ status = modsin_mods( node->down, info, 0 );
+ if ( status!=BIBL_OK ) return status;
+ }
+ } else if ( node->down ) {
+ status = modsin_assembleref( node->down, info );
+ if ( status!=BIBL_OK ) return status;
+ }
+ if ( node->next ) status = modsin_assembleref( node->next, info );
+ return status;
+}
+
+static int
+modsin_processf( fields *modsin, const char *data, const char *filename, long nref, param *p )
+{
+ int status;
+ xml top;
+
+ xml_init( &top );
+ xml_parse( data, &top );
+ status = modsin_assembleref( &top, modsin );
+ xml_free( &top );
+
+ if ( status==BIBL_OK ) return 1;
+ else return 0;
+}
+
+/*****************************************************
+ PUBLIC: int modsin_readf()
+*****************************************************/
+
+static char *
+modsin_startptr( char *p )
+{
+ char *startptr;
+ startptr = xml_find_start( p, "mods:mods" );
+ if ( startptr ) {
+ /* set namespace if found */
+ xml_pns = modsns;
+ } else {
+ startptr = xml_find_start( p, "mods" );
+ if ( startptr ) xml_pns = NULL;
+ }
+ return startptr;
+}
+
+static char *
+modsin_endptr( char *p )
+{
+ return xml_find_end( p, "mods" );
+}
+
+static int
+modsin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset )
+{
+ str tmp;
+ int m, file_charset = CHARSET_UNKNOWN;
+ char *startptr = NULL, *endptr = NULL;
+
+ str_init( &tmp );
+
+ do {
+ if ( line->data ) str_strcat( &tmp, line );
+ if ( str_has_value( &tmp ) ) {
+ m = xml_getencoding( &tmp );
+ if ( m!=CHARSET_UNKNOWN ) file_charset = m;
+ startptr = modsin_startptr( tmp.data );
+ endptr = modsin_endptr( tmp.data );
+ } else startptr = endptr = NULL;
+ str_empty( line );
+ if ( startptr && endptr ) {
+ str_segcpy( reference, startptr, endptr );
+ str_strcpyc( line, endptr );
+ }
+ } while ( !endptr && str_fget( fp, buf, bufsize, bufpos, line ) );
+
+ str_free( &tmp );
+ *fcharset = file_charset;
+ return ( reference->len > 0 );
+}
+
diff --git a/support/texlab/crates/bibutils_sys/src/modsout.c b/support/texlab/crates/bibutils_sys/src/modsout.c
new file mode 100644
index 0000000000..7187308c7f
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/modsout.c
@@ -0,0 +1,1177 @@
+/*
+ * modsout.c
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include "is_ws.h"
+#include "str.h"
+#include "charsets.h"
+#include "str_conv.h"
+#include "fields.h"
+#include "iso639_2.h"
+#include "utf8.h"
+#include "modstypes.h"
+#include "bu_auth.h"
+#include "marc_auth.h"
+#include "bibformats.h"
+#include "msvc_fix.h"
+
+/*****************************************************
+ PUBLIC: int modsout_initparams()
+*****************************************************/
+
+static void modsout_writeheader( FILE *outptr, param *p );
+static void modsout_writefooter( FILE *outptr );
+static int modsout_write( fields *info, FILE *outptr, param *p, unsigned long numrefs );
+
+int
+modsout_initparams( param *pm, const char *progname )
+{
+ pm->writeformat = BIBL_MODSOUT;
+ pm->format_opts = 0;
+ pm->charsetout = BIBL_CHARSET_UNICODE;
+ pm->charsetout_src = BIBL_SRC_DEFAULT;
+ pm->latexout = 0;
+ pm->utf8out = 1;
+ pm->utf8bom = 1;
+ pm->xmlout = BIBL_XMLOUT_TRUE;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->singlerefperfile = 0;
+
+ pm->headerf = modsout_writeheader;
+ pm->footerf = modsout_writefooter;
+ pm->assemblef = NULL;
+ pm->writef = modsout_write;
+
+ if ( !pm->progname ) {
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int modsout_write()
+*****************************************************/
+
+/* output_tag()
+ *
+ * mode = TAG_OPEN, "<tag>"
+ * mode = TAG_CLOSE, "</tag>"
+ * mode = TAG_OPENCLOSE, "<tag>data</tag>"
+ * mode = TAG_SELFCLOSE, "<tag/>"
+ *
+ * newline = TAG_NONEWLINE, "<tag>"
+ * newline = TAG_NEWLINE, "<tag>\n"
+ *
+ */
+#define TAG_OPEN (0)
+#define TAG_CLOSE (1)
+#define TAG_OPENCLOSE (2)
+#define TAG_SELFCLOSE (3)
+
+#define TAG_NONEWLINE (0)
+#define TAG_NEWLINE (1)
+
+static void
+output_tag_core( FILE *outptr, int nindents, char *tag, char *data, unsigned char mode, unsigned char newline, va_list *attrs )
+{
+ char *attr, *val;
+ int i;
+
+ for ( i=0; i<nindents; ++i ) fprintf( outptr, " " );
+
+ if ( mode!=TAG_CLOSE )
+ fprintf( outptr, "<" );
+ else
+ fprintf( outptr, "</" );
+
+ fprintf( outptr, "%s", tag );
+
+ do {
+ attr = va_arg( *attrs, char * );
+ if ( attr ) val = va_arg( *attrs, char * );
+ if ( attr && val )
+ fprintf( outptr, " %s=\"%s\"", attr, val );
+ } while ( attr && val );
+
+ if ( mode!=TAG_SELFCLOSE )
+ fprintf( outptr, ">" );
+ else
+ fprintf( outptr, "/>" );
+
+ if ( mode==TAG_OPENCLOSE ) {
+ fprintf( outptr, "%s</%s>", data, tag );
+ }
+
+ if ( newline==TAG_NEWLINE )
+ fprintf( outptr, "\n" );
+}
+
+/* output_tag()
+ *
+ * output XML tag
+ *
+ * mode = [ TAG_OPEN | TAG_CLOSE | TAG_OPENCLOSE | TAG_SELFCLOSE ]
+ * newline = [ TAG_NEWLINE | TAG_NONEWLINE ]
+ *
+ * for mode TAG_OPENCLOSE, ensure that value is non-NULL, as string pointed to by value
+ * will be output in the tag
+ */
+static void
+output_tag( FILE *outptr, int nindents, char *tag, char *value, unsigned char mode, unsigned char newline, ... )
+{
+ va_list attrs;
+
+ va_start( attrs, newline );
+ output_tag_core( outptr, nindents, tag, value, mode, newline, &attrs );
+ va_end( attrs );
+}
+
+/* output_fil()
+ *
+ * output XML tag, but lookup data in fields struct
+ *
+ * mode = [ TAG_OPEN | TAG_CLOSE | TAG_OPENCLOSE | TAG_SELFCLOSE ]
+ * newline = [ TAG_NEWLINE | TAG_NONEWLINE ]
+ *
+ * value looked up in fields will only be used in mode TAG_OPENCLOSE
+ */
+static void
+output_fil( FILE *outptr, int nindents, char *tag, fields *f, int n, unsigned char mode, unsigned char newline, ... )
+{
+ va_list attrs;
+ char *value;
+
+ if ( n!=-1 ) {
+ value = (char *) fields_value( f, n, FIELDS_CHRP );
+ va_start( attrs, newline );
+ output_tag_core( outptr, nindents, tag, value, mode, newline, &attrs );
+ va_end( attrs );
+ }
+}
+
+static inline int
+lvl2indent( int level )
+{
+ if ( level < -1 ) return -level + 1;
+ else return level + 1;
+}
+
+static inline int
+incr_level( int level, int amt )
+{
+ if ( level > -1 ) return level+amt;
+ else return level-amt;
+}
+
+/* convert_findallfields()
+ *
+ * Find the positions of all convert.internal tags in the fields
+ * structure and store the locations in convert.pos element.
+ *
+ * Return number of the tags found.
+ */
+static int
+convert_findallfields( fields *f, convert *parts, int nparts, int level )
+{
+ int i, n = 0;
+
+ for ( i=0; i<nparts; ++i ) {
+ parts[i].pos = fields_find( f, parts[i].internal, level );
+ n += ( parts[i].pos!=FIELDS_NOTFOUND );
+ }
+
+ return n;
+}
+
+static void
+output_title( fields *f, FILE *outptr, int level )
+{
+ int ttl = fields_find( f, "TITLE", level );
+ int subttl = fields_find( f, "SUBTITLE", level );
+ int shrttl = fields_find( f, "SHORTTITLE", level );
+ int parttl = fields_find( f, "PARTTITLE", level );
+ char *val;
+
+ output_tag( outptr, lvl2indent(level), "titleInfo", NULL, TAG_OPEN, TAG_NEWLINE, NULL );
+ output_fil( outptr, lvl2indent(incr_level(level,1)), "title", f, ttl, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ output_fil( outptr, lvl2indent(incr_level(level,1)), "subTitle", f, subttl, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ output_fil( outptr, lvl2indent(incr_level(level,1)), "partName", f, parttl, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ /* MODS output doesn't verify if we don't at least have a <title/> element */
+ if ( ttl==-1 && subttl==-1 )
+ output_tag( outptr, lvl2indent(incr_level(level,1)), "title", NULL, TAG_SELFCLOSE, TAG_NEWLINE, NULL );
+ output_tag( outptr, lvl2indent(level), "titleInfo", NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+
+ /* output shorttitle if it's different from normal title */
+ if ( shrttl!=FIELDS_NOTFOUND ) {
+ val = (char *) fields_value( f, shrttl, FIELDS_CHRP );
+ if ( ttl==FIELDS_NOTFOUND || subttl!=FIELDS_NOTFOUND || strcmp(f->data[ttl].data,val) ) {
+ output_tag( outptr, lvl2indent(level), "titleInfo", NULL, TAG_OPEN, TAG_NEWLINE, "type", "abbreviated", NULL );
+ output_tag( outptr, lvl2indent(incr_level(level,1)), "title", val, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ output_tag( outptr, lvl2indent(level), "titleInfo", NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+ }
+ }
+}
+
+static void
+output_name( FILE *outptr, char *p, int level )
+{
+ str family, part, suffix;
+ int n=0;
+
+ strs_init( &family, &part, &suffix, NULL );
+
+ while ( *p && *p!='|' ) str_addchar( &family, *p++ );
+ if ( *p=='|' ) p++;
+
+ while ( *p ) {
+ while ( *p && *p!='|' ) str_addchar( &part, *p++ );
+ /* truncate periods from "A. B. Jones" names */
+ if ( part.len ) {
+ if ( part.len==2 && part.data[1]=='.' ) {
+ part.len=1;
+ part.data[1]='\0';
+ }
+ if ( n==0 )
+ output_tag( outptr, lvl2indent(level), "name", NULL, TAG_OPEN, TAG_NEWLINE, "type", "personal", NULL );
+ output_tag( outptr, lvl2indent(incr_level(level,1)), "namePart", part.data, TAG_OPENCLOSE, TAG_NEWLINE, "type", "given", NULL );
+ n++;
+ }
+ if ( *p=='|' ) {
+ p++;
+ if ( *p=='|' ) {
+ p++;
+ while ( *p && *p!='|' ) str_addchar( &suffix, *p++ );
+ }
+ str_empty( &part );
+ }
+ }
+
+ if ( family.len ) {
+ if ( n==0 )
+ output_tag( outptr, lvl2indent(level), "name", NULL, TAG_OPEN, TAG_NEWLINE, "type", "personal", NULL );
+ output_tag( outptr, lvl2indent(incr_level(level,1)), "namePart", family.data, TAG_OPENCLOSE, TAG_NEWLINE, "type", "family", NULL );
+ n++;
+ }
+
+ if ( suffix.len ) {
+ if ( n==0 )
+ output_tag( outptr, lvl2indent(level), "name", NULL, TAG_OPEN, TAG_NEWLINE, "type", "personal", NULL );
+ output_tag( outptr, lvl2indent(incr_level(level,1)), "namePart", suffix.data, TAG_OPENCLOSE, TAG_NEWLINE, "type", "suffix", NULL );
+ }
+
+ strs_free( &part, &family, &suffix, NULL );
+}
+
+
+/* MODS v 3.4
+ *
+ * <name [type="corporation"/type="conference"]>
+ * <namePart></namePart>
+ * <displayForm></displayForm>
+ * <affiliation></affiliation>
+ * <role>
+ * <roleTerm [authority="marcrealtor"] type="text"></roleTerm>
+ * </role>
+ * <description></description>
+ * </name>
+ */
+
+#define NO_AUTHORITY (0)
+#define MARC_AUTHORITY (1)
+
+static void
+output_names( fields *f, FILE *outptr, int level )
+{
+ convert names[] = {
+ { "author", "AUTHOR", 0, MARC_AUTHORITY },
+ { "editor", "EDITOR", 0, MARC_AUTHORITY },
+ { "annotator", "ANNOTATOR", 0, MARC_AUTHORITY },
+ { "artist", "ARTIST", 0, MARC_AUTHORITY },
+ { "author", "2ND_AUTHOR", 0, MARC_AUTHORITY },
+ { "author", "3RD_AUTHOR", 0, MARC_AUTHORITY },
+ { "author", "SUB_AUTHOR", 0, MARC_AUTHORITY },
+ { "author", "COMMITTEE", 0, MARC_AUTHORITY },
+ { "author", "COURT", 0, MARC_AUTHORITY },
+ { "author", "LEGISLATIVEBODY", 0, MARC_AUTHORITY },
+ { "author of afterword, colophon, etc.", "AFTERAUTHOR", 0, MARC_AUTHORITY },
+ { "author of introduction, etc.", "INTROAUTHOR", 0, MARC_AUTHORITY },
+ { "cartographer", "CARTOGRAPHER", 0, MARC_AUTHORITY },
+ { "collaborator", "COLLABORATOR", 0, MARC_AUTHORITY },
+ { "commentator", "COMMENTATOR", 0, MARC_AUTHORITY },
+ { "compiler", "COMPILER", 0, MARC_AUTHORITY },
+ { "degree grantor", "DEGREEGRANTOR", 0, MARC_AUTHORITY },
+ { "director", "DIRECTOR", 0, MARC_AUTHORITY },
+ { "event", "EVENT", 0, NO_AUTHORITY },
+ { "inventor", "INVENTOR", 0, MARC_AUTHORITY },
+ { "organizer of meeting", "ORGANIZER", 0, MARC_AUTHORITY },
+ { "patent holder", "ASSIGNEE", 0, MARC_AUTHORITY },
+ { "performer", "PERFORMER", 0, MARC_AUTHORITY },
+ { "producer", "PRODUCER", 0, MARC_AUTHORITY },
+ { "addressee", "ADDRESSEE", 0, MARC_AUTHORITY },
+ { "redactor", "REDACTOR", 0, MARC_AUTHORITY },
+ { "reporter", "REPORTER", 0, MARC_AUTHORITY },
+ { "sponsor", "SPONSOR", 0, MARC_AUTHORITY },
+ { "translator", "TRANSLATOR", 0, MARC_AUTHORITY },
+ { "writer", "WRITER", 0, MARC_AUTHORITY },
+ };
+ int i, n, nfields, ntypes = sizeof( names ) / sizeof( convert );
+ int f_asis, f_corp, f_conf;
+ str role;
+
+ str_init( &role );
+ nfields = fields_num( f );
+ for ( n=0; n<ntypes; ++n ) {
+ for ( i=0; i<nfields; ++i ) {
+ if ( fields_level( f, i )!=level ) continue;
+ if ( f->data[i].len==0 ) continue;
+ f_asis = f_corp = f_conf = 0;
+ str_strcpyc( &role, f->tag[i].data );
+ if ( str_findreplace( &role, ":ASIS", "" )) f_asis=1;
+ if ( str_findreplace( &role, ":CORP", "" )) f_corp=1;
+ if ( str_findreplace( &role, ":CONF", "" )) f_conf=1;
+ if ( strcasecmp( role.data, names[n].internal ) )
+ continue;
+ if ( f_asis ) {
+ output_tag( outptr, lvl2indent(level), "name", NULL, TAG_OPEN, TAG_NEWLINE, NULL );
+ output_fil( outptr, lvl2indent(incr_level(level,1)), "namePart", f, i, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ } else if ( f_corp ) {
+ output_tag( outptr, lvl2indent(level), "name", NULL, TAG_OPEN, TAG_NEWLINE, "type", "corporate", NULL );
+ output_fil( outptr, lvl2indent(incr_level(level,1)), "namePart", f, i, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ } else if ( f_conf ) {
+ output_tag( outptr, lvl2indent(level), "name", NULL, TAG_OPEN, TAG_NEWLINE, "type", "conference", NULL );
+ output_fil( outptr, lvl2indent(incr_level(level,1)), "namePart", f, i, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ } else {
+ output_name(outptr, f->data[i].data, level);
+ }
+ output_tag( outptr, lvl2indent(incr_level(level,1)), "role", NULL, TAG_OPEN, TAG_NEWLINE, NULL );
+ if ( names[n].code & MARC_AUTHORITY )
+ output_tag( outptr, lvl2indent(incr_level(level,2)), "roleTerm", names[n].mods, TAG_OPENCLOSE, TAG_NEWLINE, "authority", "marcrelator", "type", "text", NULL );
+ else
+ output_tag( outptr, lvl2indent(incr_level(level,2)), "roleTerm", names[n].mods, TAG_OPENCLOSE, TAG_NEWLINE, "type", "text", NULL );
+ output_tag( outptr, lvl2indent(incr_level(level,1)), "role", NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+ output_tag( outptr, lvl2indent(level), "name", NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+ fields_setused( f, i );
+ }
+ }
+ str_free( &role );
+}
+
+/* datepos[ NUM_DATE_TYPES ]
+ * use define to ensure that the array and loops don't get out of sync
+ * datepos[0] -> DATE:YEAR/PARTDATE:YEAR
+ * datepos[1] -> DATE:MONTH/PARTDATE:MONTH
+ * datepos[2] -> DATE:DAY/PARTDATE:DAY
+ * datepos[3] -> DATE/PARTDATE
+ */
+#define DATE_YEAR (0)
+#define DATE_MONTH (1)
+#define DATE_DAY (2)
+#define DATE_ALL (3)
+#define NUM_DATE_TYPES (4)
+
+static int
+find_datepos( fields *f, int level, unsigned char use_altnames, int datepos[NUM_DATE_TYPES] )
+{
+ char *src_names[] = { "DATE:YEAR", "DATE:MONTH", "DATE:DAY", "DATE" };
+ char *alt_names[] = { "PARTDATE:YEAR", "PARTDATE:MONTH", "PARTDATE:DAY", "PARTDATE" };
+ int found = 0;
+ int i;
+
+ for ( i=0; i<NUM_DATE_TYPES; ++i ) {
+ if ( !use_altnames )
+ datepos[i] = fields_find( f, src_names[i], level );
+ else
+ datepos[i] = fields_find( f, alt_names[i], level );
+ if ( datepos[i]!=FIELDS_NOTFOUND ) found = 1;
+ }
+
+ return found;
+}
+
+/* find_dateinfo()
+ *
+ * fill datepos[] array with position indexes to date information in fields *f
+ *
+ * when generating dates for LEVEL_MAIN, first look at level=LEVEL_MAIN, but if that
+ * fails, use LEVEL_ANY (-1)
+ *
+ * returns 1 if date information found, 0 otherwise
+ */
+static int
+find_dateinfo( fields *f, int level, int datepos[ NUM_DATE_TYPES ] )
+{
+ int found;
+
+ /* default to finding date information for the current level */
+ found = find_datepos( f, level, 0, datepos );
+
+ /* for LEVEL_MAIN, do whatever it takes to find a date */
+ if ( !found && level == LEVEL_MAIN ) {
+ found = find_datepos( f, -1, 0, datepos );
+ }
+ if ( !found && level == LEVEL_MAIN ) {
+ found = find_datepos( f, -1, 1, datepos );
+ }
+
+ return found;
+}
+
+static void
+output_datepieces( fields *f, FILE *outptr, int pos[ NUM_DATE_TYPES ] )
+{
+ str *s;
+ int i;
+
+ for ( i=0; i<3 && pos[i]!=-1; ++i ) {
+ if ( i>0 ) fprintf( outptr, "-" );
+ /* zero pad month or days written as "1", "2", "3" ... */
+ if ( i==DATE_MONTH || i==DATE_DAY ) {
+ s = fields_value( f, pos[i], FIELDS_STRP_NOUSE );
+ if ( s->len==1 ) {
+ fprintf( outptr, "0" );
+ }
+ }
+ fprintf( outptr, "%s", (char *) fields_value( f, pos[i], FIELDS_CHRP ) );
+ }
+}
+
+static void
+output_dateissued( fields *f, FILE *outptr, int level, int pos[ NUM_DATE_TYPES ] )
+{
+ output_tag( outptr, lvl2indent(incr_level(level,1)), "dateIssued", NULL, TAG_OPEN, TAG_NONEWLINE, NULL );
+ if ( pos[ DATE_YEAR ]!=-1 || pos[ DATE_MONTH ]!=-1 || pos[ DATE_DAY ]!=-1 ) {
+ output_datepieces( f, outptr, pos );
+ } else {
+ fprintf( outptr, "%s", (char *) fields_value( f, pos[ DATE_ALL ], FIELDS_CHRP ) );
+ }
+ fprintf( outptr, "</dateIssued>\n" );
+}
+
+static void
+output_origin( fields *f, FILE *outptr, int level )
+{
+ convert parts[] = {
+ { "issuance", "ISSUANCE", 0, 0 },
+ { "publisher", "PUBLISHER", 0, 0 },
+ { "place", "ADDRESS", 0, 1 },
+ { "place", "ADDRESS:PUBLISHER", 0, 0 },
+ { "place", "ADDRESS:AUTHOR", 0, 0 },
+ { "edition", "EDITION", 0, 0 },
+ { "dateCaptured", "URLDATE", 0, 0 }
+ };
+ int nparts = sizeof( parts ) / sizeof( parts[0] );
+ int i, found, datefound, datepos[ NUM_DATE_TYPES ];
+
+ found = convert_findallfields( f, parts, nparts, level );
+ datefound = find_dateinfo( f, level, datepos );
+ if ( !found && !datefound ) return;
+
+
+ output_tag( outptr, lvl2indent(level), "originInfo", NULL, TAG_OPEN, TAG_NEWLINE, NULL );
+
+ /* issuance must precede date */
+ if ( parts[0].pos!=-1 )
+ output_fil( outptr, lvl2indent(incr_level(level,1)), "issuance", f, parts[0].pos, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+
+ /* date */
+ if ( datefound )
+ output_dateissued( f, outptr, level, datepos );
+
+ /* rest of the originInfo elements */
+ for ( i=1; i<nparts; i++ ) {
+
+ /* skip missing originInfo elements */
+ if ( parts[i].pos==-1 ) continue;
+
+ /* normal originInfo element */
+ if ( parts[i].code==0 ) {
+ output_fil( outptr, lvl2indent(incr_level(level,1)), parts[i].mods, f, parts[i].pos, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ }
+
+ /* originInfo with placeTerm info */
+ else {
+ output_tag( outptr, lvl2indent(incr_level(level,1)), parts[i].mods, NULL, TAG_OPEN, TAG_NEWLINE, NULL );
+ output_fil( outptr, lvl2indent(incr_level(level,2)), "placeTerm", f, parts[i].pos, TAG_OPENCLOSE, TAG_NEWLINE, "type", "text", NULL );
+ output_tag( outptr, lvl2indent(incr_level(level,1)), parts[i].mods, NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+ }
+ }
+
+ output_tag( outptr, lvl2indent(level), "originInfo", NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+}
+
+/* output_language_core()
+ *
+ * generates language output for tag="langauge" or tag="languageOfCataloging"
+ * if possible, outputs iso639-2b code for the language
+ *
+ * <language>
+ * <languageTerm type="text">xxx</languageTerm>
+ * </language>
+ *
+ * <language>
+ * <languageTerm type="text">xxx</languageTerm>
+ * <languageTerm type="code" authority="iso639-2b">xxx</languageTerm>
+ * </language>
+ *
+ */
+static void
+output_language_core( fields *f, int n, FILE *outptr, char *tag, int level )
+{
+ char *lang, *code;
+
+ lang = (char *) fields_value( f, n, FIELDS_CHRP );
+ code = iso639_2_from_language( lang );
+
+ output_tag( outptr, lvl2indent(level), tag, NULL, TAG_OPEN, TAG_NEWLINE, NULL );
+ output_tag( outptr, lvl2indent(incr_level(level,1)), "languageTerm", lang, TAG_OPENCLOSE, TAG_NEWLINE, "type", "text", NULL );
+ if ( code ) {
+ output_tag( outptr, lvl2indent(incr_level(level,1)), "languageTerm", code, TAG_OPENCLOSE, TAG_NEWLINE, "type", "code", "authority", "iso639-2b", NULL );
+ }
+ output_tag( outptr, lvl2indent(level), tag, NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+}
+
+static void
+output_language( fields *f, FILE *outptr, int level )
+{
+ int n;
+ n = fields_find( f, "LANGUAGE", level );
+ if ( n!=FIELDS_NOTFOUND )
+ output_language_core( f, n, outptr, "language", level );
+}
+
+static void
+output_description( fields *f, FILE *outptr, int level )
+{
+ char *val;
+ int n;
+
+ n = fields_find( f, "DESCRIPTION", level );
+ if ( n!=FIELDS_NOTFOUND ) {
+ val = ( char * ) fields_value( f, n, FIELDS_CHRP );
+ output_tag( outptr, lvl2indent(level), "physicalDescription", NULL, TAG_OPEN, TAG_NEWLINE, NULL );
+ output_tag( outptr, lvl2indent(incr_level(level,1)), "note", val, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ output_tag( outptr, lvl2indent(level), "physicalDescription", NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+ }
+}
+
+static void
+output_toc( fields *f, FILE *outptr, int level )
+{
+ char *val;
+ int n;
+
+ n = fields_find( f, "CONTENTS", level );
+ if ( n!=FIELDS_NOTFOUND ) {
+ val = (char *) fields_value( f, n, FIELDS_CHRP );
+ output_tag( outptr, lvl2indent(level), "tableOfContents", val, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ }
+}
+
+/* detail output
+ *
+ * for example:
+ *
+ * <detail type="volume"><number>xxx</number></detail
+ */
+static void
+mods_output_detail( fields *f, FILE *outptr, int n, char *item_name, int level )
+{
+ if ( n!=-1 ) {
+ output_tag( outptr, lvl2indent(incr_level(level,1)), "detail", NULL, TAG_OPEN, TAG_NONEWLINE, "type", item_name, NULL );
+ output_fil( outptr, 0, "number", f, n, TAG_OPENCLOSE, TAG_NONEWLINE, NULL );
+ output_tag( outptr, 0, "detail", NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+ }
+}
+
+
+/* extents output
+ *
+ * <extent unit="page">
+ * <start>xxx</start>
+ * <end>xxx</end>
+ * </extent>
+ */
+static void
+mods_output_extents( fields *f, FILE *outptr, int start, int end, int total, char *extype, int level )
+{
+ char *val;
+
+ output_tag( outptr, lvl2indent(incr_level(level,1)), "extent", NULL, TAG_OPEN, TAG_NEWLINE, "unit", extype, NULL );
+ if ( start!=-1 ) {
+ val = (char *) fields_value( f, start, FIELDS_CHRP );
+ output_tag( outptr, lvl2indent(incr_level(level,2)), "start", val, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ }
+ if ( end!=-1 ) {
+ val = (char *) fields_value( f, end, FIELDS_CHRP );
+ output_tag( outptr, lvl2indent(incr_level(level,2)), "end", val, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ }
+ if ( total!=-1 ) {
+ val = (char *) fields_value( f, total, FIELDS_CHRP );
+ output_tag( outptr, lvl2indent(incr_level(level,2)), "total", val, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ }
+ output_tag( outptr, lvl2indent(incr_level(level,1)), "extent", NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+}
+
+static void
+try_output_partheader( FILE *outptr, int wrote_header, int level )
+{
+ if ( !wrote_header )
+ output_tag( outptr, lvl2indent(level), "part", NULL, TAG_OPEN, TAG_NEWLINE, NULL );
+}
+
+static void
+try_output_partfooter( FILE *outptr, int wrote_header, int level )
+{
+ if ( wrote_header )
+ output_tag( outptr, lvl2indent(level), "part", NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+}
+
+/* part date output
+ *
+ * <date>xxxx-xx-xx</date>
+ *
+ */
+static int
+output_partdate( fields *f, FILE *outptr, int level, int wrote_header )
+{
+ convert parts[] = {
+ { "", "PARTDATE:YEAR", 0, 0 },
+ { "", "PARTDATE:MONTH", 0, 0 },
+ { "", "PARTDATE:DAY", 0, 0 },
+ };
+ int nparts = sizeof(parts)/sizeof(parts[0]);
+
+ if ( !convert_findallfields( f, parts, nparts, level ) ) return 0;
+
+ try_output_partheader( outptr, wrote_header, level );
+
+ output_tag( outptr, lvl2indent(incr_level(level,1)), "date", NULL, TAG_OPEN, TAG_NONEWLINE, NULL );
+
+ if ( parts[0].pos!=-1 ) {
+ fprintf( outptr, "%s", (char *) fields_value( f, parts[0].pos, FIELDS_CHRP ) );
+ } else fprintf( outptr, "XXXX" );
+
+ if ( parts[1].pos!=-1 ) {
+ fprintf( outptr, "-%s", (char *) fields_value( f, parts[1].pos, FIELDS_CHRP ) );
+ }
+
+ if ( parts[2].pos!=-1 ) {
+ if ( parts[1].pos==-1 )
+ fprintf( outptr, "-XX" );
+ fprintf( outptr, "-%s", (char *) fields_value( f, parts[2].pos, FIELDS_CHRP ) );
+ }
+
+ fprintf( outptr,"</date>\n");
+
+ return 1;
+}
+
+static int
+output_partpages( fields *f, FILE *outptr, int level, int wrote_header )
+{
+ convert parts[] = {
+ { "", "PAGES:START", 0, 0 },
+ { "", "PAGES:STOP", 0, 0 },
+ { "", "PAGES", 0, 0 },
+ { "", "PAGES:TOTAL", 0, 0 }
+ };
+ int nparts = sizeof(parts)/sizeof(parts[0]);
+
+ if ( !convert_findallfields( f, parts, nparts, level ) ) return 0;
+
+ try_output_partheader( outptr, wrote_header, level );
+
+ /* If PAGES:START or PAGES:STOP are undefined */
+ if ( parts[0].pos==-1 || parts[1].pos==-1 ) {
+ if ( parts[0].pos!=-1 )
+ mods_output_detail( f, outptr, parts[0].pos, "page", level );
+ if ( parts[1].pos!=-1 )
+ mods_output_detail( f, outptr, parts[1].pos, "page", level );
+ if ( parts[2].pos!=-1 )
+ mods_output_detail( f, outptr, parts[2].pos, "page", level );
+ if ( parts[3].pos!=-1 )
+ mods_output_extents( f, outptr, -1, -1, parts[3].pos, "page", level );
+ }
+ /* If both PAGES:START and PAGES:STOP are defined */
+ else {
+ mods_output_extents( f, outptr, parts[0].pos, parts[1].pos, parts[3].pos, "page", level );
+ }
+
+ return 1;
+}
+
+static int
+output_partelement( fields *f, FILE *outptr, int level, int wrote_header )
+{
+ convert parts[] = {
+ { "", "NUMVOLUMES", 0, 0 },
+ { "volume", "VOLUME", 0, 0 },
+ { "section", "SECTION", 0, 0 },
+ { "issue", "ISSUE", 0, 0 },
+ { "number", "NUMBER", 0, 0 },
+ { "publiclawnumber", "PUBLICLAWNUMBER", 0, 0 },
+ { "session", "SESSION", 0, 0 },
+ { "articlenumber", "ARTICLENUMBER", 0, 0 },
+ { "part", "PART", 0, 0 },
+ { "chapter", "CHAPTER", 0, 0 },
+ { "report number", "REPORTNUMBER", 0, 0 },
+ };
+ int i, nparts = sizeof( parts ) / sizeof( convert );
+
+ if ( !convert_findallfields( f, parts, nparts, level ) ) return 0;
+
+ try_output_partheader( outptr, wrote_header, level );
+
+ /* start loop at 1 to skip NUMVOLUMES */
+ for ( i=1; i<nparts; ++i ) {
+ if ( parts[i].pos==-1 ) continue;
+ mods_output_detail( f, outptr, parts[i].pos, parts[i].mods, level );
+ }
+
+ if ( parts[0].pos!=-1 )
+ mods_output_extents( f, outptr, -1, -1, parts[0].pos, "volumes", level );
+
+ return 1;
+}
+
+static void
+output_part( fields *f, FILE *outptr, int level )
+{
+ int wrote_hdr;
+ wrote_hdr = output_partdate( f, outptr, level, 0 );
+ wrote_hdr += output_partelement( f, outptr, level, wrote_hdr );
+ wrote_hdr += output_partpages( f, outptr, level, wrote_hdr );
+ try_output_partfooter( outptr, wrote_hdr, level );
+}
+
+static void
+output_recordInfo( fields *f, FILE *outptr, int level )
+{
+ int n;
+ n = fields_find( f, "LANGCATALOG", level );
+ if ( n!=FIELDS_NOTFOUND ) {
+ output_tag( outptr, lvl2indent(level), "recordInfo", NULL, TAG_OPEN, TAG_NEWLINE, NULL );
+ output_language_core( f, n, outptr, "languageOfCataloging", incr_level(level,1) );
+ output_tag( outptr, lvl2indent(level), "recordInfo", NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+ }
+}
+
+/* output_genre()
+ *
+ * <genre authority="marcgt">thesis</genre>
+ * <genre authority="bibutilsgt">Diploma thesis</genre>
+ */
+static void
+output_genre( fields *f, FILE *outptr, int level )
+{
+ char *value, *attr = NULL, *attrvalue = NULL;
+ int i, n;
+
+ n = fields_num( f );
+ for ( i=0; i<n; ++i ) {
+ if ( fields_level( f, i ) != level ) continue;
+ if ( !fields_match_tag( f, i, "GENRE:MARC" ) && !fields_match_tag( f, i, "GENRE:BIBUTILS" ) && !fields_match_tag( f, i, "GENRE:UNKNOWN" ) ) continue;
+ value = fields_value( f, i, FIELDS_CHRP );
+ if ( is_marc_genre( value ) ) {
+ attr = "authority";
+ attrvalue = "marcgt";
+ }
+ else if ( is_bu_genre( value ) ) {
+ attr = "authority";
+ attrvalue = "bibutilsgt";
+ }
+ output_tag( outptr, lvl2indent(level), "genre", value, TAG_OPENCLOSE, TAG_NEWLINE, attr, attrvalue, NULL );
+ }
+}
+
+/* output_resource()
+ *
+ * <typeOfResource>text</typeOfResource>
+ */
+static void
+output_resource( fields *f, FILE *outptr, int level )
+{
+ char *value;
+ int n;
+
+ n = fields_find( f, "RESOURCE", level );
+ if ( n!=FIELDS_NOTFOUND ) {
+ value = fields_value( f, n, FIELDS_CHRP );
+ if ( is_marc_resource( value ) ) {
+ output_fil( outptr, lvl2indent(level), "typeOfResource", f, n, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ } else {
+ fprintf( stderr, "Illegal typeofResource = '%s'\n", value );
+ }
+ }
+}
+
+static void
+output_type( fields *f, FILE *outptr, int level )
+{
+ int n;
+
+ /* silence warnings about INTERNAL_TYPE being unused */
+ n = fields_find( f, "INTERNAL_TYPE", LEVEL_MAIN );
+ if ( n!=FIELDS_NOTFOUND ) fields_setused( f, n );
+
+ output_resource( f, outptr, level );
+ output_genre( f, outptr, level );
+}
+
+/* output_abs()
+ *
+ * <abstract>xxxx</abstract>
+ */
+static void
+output_abs( fields *f, FILE *outptr, int level )
+{
+ int n;
+
+ n = fields_find( f, "ABSTRACT", level );
+ output_fil( outptr, lvl2indent(level), "abstract", f, n, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+}
+
+static void
+output_notes( fields *f, FILE *outptr, int level )
+{
+ int i, n;
+ char *t;
+
+ n = fields_num( f );
+ for ( i=0; i<n; ++i ) {
+ if ( fields_level( f, i ) != level ) continue;
+ t = fields_tag( f, i, FIELDS_CHRP_NOUSE );
+ if ( !strcasecmp( t, "NOTES" ) )
+ output_fil( outptr, lvl2indent(level), "note", f, i, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ else if ( !strcasecmp( t, "PUBSTATE" ) )
+ output_fil( outptr, lvl2indent(level), "note", f, i, TAG_OPENCLOSE, TAG_NEWLINE, "type", "publication status", NULL );
+ else if ( !strcasecmp( t, "ANNOTE" ) )
+ output_fil( outptr, lvl2indent(level), "bibtex-annote", f, i, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ else if ( !strcasecmp( t, "TIMESCITED" ) )
+ output_fil( outptr, lvl2indent(level), "note", f, i, TAG_OPENCLOSE, TAG_NEWLINE, "type", "times cited", NULL );
+ else if ( !strcasecmp( t, "ANNOTATION" ) )
+ output_fil( outptr, lvl2indent(level), "note", f, i, TAG_OPENCLOSE, TAG_NEWLINE, "type", "annotation", NULL );
+ else if ( !strcasecmp( t, "ADDENDUM" ) )
+ output_fil( outptr, lvl2indent(level), "note", f, i, TAG_OPENCLOSE, TAG_NEWLINE, "type", "addendum", NULL );
+ else if ( !strcasecmp( t, "BIBKEY" ) )
+ output_fil( outptr, lvl2indent(level), "note", f, i, TAG_OPENCLOSE, TAG_NEWLINE, "type", "bibliography key", NULL );
+ }
+}
+
+/* output_key()
+ *
+ * <subject>
+ * <topic>xxxx</topic>
+ * </subject>
+ */
+static void
+output_key( fields *f, FILE *outptr, int level )
+{
+ int i, n;
+
+ n = fields_num( f );
+ for ( i=0; i<n; ++i ) {
+ if ( fields_level( f, i ) != level ) continue;
+ if ( !strcasecmp( f->tag[i].data, "KEYWORD" ) ) {
+ output_tag( outptr, lvl2indent(level), "subject", NULL, TAG_OPEN, TAG_NEWLINE, NULL );
+ output_fil( outptr, lvl2indent(incr_level(level,1)), "topic", f, i, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ output_tag( outptr, lvl2indent(level), "subject", NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+ }
+ else if ( !strcasecmp( f->tag[i].data, "EPRINTCLASS" ) ) {
+ output_tag( outptr, lvl2indent(level), "subject", NULL, TAG_OPEN, TAG_NEWLINE, NULL );
+ output_fil( outptr, lvl2indent(incr_level(level,1)), "topic", f, i, TAG_OPENCLOSE, TAG_NEWLINE, "class", "primary", NULL );
+ output_tag( outptr, lvl2indent(level), "subject", NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+ }
+ }
+}
+
+static void
+output_sn( fields *f, FILE *outptr, int level )
+{
+ convert sn_types[] = {
+ { "isbn", "ISBN", 0, 0 },
+ { "isbn", "ISBN13", 0, 0 },
+ { "lccn", "LCCN", 0, 0 },
+ { "issn", "ISSN", 0, 0 },
+ { "coden", "CODEN", 0, 0 },
+ { "citekey", "REFNUM", 0, 0 },
+ { "doi", "DOI", 0, 0 },
+ { "eid", "EID", 0, 0 },
+ { "eprint", "EPRINT", 0, 0 },
+ { "eprinttype","EPRINTTYPE",0, 0 },
+ { "pubmed", "PMID", 0, 0 },
+ { "MRnumber", "MRNUMBER", 0, 0 },
+ { "medline", "MEDLINE", 0, 0 },
+ { "pii", "PII", 0, 0 },
+ { "pmc", "PMC", 0, 0 },
+ { "arXiv", "ARXIV", 0, 0 },
+ { "isi", "ISIREFNUM", 0, 0 },
+ { "accessnum", "ACCESSNUM", 0, 0 },
+ { "jstor", "JSTOR", 0, 0 },
+ { "isrn", "ISRN", 0, 0 },
+ };
+ int ntypes = sizeof( sn_types ) / sizeof( sn_types[0] );
+ int i, n, found;
+
+ /* output call number */
+ n = fields_find( f, "CALLNUMBER", level );
+ output_fil( outptr, lvl2indent(level), "classification", f, n, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+
+ /* output specialized serialnumber */
+ found = convert_findallfields( f, sn_types, ntypes, level );
+ if ( found ) {
+ for ( i=0; i<ntypes; ++i ) {
+ if ( sn_types[i].pos==-1 ) continue;
+ output_fil( outptr, lvl2indent(level), "identifier", f, sn_types[i].pos, TAG_OPENCLOSE, TAG_NEWLINE, "type", sn_types[i].mods, NULL );
+ }
+ }
+
+ /* output _all_ elements of type SERIALNUMBER */
+ n = fields_num( f );
+ for ( i=0; i<n; ++i ) {
+ if ( f->level[i]!=level ) continue;
+ if ( strcasecmp( f->tag[i].data, "SERIALNUMBER" ) ) continue;
+ output_fil( outptr, lvl2indent(level), "identifier", f, i, TAG_OPENCLOSE, TAG_NEWLINE, "type", "serial number", NULL );
+ }
+}
+
+/* output_url()
+ *
+ * <location>
+ * <url>URL</url>
+ * <url urlType="pdf">PDFLINK</url>
+ * <url displayLabel="Electronic full text" access="raw object">PDFLINK</url>
+ * <physicalLocation>LOCATION</physicalLocation>
+ * </location>
+ */
+static void
+output_url( fields *f, FILE *outptr, int level )
+{
+ int location = fields_find( f, "LOCATION", level );
+ int url = fields_find( f, "URL", level );
+ int fileattach = fields_find( f, "FILEATTACH", level );
+ int pdflink = fields_find( f, "PDFLINK", level );
+ int i, n;
+
+ if ( url==FIELDS_NOTFOUND && location==FIELDS_NOTFOUND && pdflink==FIELDS_NOTFOUND && fileattach==FIELDS_NOTFOUND ) return;
+ output_tag( outptr, lvl2indent(level), "location", NULL, TAG_OPEN, TAG_NEWLINE, NULL );
+
+ n = fields_num( f );
+ for ( i=0; i<n; ++i ) {
+ if ( f->level[i]!=level ) continue;
+ if ( strcasecmp( f->tag[i].data, "URL" ) ) continue;
+ output_fil( outptr, lvl2indent(incr_level(level,1)), "url", f, i, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ }
+ for ( i=0; i<n; ++i ) {
+ if ( f->level[i]!=level ) continue;
+ if ( strcasecmp( f->tag[i].data, "PDFLINK" ) ) continue;
+/* output_fil( outptr, lvl2indent(incr_level(level,1)), "url", f, i, TAG_OPENCLOSE, TAG_NEWLINE, "urlType", "pdf", NULL ); */
+ output_fil( outptr, lvl2indent(incr_level(level,1)), "url", f, i, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+ }
+ for ( i=0; i<n; ++i ) {
+ if ( f->level[i]!=level ) continue;
+ if ( strcasecmp( f->tag[i].data, "FILEATTACH" ) ) continue;
+ output_fil( outptr, lvl2indent(incr_level(level,1)), "url", f, i, TAG_OPENCLOSE, TAG_NEWLINE, "displayLabel", "Electronic full text", "access", "raw object", NULL );
+ }
+ if ( location!=-1 )
+ output_fil( outptr, lvl2indent(incr_level(level,1)), "physicalLocation", f, location, TAG_OPENCLOSE, TAG_NEWLINE, NULL );
+
+ output_tag( outptr, lvl2indent(level), "location", NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+}
+
+/* refnum should start with a non-number and not include spaces -- ignore this */
+static void
+output_refnum( fields *f, int n, FILE *outptr )
+{
+ char *p = fields_value( f, n, FIELDS_CHRP_NOUSE );
+/* if ( p && ((*p>='0' && *p<='9') || *p=='-' || *p=='_' ))
+ fprintf( outptr, "ref" );*/
+ while ( p && *p ) {
+ if ( !is_ws(*p) ) fprintf( outptr, "%c", *p );
+/* if ( (*p>='A' && *p<='Z') ||
+ (*p>='a' && *p<='z') ||
+ (*p>='0' && *p<='9') ||
+ (*p=='-') || (*p=='
+ (*p=='_') ) fprintf( outptr, "%c", *p );*/
+ p++;
+ }
+}
+
+static void
+output_head( fields *f, FILE *outptr, int dropkey, unsigned long numrefs )
+{
+ int n;
+ fprintf( outptr, "<mods");
+ if ( !dropkey ) {
+ n = fields_find( f, "REFNUM", LEVEL_MAIN );
+ if ( n!=FIELDS_NOTFOUND ) {
+ fprintf( outptr, " ID=\"");
+ output_refnum( f, n, outptr );
+ fprintf( outptr, "\"");
+ }
+ }
+ fprintf( outptr, ">\n" );
+}
+
+static int
+original_items( fields *f, int level )
+{
+ int i, targetlevel, n;
+ if ( level < 0 ) return 0;
+ targetlevel = -( level + 2 );
+ n = fields_num( f );
+ for ( i=0; i<n; ++i ) {
+ if ( fields_level( f, i ) == targetlevel )
+ return targetlevel;
+ }
+ return 0;
+}
+
+static void
+output_citeparts( fields *f, FILE *outptr, int level, int max )
+{
+ int orig_level;
+
+ output_title( f, outptr, level );
+ output_names( f, outptr, level );
+ output_origin( f, outptr, level );
+ output_type( f, outptr, level );
+ output_language( f, outptr, level );
+ output_description( f, outptr, level );
+
+ if ( level >= 0 && level < max ) {
+ output_tag( outptr, lvl2indent(level), "relatedItem", NULL, TAG_OPEN, TAG_NEWLINE, "type", "host", NULL );
+ output_citeparts( f, outptr, incr_level(level,1), max );
+ output_tag( outptr, lvl2indent(level), "relatedItem", NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+ }
+ /* Look for original item things */
+ orig_level = original_items( f, level );
+ if ( orig_level ) {
+ output_tag( outptr, lvl2indent(level), "relatedItem", NULL, TAG_OPEN, TAG_NEWLINE, "type", "original", NULL );
+ output_citeparts( f, outptr, orig_level, max );
+ output_tag( outptr, lvl2indent(level), "relatedItem", NULL, TAG_CLOSE, TAG_NEWLINE, NULL );
+ }
+ output_abs( f, outptr, level );
+ output_notes( f, outptr, level );
+ output_toc( f, outptr, level );
+ output_key( f, outptr, level );
+ output_sn( f, outptr, level );
+ output_url( f, outptr, level );
+ output_part( f, outptr, level );
+
+ output_recordInfo( f, outptr, level );
+}
+
+static void
+modsout_report_unused_tags( fields *f, param *p, unsigned long numrefs )
+{
+ int i, n, nwritten, nunused = 0, level;
+ char *tag, *value;
+ n = fields_num( f );
+ for ( i=0; i<n; ++i ) {
+ if ( fields_used( f, i ) ) continue;
+ nunused++;
+ }
+ if ( nunused ) {
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Reference %lu has unused tags.\n", numrefs+1 );
+ /* Find author from level 0 */
+ nwritten = 0;
+ for ( i=0; i<n; ++i ) {
+ if ( fields_level( f, i ) != 0 ) continue;
+ tag = fields_tag( f, i, FIELDS_CHRP_NOUSE );
+ if ( strcasecmp( tag, "AUTHOR" ) && strcasecmp( tag, "AUTHOR:ASIS" ) && strcasecmp( tag, "AUTHOR:CORP" ) ) continue;
+ value = fields_value( f, i, FIELDS_CHRP_NOUSE );
+ if ( nwritten==0 ) fprintf( stderr, "\tAuthor(s) (level=0):\n" );
+ fprintf( stderr, "\t\t'%s'\n", value );
+ nwritten++;
+ }
+ nwritten = 0;
+ for ( i=0; i<n; ++i ) {
+ if ( fields_level( f, i ) != 0 ) continue;
+ tag = fields_tag( f, i, FIELDS_CHRP_NOUSE );
+ if ( strcasecmp( tag, "DATE:YEAR" ) && strcasecmp( tag, "PARTDATE:YEAR" ) ) continue;
+ value = fields_value( f, i, FIELDS_CHRP_NOUSE );
+ if ( nwritten==0 ) fprintf( stderr, "\tYear(s) (level=0):\n" );
+ fprintf( stderr, "\t\t'%s'\n", value );
+ nwritten++;
+ }
+ nwritten = 0;
+ for ( i=0; i<n; ++i ) {
+ if ( fields_level( f, i ) != 0 ) continue;
+ tag = fields_tag( f, i, FIELDS_CHRP_NOUSE );
+ if ( strncasecmp( tag, "TITLE", 5 ) ) continue;
+ value = fields_value( f, i, FIELDS_CHRP_NOUSE );
+ if ( nwritten==0 ) fprintf( stderr, "\tTitle(s) (level=0):\n" );
+ fprintf( stderr, "\t\t'%s'\n", value );
+ nwritten++;
+ }
+
+ fprintf( stderr, "\tUnused tags:\n" );
+ for ( i=0; i<n; ++i ) {
+ if ( fields_used( f, i ) ) continue;
+ tag = fields_tag( f, i, FIELDS_CHRP_NOUSE );
+ value = fields_value( f, i, FIELDS_CHRP_NOUSE );
+ level = fields_level( f, i );
+ fprintf( stderr, "\t\ttag: '%s' value: '%s' level: %d\n",
+ tag, value, level );
+ }
+ }
+}
+
+static int
+modsout_write( fields *f, FILE *outptr, param *p, unsigned long numrefs )
+{
+ int max, dropkey;
+ max = fields_maxlevel( f );
+ dropkey = ( p->format_opts & BIBL_FORMAT_MODSOUT_DROPKEY );
+
+ output_head( f, outptr, dropkey, numrefs );
+ output_citeparts( f, outptr, 0, max );
+ modsout_report_unused_tags( f, p, numrefs );
+
+ fprintf( outptr, "</mods>\n" );
+ fflush( outptr );
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int modsout_writeheader()
+*****************************************************/
+
+static void
+modsout_writeheader( FILE *outptr, param *p )
+{
+ if ( p->utf8bom ) utf8_writebom( outptr );
+ fprintf(outptr,"<?xml version=\"1.0\" encoding=\"%s\"?>\n",
+ charset_get_xmlname( p->charsetout ) );
+ fprintf(outptr,"<modsCollection xmlns=\"http://www.loc.gov/mods/v3\">\n");
+}
+
+/*****************************************************
+ PUBLIC: int modsout_writefooter()
+*****************************************************/
+
+static void
+modsout_writefooter( FILE *outptr )
+{
+ fprintf(outptr,"</modsCollection>\n");
+ fflush( outptr );
+}
+
diff --git a/support/texlab/crates/bibutils_sys/src/modstypes.c b/support/texlab/crates/bibutils_sys/src/modstypes.c
new file mode 100644
index 0000000000..95b0a4ab57
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/modstypes.c
@@ -0,0 +1,57 @@
+/*
+ * modstypes.c
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <string.h>
+#include "modstypes.h"
+
+/* Conversion information for identifier type attributes:
+ *
+ * <identifier type="issn">XXXX-XXXX</identifier>
+ *
+ */
+convert identifier_types[] = {
+ { "citekey", "REFNUM" },
+ { "issn", "ISSN" },
+ { "isbn", "ISBN" },
+ { "doi", "DOI" },
+ { "url", "URL" },
+ { "uri", "URL" },
+ { "pubmed", "PMID", },
+ { "medline", "MEDLINE" },
+ { "pmc", "PMC" },
+ { "pii", "PII" },
+ { "isi", "ISIREFNUM" },
+ { "lccn", "LCCN" },
+ { "serial number", "SERIALNUMBER" },
+ { "accessnum", "ACCESSNUM" }
+};
+
+int nidentifier_types = sizeof( identifier_types ) / sizeof( identifier_types[0] );
+
+char *
+mods_find_attrib( char *internal_name, convert *data, int ndata )
+{
+ int i;
+ for ( i=0; i<ndata; ++i ) {
+ if ( !strcasecmp( data[i].internal, internal_name ) )
+ return data[i].mods;
+ }
+ return NULL;
+}
+
+char *
+mods_find_internal( char *mods_name, convert *data, int ndata )
+{
+ int i;
+ for ( i=0; i<ndata; ++i ) {
+ if ( !strcasecmp( data[i].mods, mods_name ) )
+ return data[i].internal;
+ }
+ return NULL;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/modstypes.h b/support/texlab/crates/bibutils_sys/src/modstypes.h
new file mode 100644
index 0000000000..44c85fc99f
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/modstypes.h
@@ -0,0 +1,24 @@
+/*
+ * modstypes.h
+ *
+ * Copyright (c) Chris Putnam 2008-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef MODSTYPES_H
+#define MODSTYPES_H
+typedef struct convert {
+ char *mods; /* old */
+ char *internal; /* new */
+ int pos;
+ int code;
+} convert;
+
+extern convert identifier_types[];
+extern int nidentifier_types;
+
+extern char *mods_find_attrib( char *internal_name, convert *data, int ndata );
+extern char *mods_find_internal( char *mods_name, convert *data, int ndata );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/msvc_fix.h b/support/texlab/crates/bibutils_sys/src/msvc_fix.h
new file mode 100644
index 0000000000..cca99bed06
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/msvc_fix.h
@@ -0,0 +1,7 @@
+// Patch: Fix build on MSVC
+#if defined(_WIN32) || defined(_WIN64)
+ #define snprintf _snprintf
+ #define vsnprintf _vsnprintf
+ #define strcasecmp _stricmp
+ #define strncasecmp _strnicmp
+#endif \ No newline at end of file
diff --git a/support/texlab/crates/bibutils_sys/src/mycvout.c b/support/texlab/crates/bibutils_sys/src/mycvout.c
new file mode 100644
index 0000000000..d42e2b0a4c
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/mycvout.c
@@ -0,0 +1,614 @@
+/*
+ * mycvout.c
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include "str.h"
+#include "strsearch.h"
+#include "utf8.h"
+#include "xml.h"
+#include "fields.h"
+#include "bibl.h"
+#include "doi.h"
+#include "bibutils.h"
+
+void
+bibtexout_initparams( param *pm, const char *progname )
+{
+ pm->writeformat = BIBL_BIBTEXOUT;
+ pm->format_opts = 0;
+ pm->charsetout = BIBL_CHARSET_DEFAULT;
+ pm->charsetout_src = BIBL_SRC_DEFAULT;
+ pm->latexout = 1;
+ pm->utf8out = 0;
+ pm->utf8bom = 0;
+ pm->xmlout = BIBL_XMLOUT_FALSE;
+ pm->nosplittitle = 0;
+ p->verbose = 0;
+ pm->addcount = 0;
+ pm->singlerefperfile = 0;
+
+ pm->headerf = bibtexout_writeheader;
+ pm->footerf = NULL;
+ pm->writef = bibtexout_write;
+
+ if ( !p->progname && progname )
+ p->progname = strdup( progname );
+}
+
+enum {
+ TYPE_UNKNOWN = 0,
+ TYPE_ARTICLE,
+ TYPE_INBOOK,
+ TYPE_INPROCEEDINGS,
+ TYPE_PROCEEDINGS,
+ TYPE_INCOLLECTION,
+ TYPE_COLLECTION,
+ TYPE_BOOK,
+ TYPE_PHDTHESIS,
+ TYPE_MASTERSTHESIS,
+ TYPE_REPORT,
+ TYPE_MANUAL,
+ TYPE_UNPUBLISHED,
+ TYPE_ELECTRONIC,
+ TYPE_MISC
+};
+
+static void
+output_citekey( FILE *fp, fields *info, unsigned long refnum, int format_opts )
+{
+ int n = fields_find( info, "REFNUM", -1 );
+ char *p;
+ if ( n!=-1 ) {
+ p = info->data[n].data;
+ while ( p && *p && *p!='|' ) {
+ if ( format_opts & BIBL_FORMAT_BIBOUT_STRICTKEY ) {
+ if ( isdigit((unsigned char)*p) || (*p>='A' && *p<='Z') ||
+ (*p>='a' && *p<='z' ) )
+ fprintf( fp, "%c", *p );
+ }
+ else {
+ if ( *p!=' ' && *p!='\t' ) {
+ fprintf( fp, "%c", *p );
+ }
+ }
+ p++;
+ }
+ }
+}
+
+static int
+bibtexout_type( fields *info, char *filename, int refnum, param *p )
+{
+ char *genre;
+ int type = TYPE_UNKNOWN, i, maxlevel, n, level;
+
+ /* determine bibliography type */
+ for ( i=0; i<info->n; ++i ) {
+ if ( strcasecmp( info->tag[i].data, "GENRE:MARC" ) &&
+ strcasecmp( info->tag[i].data, "GENRE:BIBUTILS" ) ) continue;
+ genre = info->data[i].data;
+ level = info->level[i];
+ if ( !strcasecmp( genre, "periodical" ) ||
+ !strcasecmp( genre, "academic journal" ) ||
+ !strcasecmp( genre, "magazine" ) ||
+ !strcasecmp( genre, "newspaper" ) ||
+ !strcasecmp( genre, "article" ) )
+ type = TYPE_ARTICLE;
+ else if ( !strcasecmp( genre, "instruction" ) )
+ type = TYPE_MANUAL;
+ else if ( !strcasecmp( genre, "unpublished" ) )
+ type = TYPE_UNPUBLISHED;
+ else if ( !strcasecmp( genre, "conference publication" ) ) {
+ if ( level==0 ) type=TYPE_PROCEEDINGS;
+ else type = TYPE_INPROCEEDINGS;
+ } else if ( !strcasecmp( genre, "collection" ) ) {
+ if ( level==0 ) type=TYPE_COLLECTION;
+ else type = TYPE_INCOLLECTION;
+ } else if ( !strcasecmp( genre, "technical report" ) )
+ type = TYPE_REPORT;
+ else if ( !strcasecmp( genre, "book" ) ) {
+ if ( level==0 ) type=TYPE_BOOK;
+ else type=TYPE_INBOOK;
+ } else if ( !strcasecmp( genre, "thesis" ) ) {
+ if ( type==TYPE_UNKNOWN ) type=TYPE_PHDTHESIS;
+ } else if ( !strcasecmp( genre, "Ph.D. thesis" ) )
+ type = TYPE_PHDTHESIS;
+ else if ( !strcasecmp( genre, "Masters thesis" ) )
+ type = TYPE_MASTERSTHESIS;
+ else if ( !strcasecmp( genre, "electronic" ) )
+ type = TYPE_ELECTRONIC;
+ }
+ if ( type==TYPE_UNKNOWN ) {
+ for ( i=0; i<info->n; ++i ) {
+ if ( strcasecmp( info->tag[i].data, "ISSUANCE" ) ) continue;
+ if ( !strcasecmp( info->data[i].data, "monographic" ) ) {
+ if ( info->level[i]==0 ) type = TYPE_BOOK;
+ else if ( info->level[i]==1 ) type=TYPE_INBOOK;
+ }
+ }
+ }
+
+ /* default to BOOK type */
+ if ( type==TYPE_UNKNOWN ) {
+ maxlevel = fields_maxlevel( info );
+ if ( maxlevel > 0 ) type = TYPE_INBOOK;
+ else {
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Cannot identify TYPE "
+ "in reference %d ", refnum+1 );
+ n = fields_find( info, "REFNUM", -1 );
+ if ( n!=-1 )
+ fprintf( stderr, " %s", info->data[n].data);
+ fprintf( stderr, " (defaulting to @Misc)\n" );
+ type = TYPE_MISC;
+ }
+ }
+ return type;
+}
+
+static void
+output_type( FILE *fp, int type, int format_opts )
+{
+ typedef struct {
+ int bib_type;
+ char *type_name;
+ } typenames;
+
+ typenames types[] = {
+ { TYPE_ARTICLE, "Article" },
+ { TYPE_INBOOK, "Inbook" },
+ { TYPE_PROCEEDINGS, "Proceedings" },
+ { TYPE_INPROCEEDINGS, "InProceedings" },
+ { TYPE_BOOK, "Book" },
+ { TYPE_PHDTHESIS, "PhdThesis" },
+ { TYPE_MASTERSTHESIS, "MastersThesis" },
+ { TYPE_REPORT, "TechReport" },
+ { TYPE_MANUAL, "Manual" },
+ { TYPE_COLLECTION, "Collection" },
+ { TYPE_INCOLLECTION, "InCollection" },
+ { TYPE_UNPUBLISHED, "Unpublished" },
+ { TYPE_ELECTRONIC, "Electronic" },
+ { TYPE_MISC, "Misc" } };
+ int i, len, ntypes = sizeof( types ) / sizeof( types[0] );
+ char *s = NULL;
+ for ( i=0; i<ntypes; ++i ) {
+ if ( types[i].bib_type == type ) {
+ s = types[i].type_name;
+ break;
+ }
+ }
+ if ( !s ) s = types[ntypes-1].type_name; /* default to TYPE_MISC */
+ if ( !(format_opts & BIBL_FORMAT_BIBOUT_UPPERCASE ) ) fprintf( fp, "@%s{", s );
+ else {
+ len = strlen( s );
+ fprintf( fp, "@" );
+ for ( i=0; i<len; ++i )
+ fprintf( fp, "%c", toupper((unsigned char)s[i]) );
+ fprintf( fp, "{" );
+ }
+}
+
+static void
+output_element( FILE *fp, char *tag, char *data, int format_opts )
+{
+ int i, len, nquotes = 0;
+ char ch;
+ fprintf( fp, ",\n" );
+ if ( format_opts & BIBL_FORMAT_BIBOUT_WHITESPACE ) fprintf( fp, " " );
+ if ( !(format_opts & BIBL_FORMAT_BIBOUT_UPPERCASE ) ) fprintf( fp, "%s", tag );
+ else {
+ len = strlen( tag );
+ for ( i=0; i<len; ++i )
+ fprintf( fp, "%c", toupper((unsigned char)tag[i]) );
+ }
+ if ( format_opts & BIBL_FORMAT_BIBOUT_WHITESPACE ) fprintf( fp, " = \t" );
+ else fprintf( fp, "=" );
+
+ if ( format_opts & BIBL_FORMAT_BIBOUT_BRACKETS ) fprintf( fp, "{" );
+ else fprintf( fp, "\"" );
+
+ len = strlen( data );
+ for ( i=0; i<len; ++i ) {
+ ch = data[i];
+ if ( ch!='\"' ) fprintf( fp, "%c", ch );
+ else {
+ if ( format_opts & BIBL_FORMAT_BIBOUT_BRACKETS ||
+ ( i>0 && data[i-1]=='\\' ) )
+ fprintf( fp, "\"" );
+ else {
+ if ( nquotes % 2 == 0 )
+ fprintf( fp, "``" );
+ else fprintf( fp, "\'\'" );
+ nquotes++;
+ }
+ }
+ }
+
+ if ( format_opts & BIBL_FORMAT_BIBOUT_BRACKETS ) fprintf( fp, "}" );
+ else fprintf( fp, "\"" );
+}
+
+static void
+output_and_use( FILE *fp, fields *info, int n, char *outtag, int format_opts )
+{
+ output_element( fp, outtag, info->data[n].data, format_opts );
+ fields_setused( info, n );
+}
+
+static void
+output_simple( FILE *fp, fields *info, char *intag, char *outtag,
+ int format_opts )
+{
+ int n = fields_find( info, intag, -1 );
+ if ( n!=-1 ) {
+ output_and_use( fp, info, n, outtag, format_opts );
+ }
+}
+
+static void
+output_simpleall( FILE *fp, fields *info, char *intag, char *outtag,
+ int format_opts )
+{
+ int i;
+ for ( i=0; i<info->n; ++i ) {
+ if ( strcasecmp( info->tag[i].data, intag ) ) continue;
+ output_and_use( fp, info, i, outtag, format_opts );
+ }
+}
+
+static void
+output_fileattach( FILE *fp, fields *info, int format_opts )
+{
+ str data;
+ int i;
+ str_init( &data );
+ for ( i=0; i<info->n; ++i ) {
+ if ( strcasecmp( info->tag[i].data, "FILEATTACH" ) ) continue;
+ str_strcpy( &data, ":" );
+ str_strcatc( &data, &(info->data[i]) );
+ if ( strsearch( info->data[i].data, ".pdf" ) )
+ str_strcatc( &data, ":PDF" );
+ else if ( strsearch( info->data[i].data, ".html" ) )
+ str_strcatc( &data, ":HTML" );
+ else str_strcatc( &data, ":TYPE" );
+ output_element( fp, "file", data.data, format_opts );
+ fields_setused( info, i );
+ str_empty( &data );
+ }
+ str_free( &data );
+}
+
+static void
+add_person( str *s, char *p )
+{
+ int nseps = 0, nch;
+ while ( *p ) {
+ nch = 0;
+ if ( nseps==1 ) str_addchar( s, ',' );
+ if ( nseps ) str_addchar( s, ' ' );
+ while ( *p && *p!='|' ) {
+ str_addchar( s, *p++ );
+ nch++;
+ }
+ if ( *p=='|' ) p++;
+ if ( nseps!=0 && nch==1 ) str_addchar( s, '.' );
+ nseps++;
+ }
+}
+
+static void
+output_people( FILE *fp, fields *info, unsigned long refnum, char *tag,
+ char *ctag, char *atag, char *bibtag, int level,
+ int format_opts )
+{
+ str allpeople;
+ int i, npeople, person, corp, asis;
+
+ /* primary citation authors */
+ npeople = 0;
+ for ( i=0; i<info->n; ++i ) {
+ if ( level!=-1 && info->level[i]!=level ) continue;
+ person = ( strcasecmp( info->tag[i].data, tag ) == 0 );
+ corp = ( strcasecmp( info->tag[i].data, ctag ) == 0 );
+ asis = ( strcasecmp( info->tag[i].data, atag ) == 0 );
+ if ( person || corp || asis ) {
+ if ( npeople==0 ) str_init( &allpeople );
+ else {
+ if ( format_opts & BIBL_FORMAT_BIBOUT_WHITESPACE )
+ str_strcatc(&allpeople,"\n\t\tand ");
+ else str_strcatc( &allpeople, "\nand " );
+ }
+ if ( corp ) {
+ str_addchar( &allpeople, '{' );
+ str_strcatc( &allpeople, info->data[i].data );
+ str_addchar( &allpeople, '}' );
+ } else if ( asis ) {
+ str_addchar( &allpeople, '{' );
+ str_strcatc( &allpeople, info->data[i].data );
+ str_addchar( &allpeople, '}' );
+ } else add_person( &allpeople, info->data[i].data );
+ fields_setused( info, i );
+ npeople++;
+ }
+ }
+ if ( npeople ) {
+ output_element( fp, bibtag, allpeople.data, format_opts );
+ str_free( &allpeople );
+ }
+}
+
+static void
+output_title( FILE *fp, fields *info, unsigned long refnum, char *bibtag, int level, int format_opts )
+{
+ str title;
+ int n1 = -1, n2 = -1;
+ /* Option is for short titles of journals */
+ if ( ( format_opts & BIBL_FORMAT_BIBOUT_SHORTTITLE ) && level==1 ) {
+ n1 = fields_find( info, "SHORTTITLE", level );
+ n2 = fields_find( info, "SHORTSUBTITLE", level );
+ }
+ if ( n1==-1 ) {
+ n1 = fields_find( info, "TITLE", level );
+ n2 = fields_find( info, "SUBTITLE", level );
+ }
+ if ( n1!=-1 ) {
+ str_init( &title );
+ str_strcpy( &title, &(info->data[n1]) );
+ fields_setused( info, n1 );
+ if ( n2!=-1 ) {
+ if ( info->data[n1].data[info->data[n1].len]!='?' )
+ str_strcatc( &title, ": " );
+ else str_addchar( &title, ' ' );
+ str_strcatc( &title, info->data[n2].data );
+ fields_setused( info, n2 );
+ }
+ output_element( fp, bibtag, title.data, format_opts );
+ str_free( &title );
+ }
+}
+
+static void
+output_date( FILE *fp, fields *info, unsigned long refnum, int format_opts )
+{
+ char *months[12] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
+ "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
+ int n, month;
+ n = fields_find( info, "DATE:YEAR", -1 );
+ if ( n==-1 ) n = fields_find( info, "PARTDATE:YEAR", -1 );
+ if ( n!=-1 ) {
+ output_element( fp, "year", info->data[n].data, format_opts );
+ fields_setused( info, n );
+ }
+ n = fields_find( info, "DATE:MONTH", -1 );
+ if ( n==-1 ) n = fields_find( info, "PARTDATE:MONTH", -1 );
+ if ( n!=-1 ) {
+ month = atoi( info->data[n].data );
+ if ( month>0 && month<13 )
+ output_element( fp, "month", months[month-1], format_opts );
+ else
+ output_element( fp, "month", info->data[n].data, format_opts );
+ fields_setused( info, n );
+ }
+ n = fields_find( info, "DATE:DAY", -1 );
+ if ( n==-1 ) n = fields_find( info, "PARTDATE:DAY", -1 );
+ if ( n!=-1 ) {
+ output_element( fp, "day", info->data[n].data, format_opts );
+ fields_setused( info, n );
+ }
+}
+
+
+/* output article number as pages if true pages aren't found */
+static void
+output_articlenumber( FILE *fp, fields *info, unsigned long refnum,
+ int format_opts )
+{
+ int ar = fields_find( info, "ARTICLENUMBER", -1 );
+ if ( ar!=-1 ) {
+ str pages;
+ str_init( &pages );
+ str_strcatc( &pages, info->data[ar].data );
+ output_element( fp, "pages", pages.data, format_opts );
+ fields_setused( info, ar );
+ str_free( &pages );
+ }
+}
+
+static void
+output_arxiv( FILE *fp, fields *info, int format_opts )
+{
+ int ar = fields_find( info, "ARXIV", -1 );
+ if ( ar!=-1 ) {
+ str arxiv;
+ str_init( &arxiv );
+ arxiv_to_url( info, ar, "URL", &arxiv );
+ if ( arxiv.len )
+ output_element( fp, "url", arxiv.data, format_opts );
+ str_free( &arxiv );
+ }
+}
+
+static void
+output_pmid( FILE *fp, fields *info, int format_opts )
+{
+ int pm = fields_find( info, "PMID", -1 );
+ if ( pm!=-1 ) {
+ str pmid;
+ str_init( &pmid );
+ pmid_to_url( info, pm, "URL", &pmid );
+ if ( pmid.len )
+ output_element( fp, "url", pmid.data, format_opts );
+ str_free( &pmid );
+ }
+}
+
+static void
+output_jstor( FILE *fp, fields *info, int format_opts )
+{
+ int js = fields_find( info, "JSTOR", -1 );
+ if ( js!=-1 ) {
+ str jstor;
+ str_init( &jstor );
+ jstor_to_url( info, js, "URL", &jstor );
+ if ( jstor.len )
+ output_element( fp, "url", jstor.data, format_opts );
+ str_free( &jstor );
+ }
+}
+
+static void
+output_pages( FILE *fp, fields *info, unsigned long refnum, int format_opts )
+{
+ str pages;
+ int sn, en;
+ sn = fields_find( info, "PAGES:START", -1 );
+ en = fields_find( info, "PAGES:STOP", -1 );
+ if ( sn==-1 && en==-1 ) {
+ output_articlenumber( fp, info, refnum, format_opts );
+ return;
+ }
+ str_init( &pages );
+ if ( sn!=-1 ) {
+ str_strcat( &pages, info->data[sn].data );
+ fields_setused( info, sn );
+ }
+ if ( sn!=-1 && en!=-1 ) {
+ if ( format_opts & BIBL_FORMAT_BIBOUT_SINGLEDASH )
+ str_strcat( &pages, "-" );
+ else
+ str_strcat( &pages, "--" );
+ }
+ if ( en!=-1 ) {
+ str_strcat( &pages, info->data[en].data );
+ fields_setused( info, en );
+ }
+ output_element( fp, "pages", pages.data, format_opts );
+ str_free( &pages );
+}
+
+/*
+ * from Tim Hicks:
+ * I'm no expert on bibtex, but those who know more than I on our mailing
+ * list suggest that 'issue' isn't a recognised key for bibtex and
+ * therefore that bibutils should be aliasing IS to number at some point in
+ * the conversion.
+ *
+ * Therefore prefer outputting issue/number as number and only keep
+ * a distinction if both issue and number are present for a particular
+ * reference.
+ */
+
+static void
+output_issue_number( FILE *fp, fields *info, int format_opts )
+{
+ int nissue = fields_find( info, "ISSUE", -1 );
+ int nnumber = fields_find( info, "NUMBER", -1 );
+ if ( nissue!=-1 && nnumber!=-1 ) {
+ output_and_use( fp, info, nissue, "issue", format_opts );
+ output_and_use( fp, info, nnumber, "number", format_opts );
+/* output_element( fp, "issue", info->data[nissue].data,
+ format_opts );
+ fields_setused( info, nissue );
+ output_element( fp, "number", info->data[nnumber].data,
+ format_opts );
+ fields_setused( info, nnumber );*/
+ } else if ( nissue!=-1 ) {
+ output_and_use( fp, info, nissue, "number", format_opts );
+/*
+ output_element( fp, "number", info->data[nissue].data,
+ format_opts );
+ fields_setused( info, nissue );*/
+ } else if ( nnumber!=-1 ) {
+ output_and_use( fp, info, nnumber, "number", format_opts );
+/*
+ output_element( fp, "number", info->data[nnumber].data,
+ format_opts );
+ fields_setused( info, nnumber );
+*/
+ }
+}
+
+void
+bibtexout_write( fields *info, FILE *fp, param *p, unsigned long refnum )
+{
+ int type;
+ fields_clearused( info );
+ type = bibtexout_type( info, "", refnum, p );
+ output_type( fp, type, p->format_opts );
+ if ( !( p->format_opts & BIBL_FORMAT_BIBOUT_DROPKEY ) )
+ output_citekey( fp, info, refnum, p->format_opts );
+ output_people( fp, info, refnum, "AUTHOR", "AUTHOR:CORP", "AUTHOR:ASIS", "author", 0,
+ p->format_opts );
+ output_people( fp, info, refnum, "EDITOR", "EDITOR:CORP", "EDITOR:ASIS", "editor", -1,
+ p->format_opts );
+ output_people( fp, info, refnum, "TRANSLATOR", "TRANSLATOR:CORP", "TRANSLATOR:ASIS", "translator", -1, p->format_opts );
+
+ /* item=main level title */
+ if ( type==TYPE_INBOOK )
+ output_title( fp, info, refnum, "chapter", 0, p->format_opts );
+ else
+ output_title( fp, info, refnum, "title", 0, p->format_opts );
+
+ /* item=host level title */
+ if ( type==TYPE_ARTICLE )
+ output_title( fp, info, refnum, "journal", 1, p->format_opts );
+ else if ( type==TYPE_INBOOK ) {
+ output_title( fp, info, refnum, "title", 1, p->format_opts );
+ output_title( fp, info, refnum, "series", 2, p->format_opts );
+ }
+ else if ( type==TYPE_INPROCEEDINGS || type==TYPE_INCOLLECTION ) {
+ output_title( fp, info, refnum, "booktitle", 1, p->format_opts );
+ output_title( fp, info, refnum, "series", 2, p->format_opts );
+ }
+ else if ( type==TYPE_PHDTHESIS || type==TYPE_MASTERSTHESIS ) {
+ output_title( fp, info, refnum, "series", 1, p->format_opts );
+ }
+ else if ( type==TYPE_BOOK || type==TYPE_COLLECTION || type==TYPE_PROCEEDINGS )
+ output_title( fp, info, refnum, "series", 1, p->format_opts );
+
+ output_date( fp, info, refnum, p->format_opts );
+ output_simple( fp, info, "EDITION", "edition", p->format_opts );
+ output_simple( fp, info, "PUBLISHER", "publisher", p->format_opts );
+ output_simple( fp, info, "ADDRESS", "address", p->format_opts );
+ output_simple( fp, info, "VOLUME", "volume", p->format_opts );
+ output_issue_number( fp, info, p->format_opts );
+/* output_simple( fp, info, "ISSUE", "issue", p->format_opts );
+ output_simple( fp, info, "NUMBER", "number", p->format_opts );s*/
+ output_pages( fp, info, refnum, p->format_opts );
+ output_simpleall( fp, info, "KEYWORD", "keywords", p->format_opts );
+ output_simple( fp, info, "CONTENTS", "contents", p->format_opts );
+ output_simple( fp, info, "ABSTRACT", "abstract", p->format_opts );
+ output_simple( fp, info, "LOCATION", "location", p->format_opts );
+ output_simple( fp, info, "DEGREEGRANTOR", "school", p->format_opts );
+ output_simple( fp, info, "DEGREEGRANTOR:ASIS", "school", p->format_opts );
+ output_simple( fp, info, "DEGREEGRANTOR:CORP", "school", p->format_opts );
+ output_simpleall( fp, info, "NOTES", "note", p->format_opts );
+ output_simpleall( fp, info, "ANNOTE", "annote", p->format_opts );
+ output_simple( fp, info, "ISBN", "isbn", p->format_opts );
+ output_simple( fp, info, "ISSN", "issn", p->format_opts );
+ output_simple( fp, info, "DOI", "doi", p->format_opts );
+ output_simpleall( fp, info, "URL", "url", p->format_opts );
+ output_fileattach( fp, info, p->format_opts );
+ output_arxiv( fp, info, p->format_opts );
+ output_pmid( fp, info, p->format_opts );
+ output_jstor( fp, info, p->format_opts );
+ output_simple( fp, info, "LANGUAGE", "language", p->format_opts );
+ if ( p->format_opts & BIBL_FORMAT_BIBOUT_FINALCOMMA ) fprintf( fp, "," );
+ fprintf( fp, "\n}\n\n" );
+ fflush( fp );
+}
+
+void
+bibtexout_writeheader( FILE *outptr, param *p )
+{
+ if ( p->utf8bom ) utf8_writebom( outptr );
+}
+
diff --git a/support/texlab/crates/bibutils_sys/src/name.c b/support/texlab/crates/bibutils_sys/src/name.c
new file mode 100644
index 0000000000..fe2c2c08fd
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/name.c
@@ -0,0 +1,535 @@
+/*
+ * name.c
+ *
+ * mangle names w/ and w/o commas
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <ctype.h>
+#include <string.h>
+#include "utf8.h"
+#include "unicode.h"
+#include "is_ws.h"
+#include "str.h"
+#include "fields.h"
+#include "slist.h"
+#include "intlist.h"
+#include "name.h"
+#include "msvc_fix.h"
+
+/* name_build_withcomma()
+ *
+ * reconstruct parsed names in format: 'family|given|given||suffix'
+ * to 'family suffix, given given
+ */
+void
+name_build_withcomma( str *s, const char *p )
+{
+ const char *suffix, *stopat;
+ int nseps = 0, nch;
+
+ str_empty( s );
+
+ suffix = strstr( p, "||" );
+ if ( suffix ) stopat = suffix;
+ else stopat = strchr( p, '\0' );
+
+ while ( p != stopat ) {
+ nch = 0;
+ if ( nseps==1 ) {
+ if ( suffix ) {
+ str_strcatc( s, " " );
+ str_strcatc( s, suffix+2 );
+ }
+ str_addchar( s, ',' );
+ }
+ if ( nseps ) str_addchar( s, ' ' );
+ while ( p!=stopat && *p!='|' ) {
+ str_addchar( s, *p++ );
+ nch++;
+ }
+ if ( p!=stopat && *p=='|' ) p++;
+ if ( nseps!=0 && nch==1 ) str_addchar( s, '.' );
+ nseps++;
+ }
+}
+
+/* name_findetal()
+ *
+ * Returns number of final tokens to be skipped in processing
+ * of name lists.
+ */
+int
+name_findetal( slist *tokens )
+{
+ str *s1, *s2;
+
+ if ( tokens->n==0 ) return 0;
+
+ /* ...check last entry for full 'et al.' or variant */
+ s2 = slist_str( tokens, tokens->n - 1 );
+ if ( !strcasecmp( s2->data, "et alia" ) ||
+ !strcasecmp( s2->data, "et al." ) ||
+ !strcasecmp( s2->data, "et al.," ) ||
+ !strcasecmp( s2->data, "et al" ) ||
+ !strcasecmp( s2->data, "etalia" ) ||
+ !strcasecmp( s2->data, "etal." ) ||
+ !strcasecmp( s2->data, "etal" ) ) {
+ return 1;
+ }
+
+ if ( tokens->n==1 ) return 0;
+
+ /* ...check last two entries for full 'et' and 'al.' */
+ s1 = slist_str( tokens, tokens->n - 2 );
+ if ( !strcasecmp( s1->data, "et" ) ) {
+ if ( !strcasecmp( s2->data, "alia" ) ||
+ !strcasecmp( s2->data, "al." ) ||
+ !strcasecmp( s2->data, "al.," ) ||
+ !strcasecmp( s2->data, "al" ) ) {
+ return 2;
+ }
+ }
+
+ return 0;
+}
+
+#define WITHCOMMA (1)
+#define JUNIOR (2)
+#define SENIOR (4)
+#define THIRD (8)
+#define FOURTH (16)
+
+typedef struct {
+ char *s;
+ unsigned short value;
+} suffix_value_t;
+
+static int
+identify_suffix( char *p )
+{
+ suffix_value_t suffixes[] = {
+ { "Jr." , JUNIOR },
+ { "Jr" , JUNIOR },
+ { "Jr.," , JUNIOR | WITHCOMMA },
+ { "Jr," , JUNIOR | WITHCOMMA },
+ { "Sr." , SENIOR },
+ { "Sr" , SENIOR },
+ { "Sr.," , SENIOR | WITHCOMMA },
+ { "Sr," , SENIOR | WITHCOMMA },
+ { "III" , THIRD },
+ { "III," , THIRD | WITHCOMMA },
+ { "IV" , FOURTH },
+ { "IV," , FOURTH | WITHCOMMA },
+ };
+ int i, nsuffixes = sizeof( suffixes ) / sizeof( suffixes[0] );
+ for ( i=0; i<nsuffixes; ++i ) {
+ if ( !strcmp( p, suffixes[i].s ) )
+ return suffixes[i].value;
+ }
+ return 0;
+}
+
+static int
+has_suffix( slist *tokens, int begin, int end, int *suffixpos )
+{
+ int i, ret;
+ str *s;
+
+ /* ...check last element, e.g. "H. F. Author, Sr." */
+ s = slist_str( tokens, end - 1 );
+ ret = identify_suffix( s->data );
+ if ( ret ) {
+ *suffixpos = end - 1;
+ return ret;
+ }
+
+ /* ...try to find one after a comma, e.g. "Author, Sr., H. F." */
+ for ( i=begin; i<end-1; ++i ) {
+ s = slist_str( tokens, i );
+ if ( s->len && s->data[ s->len - 1 ]==',' ) {
+ s = slist_str( tokens, i+1 );
+ ret = identify_suffix( s->data );
+ if ( ret ) {
+ *suffixpos = i+1;
+ return ret;
+ }
+ }
+ }
+
+ return 0;
+}
+
+static int
+add_given_split( str *name, str *s )
+{
+ unsigned int unicode_char;
+ unsigned int pos = 0;
+ char utf8s[7];
+ while ( pos < s->len ) {
+ unicode_char = utf8_decode( s->data, &pos );
+ if ( is_ws( (char) unicode_char ) ) continue;
+ else if ( unicode_char==(unsigned int)'.' ) {
+ if ( s->data[pos]=='-' ) {
+ str_strcatc( name, ".-" );
+ pos += 1;
+ unicode_char = utf8_decode( s->data, &pos );
+ utf8_encode_str( unicode_char, utf8s );
+ str_strcatc( name, utf8s );
+ str_addchar( name, '.' );
+ }
+ } else if ( unicode_char==(unsigned int)'-' ) {
+ str_strcatc( name, ".-" );
+ unicode_char = utf8_decode( s->data, &pos );
+ utf8_encode_str( unicode_char, utf8s );
+ str_strcatc( name, utf8s );
+ str_addchar( name, '.' );
+ } else if ( unicode_char==(unsigned int)',' ) { /* nothing */
+ } else {
+ str_addchar( name, '|' );
+ utf8_encode_str( unicode_char, utf8s );
+ str_strcatc( name, utf8s );
+ }
+ }
+ return 1;
+}
+
+static unsigned char
+token_has_no_upper( slist *tokens, int n )
+{
+ unsigned short m;
+ str *s;
+ s = slist_str( tokens, n );
+ m = unicode_utf8_classify_str( s );
+ if ( m & UNICODE_UPPER ) return 0;
+ else return 1;
+}
+
+static unsigned char
+token_has_upper( slist *tokens, int n )
+{
+ if ( token_has_no_upper( tokens, n ) ) return 0;
+ else return 1;
+}
+
+static int
+name_multielement_nocomma( intlist *given, intlist *family, slist *tokens, int begin, int end, int suffixpos )
+{
+ int family_start, family_end;
+ int i, n;
+
+ /* ...family name(s) */
+ family_start = family_end = end - 1;
+ if ( family_start == suffixpos ) family_start = family_end = end - 2;
+
+ /* ...if family name is capitalized, then look for first non-capitalized
+ * ...token and combine range to family name, e.g. single quoted parts of
+ * ..."Ludwig 'von Beethoven'"
+ * ..."Johannes Diderik 'van der Waals'"
+ * ..."Charles Louis Xavier Joseph 'de la Valla Poussin' */
+ if ( token_has_upper( tokens, family_start ) ) {
+ i = family_start - 1;
+ n = -1;
+ while ( i >= begin && ( n==-1 || token_has_no_upper( tokens, i ) ) ) {
+ if ( token_has_no_upper( tokens, i ) ) n = i;
+ i--;
+ }
+ if ( n != -1 ) family_start = n;
+ }
+ for ( i=family_start; i<family_end+1; i++ )
+ intlist_add( family, i );
+
+ /* ...given names */
+ for ( i=begin; i<end-1; i++ ) {
+ if ( i>=family_start && i<=family_end ) continue;
+ if ( i==suffixpos ) continue;
+ intlist_add( given, i );
+ }
+
+ return 1;
+}
+
+static int
+name_multielement_comma( intlist *given, intlist *family, slist *tokens, int begin, int end, int comma, int suffixpos )
+{
+ str *s;
+ int i;
+
+ /* ...family names */
+ for ( i=begin; i<comma; ++i ) {
+ if ( i==suffixpos ) continue;
+ intlist_add( family, i );
+ }
+ s = slist_str( tokens, comma );
+ str_trimend( s, 1 ); /* remove comma */
+ intlist_add( family, comma );
+
+ /* ...given names */
+ for ( i=comma+1; i<end; ++i ) {
+ if ( i==suffixpos ) continue;
+ intlist_add( given, i );
+ }
+
+ return 1;
+}
+
+static int
+name_mutlielement_build( str *name, intlist *given, intlist *family, slist *tokens )
+{
+ unsigned short case_given = 0, case_family = 0, should_split = 0;
+ str *s;
+ int i, m;
+
+ /* ...copy and analyze family name */
+ for ( i=0; i<family->n; ++i ) {
+ m = intlist_get( family, i );
+ s = slist_str( tokens, m );
+ if ( i ) str_addchar( name, ' ' );
+ str_strcat( name, s );
+ case_family |= unicode_utf8_classify_str( s );
+ }
+
+ /* ...check given name case */
+ for ( i=0; i<given->n; ++i ) {
+ m = intlist_get( given, i );
+ s = slist_str( tokens, m );
+ case_given |= unicode_utf8_classify_str( s );
+ }
+
+ if ( ( ( case_family & UNICODE_MIXEDCASE ) == UNICODE_MIXEDCASE ) &&
+ ( ( case_given & UNICODE_MIXEDCASE ) == UNICODE_UPPER ) ) {
+ should_split = 1;
+ }
+
+ for ( i=0; i<given->n; ++i ) {
+ m = intlist_get( given, i );
+ s = slist_str( tokens, m );
+ if ( !should_split ) {
+ str_addchar( name, '|' );
+ str_strcat( name, s );
+ } else add_given_split( name, s );
+ }
+ return 1;
+}
+
+static int
+name_construct_multi( str *outname, slist *tokens, int begin, int end )
+{
+ int i, suffix, suffixpos=-1, comma=-1;
+ intlist given, family;
+ str *s;
+
+ intlist_init( &family );
+ intlist_init( &given );
+
+ str_empty( outname );
+
+ suffix = has_suffix( tokens, begin, end, &suffixpos );
+
+ for ( i=begin; i<end && comma==-1; i++ ) {
+ if ( i==suffixpos ) continue;
+ s = slist_str( tokens, i );
+ if ( s->data[ s->len -1 ] == ',' ) {
+ if ( suffix && i==suffixpos-1 && !(suffix&WITHCOMMA) )
+ str_trimend( s, 1 );
+ else
+ comma = i;
+ }
+ }
+
+ if ( comma != -1 )
+ name_multielement_comma( &given, &family, tokens, begin, end, comma, suffixpos );
+ else
+ name_multielement_nocomma( &given, &family, tokens, begin, end, suffixpos );
+
+ name_mutlielement_build( outname, &given, &family, tokens );
+
+ if ( suffix ) {
+ if ( suffix & JUNIOR ) str_strcatc( outname, "||Jr." );
+ if ( suffix & SENIOR ) str_strcatc( outname, "||Sr." );
+ if ( suffix & THIRD ) str_strcatc( outname, "||III" );
+ if ( suffix & FOURTH ) str_strcatc( outname, "||IV" );
+ }
+
+ intlist_free( &given );
+ intlist_free( &family );
+
+ return 1;
+}
+
+int
+name_addmultielement( fields *info, const char *tag, slist *tokens, int begin, int end, int level )
+{
+ int status, ok = 1;
+ str name;
+
+ str_init( &name );
+
+ name_construct_multi( &name, tokens, begin, end );
+ status = fields_add_can_dup( info, tag, name.data, level );
+ if ( status!=FIELDS_OK ) ok = 0;
+
+ str_free( &name );
+
+ return ok;
+}
+
+
+/* name_addsingleelement()
+ *
+ * Treat names that are single tokens, e.g. {Random Corporation, Inc.} in bibtex
+ * as a name that should not be mangled (e.g. AUTHOR:ASIS or AUTHOR:CORP, if corp
+ * is set).
+ */
+int
+name_addsingleelement( fields *info, const char *tag, const char *name, int level, int corp )
+{
+ int status, ok = 1;
+ str outtag;
+
+ str_init( &outtag );
+
+ str_strcpyc( &outtag, tag );
+ if ( !corp ) str_strcatc( &outtag, ":ASIS" );
+ else str_strcatc( &outtag, ":CORP" );
+
+ status = fields_add_can_dup( info, outtag.data, name, level );
+ if ( status!=FIELDS_OK ) ok = 0;
+
+ str_free( &outtag );
+ return ok;
+}
+
+/*
+ * Takes a single name in a string and parses it.
+ * Skipped by bibtex/biblatex that come pre-parsed.
+ *
+ * Returns 0 on error.
+ * Returns 1 on ok.
+ * Returns 2 on ok and name in asis list
+ * Returns 3 on ok and name in corps list
+ */
+int
+name_parse( str *outname, str *inname, slist *asis, slist *corps )
+{
+ int status, ret = 1;
+ slist tokens;
+
+ str_empty( outname );
+ if ( !inname || !inname->len ) return ret;
+
+ slist_init( &tokens );
+
+ if ( asis && slist_find( asis, inname ) !=-1 ) {
+ str_strcpy( outname, inname );
+ ret = 2;
+ goto out;
+ } else if ( corps && slist_find( corps, inname ) != -1 ) {
+ str_strcpy( outname, inname );
+ ret = 3;
+ goto out;
+ }
+
+ str_findreplace( inname, ",", ", " );
+ status = slist_tokenize( &tokens, inname, " ", 1 );
+ if ( status!=SLIST_OK ) {
+ str_strcpy( outname, inname );
+ ret = 2;
+ goto out;
+ }
+
+ if ( tokens.n==1 ) {
+ str_strcpy( outname, inname );
+ ret = 2;
+ } else {
+ name_construct_multi( outname, &tokens, 0, tokens.n );
+ ret = 1;
+ }
+
+out:
+
+ slist_free( &tokens );
+
+ return ret;
+}
+
+static const char *
+name_copy( str *name, const char *p )
+{
+ const char *start, *end, *q;
+
+ str_empty( name );
+
+ start = p = skip_ws( p );
+
+ /* strip tailing whitespace and commas */
+ while ( *p && *p!='|' ) p++;
+
+ end = p;
+ while ( is_ws( *end ) || *end==',' || *end=='|' || *end=='\0' )
+ end--;
+ if ( *p=='|' ) p++;
+
+ for ( q=start; q<=end; q++ )
+ str_addchar( name, *q );
+
+ return p;
+}
+
+/*
+ * name_add( info, newtag, data, level )
+ *
+ * take name(s) in data, multiple names should be separated by
+ * '|' characters and divide into individual name, e.g.
+ * "H. F. Author|W. G. Author|Q. X. Author"
+ *
+ * for each name, compare to names in the "as is" or "corporation"
+ * lists...these are not personal names and should be added to the
+ * bibliography fields directly and should not be mangled
+ *
+ * for each personal name, send to appropriate algorithm depending
+ * on if the author name is in the format "H. F. Author" or
+ * "Author, H. F."
+ */
+int
+name_add( fields *info, const char *tag, const char *q, int level, slist *asis, slist *corps )
+{
+ int ok, status, nametype, ret = 1;
+ str inname, outname;
+ slist tokens;
+
+ if ( !q ) return 0;
+
+ slist_init( &tokens );
+ strs_init( &inname, &outname, NULL );
+
+ while ( *q ) {
+
+ q = name_copy( &inname, q );
+
+ nametype = name_parse( &outname, &inname, asis, corps );
+ if ( !nametype ) { ret = 0; goto out; }
+
+ if ( nametype==1 ) {
+ status = fields_add_can_dup( info, tag, outname.data, level );
+ ok = ( status==FIELDS_OK ) ? 1 : 0;
+ }
+ else if ( nametype==2 )
+ ok = name_addsingleelement( info, tag, outname.data, level, 0 );
+ else
+ ok = name_addsingleelement( info, tag, outname.data, level, 1 );
+
+ if ( !ok ) { ret = 0; goto out; }
+
+ }
+
+out:
+ strs_free( &inname, &outname, NULL );
+ slist_free( &tokens );
+
+ return ret;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/name.h b/support/texlab/crates/bibutils_sys/src/name.h
new file mode 100644
index 0000000000..cd501fcbfd
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/name.h
@@ -0,0 +1,26 @@
+/*
+ * name.h
+ *
+ * mangle names w/ and w/o commas
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef NAME_H
+#define NAME_H
+
+#include "str.h"
+#include "slist.h"
+#include "fields.h"
+
+int name_add( fields *info, const char *tag, const char *q, int level, slist *asis, slist *corps );
+void name_build_withcomma( str *s, const char *p );
+int name_parse( str *outname, str *inname, slist *asis, slist *corps );
+int name_addsingleelement( fields *info, const char *tag, const char *name, int level, int corp );
+int name_addmultielement( fields *info, const char *tag, slist *tokens, int begin, int end, int level );
+int name_findetal( slist *tokens );
+
+#endif
+
diff --git a/support/texlab/crates/bibutils_sys/src/nbibin.c b/support/texlab/crates/bibutils_sys/src/nbibin.c
new file mode 100644
index 0000000000..9df56f6c7f
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/nbibin.c
@@ -0,0 +1,536 @@
+/*
+ * nbibin.c
+ *
+ * Copyright (c) Chris Putnam 2016-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include "is_ws.h"
+#include "str.h"
+#include "str_conv.h"
+#include "fields.h"
+#include "name.h"
+#include "title.h"
+#include "url.h"
+#include "serialno.h"
+#include "reftypes.h"
+#include "bibformats.h"
+#include "generic.h"
+
+extern variants nbib_all[];
+extern int nbib_nall;
+
+/*****************************************************
+ PUBLIC: void nbib_initparams()
+*****************************************************/
+
+static int nbib_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset );
+static int nbib_processf( fields *nbib, const char *p, const char *filename, long nref, param *pm );
+static int nbib_typef( fields *nbib, const char *filename, int nref, param *p );
+static int nbib_convertf( fields *nbib, fields *info, int reftype, param *p );
+
+int
+nbibin_initparams( param *pm, const char *progname )
+{
+ pm->readformat = BIBL_NBIBIN;
+ pm->charsetin = BIBL_CHARSET_DEFAULT;
+ pm->charsetin_src = BIBL_SRC_DEFAULT;
+ pm->latexin = 0;
+ pm->xmlin = 0;
+ pm->utf8in = 0;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->output_raw = 0;
+
+ pm->readf = nbib_readf;
+ pm->processf = nbib_processf;
+ pm->cleanf = NULL;
+ pm->typef = nbib_typef;
+ pm->convertf = nbib_convertf;
+ pm->all = nbib_all;
+ pm->nall = nbib_nall;
+
+ slist_init( &(pm->asis) );
+ slist_init( &(pm->corps) );
+
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int nbib_readf()
+*****************************************************/
+
+/* RIS definition of a tag is strict:
+ character 1 = uppercase alphabetic character
+ character 2 = uppercase alphabetic character
+ character 3 = character or space (ansi 32)
+ character 4 = character or space (ansi 32)
+ character 5 = dash (ansi 45)
+ character 6 = space (ansi 32)
+*/
+static inline int
+is_upperchar( const char c )
+{
+ if ( c>='A' && c<='Z' ) return 1;
+ else return 0;
+}
+
+static inline int
+is_upperchar_space( const char c )
+{
+ if ( c==' ' ) return 1;
+ if ( c>='A' && c<='Z' ) return 1;
+ else return 0;
+}
+
+static int
+nbib_istag( const char *buf )
+{
+ if ( !is_upperchar( buf[0] ) ) return 0;
+ if ( !is_upperchar( buf[1] ) ) return 0;
+ if ( !is_upperchar_space( buf[2] ) ) return 0;
+ if ( !is_upperchar_space( buf[3] ) ) return 0;
+ if (buf[4]!='-') return 0;
+ if (buf[5]!=' ') return 0;
+ return 1;
+}
+
+static int
+readmore( FILE *fp, char *buf, int bufsize, int *bufpos, str *line )
+{
+ if ( line->len ) return 1;
+ else return str_fget( fp, buf, bufsize, bufpos, line );
+}
+
+static int
+skip_utf8_bom( str *line, int *fcharset )
+{
+ unsigned char *up;
+
+ if ( line->len < 3 ) return 0;
+
+ up = ( unsigned char *) str_cstr( line );
+ if ( up[0]==0xEF && up[1]==0xBB && up[2]==0xBF ) {
+ *fcharset = CHARSET_UNICODE;
+ return 3;
+ }
+
+ return 0;
+}
+
+static int
+nbib_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset )
+{
+ int n, haveref = 0, inref = 0, readtoofar = 0;
+ char *p;
+
+ *fcharset = CHARSET_UNKNOWN;
+
+ while ( !haveref && readmore( fp, buf, bufsize, bufpos, line ) ) {
+
+ /* ...references are terminated by an empty line */
+ if ( str_is_empty( line ) ) {
+ if ( reference->len ) haveref = 1;
+ continue;
+ }
+
+ /* ...recognize and skip over UTF8 BOM */
+ n = skip_utf8_bom( line, fcharset );
+ p = &( line->data[n] );
+
+ /* Each reference starts with 'PMID- ' && ends with blank line */
+ if ( strncmp(p,"PMID- ",6)==0 ) {
+ if ( !inref ) {
+ inref = 1;
+ } else {
+ /* we've read too far.... */
+ readtoofar = 1;
+ inref = 0;
+ }
+ }
+ if ( nbib_istag( p ) ) {
+ if ( !inref ) {
+ fprintf(stderr,"Warning. Tagged line not "
+ "in properly started reference.\n");
+ fprintf(stderr,"Ignored: '%s'\n", p );
+ } else if ( !strncmp(p,"ER -",5) ) {
+ inref = 0;
+ } else {
+ str_addchar( reference, '\n' );
+ str_strcatc( reference, p );
+ }
+ }
+ /* not a tag, but we'll append to last values ...*/
+ else if ( inref && strlen( p ) >= 6 ) {
+ str_strcatc( reference, p+5 );
+ }
+ if ( !readtoofar ) str_empty( line );
+ }
+ if ( inref ) haveref = 1;
+ return haveref;
+}
+
+/*****************************************************
+ PUBLIC: int nbib_processf()
+*****************************************************/
+
+static const char*
+process_line2( str *tag, str *value, const char *p )
+{
+ while ( *p==' ' || *p=='\t' ) p++;
+ while ( *p && *p!='\r' && *p!='\n' )
+ str_addchar( value, *p++ );
+ while ( *p=='\r' || *p=='\n' ) p++;
+ return p;
+}
+
+static const char*
+process_line( str *tag, str *value, const char *p )
+{
+ int i;
+
+ i = 0;
+ while ( i<6 && *p ) {
+ if ( *p!=' ' && *p!='-' ) str_addchar( tag, *p );
+ p++;
+ i++;
+ }
+ while ( *p==' ' || *p=='\t' ) p++;
+ while ( *p && *p!='\r' && *p!='\n' )
+ str_addchar( value, *p++ );
+ str_trimendingws( value );
+ while ( *p=='\n' || *p=='\r' ) p++;
+ return p;
+}
+
+static int
+nbib_processf( fields *nbib, const char *p, const char *filename, long nref, param *pm )
+{
+ str tag, value;
+ int status, n;
+
+ strs_init( &tag, &value, NULL );
+
+ while ( *p ) {
+ if ( nbib_istag( p ) )
+ p = process_line( &tag, &value, p );
+ /* no anonymous fields allowed */
+ if ( str_has_value( &tag ) ) {
+ status = fields_add( nbib, str_cstr( &tag ), str_cstr( &value ), 0 );
+ if ( status!=FIELDS_OK ) return 0;
+ } else {
+ p = process_line2( &tag, &value, p );
+ n = fields_num( nbib );
+ if ( value.len && n>0 ) {
+ str *od;
+ od = fields_value( nbib, n-1, FIELDS_STRP );
+ str_addchar( od, ' ' );
+ str_strcat( od, &value );
+ }
+ }
+ strs_empty( &tag, &value, NULL );
+ }
+
+ strs_free( &tag, &value, NULL );
+ return 1;
+}
+
+/*****************************************************
+ PUBLIC: int nbib_typef()
+*****************************************************/
+
+/*
+ * PT - Case Reports
+ * PT - Journal Article
+ * PT - Research Support, N.I.H., Extramural
+ * PT - Review
+ */
+static int
+nbib_typef( fields *nbib, const char *filename, int nref, param *p )
+{
+ int reftype = 0, nrefname, is_default;
+ char *typename, *refname = "";
+ vplist_index i;
+ vplist a;
+
+ nrefname = fields_find( nbib, "PMID", LEVEL_MAIN );
+ if ( nrefname!=FIELDS_NOTFOUND ) refname = fields_value( nbib, nrefname, FIELDS_CHRP_NOUSE );
+
+ vplist_init( &a );
+
+ fields_findv_each( nbib, LEVEL_MAIN, FIELDS_CHRP_NOUSE, &a, "PT" );
+ is_default = 1;
+ for ( i=0; i<a.n; ++i ) {
+ typename = vplist_get( &a, i );
+ reftype = get_reftype( typename, nref, p->progname, p->all, p->nall, refname, &is_default, REFTYPE_SILENT );
+ if ( !is_default ) break;
+ }
+
+ if ( a.n==0 )
+ reftype = get_reftype( "", nref, p->progname, p->all, p->nall, refname, &is_default, REFTYPE_CHATTY );
+ else if ( is_default ) {
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Did not recognize type of refnum %d (%s).\n"
+ "\tDefaulting to %s.\n", nref, refname, p->all[0].type );
+ }
+
+ vplist_free( &a );
+
+ return reftype;
+}
+
+/*****************************************************
+ PUBLIC: int nbib_convertf()
+*****************************************************/
+
+/* PB - 2016 May 7 */
+
+static int
+nbibin_date( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int fstatus, status = BIBL_OK;
+ str s;
+ char *p;
+
+ p = str_cstr( invalue );
+ if ( !p ) return status;
+
+ str_init( &s );
+
+ /* ...handle year */
+ while ( *p && !is_ws( *p ) ) {
+ str_addchar( &s, *p );
+ p++;
+ }
+
+ if ( str_memerr( &s ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ if ( str_has_value( &s ) ) {
+ fstatus = fields_add( bibout, "DATE:YEAR", str_cstr( &s ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+
+ /* ...handle month */
+ str_empty( &s );
+ while ( is_ws( *p ) ) p++;
+ while ( *p && !is_ws( *p ) ) {
+ str_addchar( &s, *p );
+ p++;
+ }
+
+ if ( str_memerr( &s ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ if ( str_has_value( &s ) ) {
+ fstatus = fields_add( bibout, "DATE:MONTH", str_cstr( &s ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+
+ /* ...handle day */
+ str_empty( &s );
+ while ( is_ws( *p ) ) p++;
+ while ( *p && !is_ws( *p ) ) {
+ str_addchar( &s, *p );
+ p++;
+ }
+
+ if ( str_memerr( &s ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ if ( str_has_value( &s ) ) {
+ fstatus = fields_add( bibout, "DATE:DAY", str_cstr( &s ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+
+out:
+ str_free( &s );
+
+ return status;
+}
+
+/* the LID and AID fields that can be doi's or pii's */
+static int
+nbibin_doi( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int fstatus, sstatus, status = BIBL_OK;
+ char *id, *type, *usetag="";
+ slist tokens;
+
+ slist_init( &tokens );
+
+ sstatus = slist_tokenize( &tokens, invalue, " ", 1 );
+ if ( sstatus!=SLIST_OK ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ if ( tokens.n == 2 ) {
+ id = slist_cstr( &tokens, 0 );
+ type = slist_cstr( &tokens, 1 );
+ if ( !strcmp( type, "[doi]" ) ) usetag = "DOI";
+ else if ( !strcmp( type, "[pii]" ) ) usetag = "PII";
+ if ( strlen( outtag ) > 0 ) {
+ fstatus = fields_add( bibout, usetag, id, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+ }
+out:
+ slist_free( &tokens );
+ return status;
+}
+
+static int
+nbibin_pages( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int fstatus, status = BIBL_OK;
+ str sp, tmp, ep;
+ char *p;
+ int i;
+
+ p = str_cstr( invalue );
+ if ( !p ) return BIBL_OK;
+
+ strs_init( &sp, &tmp, &ep, NULL );
+
+ while ( *p && *p!='-' ) {
+ str_addchar( &sp, *p );
+ p++;
+ }
+
+ if ( str_memerr( &sp ) ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ while ( *p=='-' ) p++;
+
+ while ( *p ) {
+ str_addchar( &tmp, *p );
+ p++;
+ }
+
+ if ( sp.len ) {
+ fstatus = fields_add( bibout, "PAGES:START", str_cstr( &sp ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+
+ if ( tmp.len ) {
+ for ( i=0; i<sp.len - tmp.len; ++i )
+ str_addchar( &ep, sp.data[i] );
+ str_strcat( &ep, &tmp );
+
+ fstatus = fields_add( bibout, "PAGES:STOP", str_cstr( &ep ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+out:
+ strs_free( &sp, &tmp, &ep, NULL );
+ return status;
+}
+
+static void
+nbib_report_notag( param *p, char *tag )
+{
+ if ( p->verbose && strcmp( tag, "TY" ) ) {
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Did not identify NBIB tag '%s'\n", tag );
+ }
+}
+
+static int
+nbib_convertf( fields *bibin, fields *bibout, int reftype, param *p )
+{
+ static int (*convertfns[NUM_REFTYPES])(fields *, int i, str *, str *, int, param *, char *, fields *) = {
+ // Patch: Fix compilation on MSVC target
+ [ 0 ] = generic_null,
+ [ 1 ] = generic_null,
+ [ 2 ] = generic_null,
+ [ 3 ] = generic_null,
+ [ 4 ] = generic_null,
+ [ 5 ] = generic_null,
+ [ 6 ] = generic_null,
+ [ 7 ] = generic_null,
+ [ 8 ] = generic_null,
+ [ 9 ] = generic_null,
+ [ 10 ] = generic_null,
+ [ 11 ] = generic_null,
+ [ 12 ] = generic_null,
+ [ 13 ] = generic_null,
+ [ 14 ] = generic_null,
+ [ 15 ] = generic_null,
+ [ 16 ] = generic_null,
+ [ 17 ] = generic_null,
+ [ 18 ] = generic_null,
+ [ 19 ] = generic_null,
+ [ 20 ] = generic_null,
+ [ 21 ] = generic_null,
+ [ 22 ] = generic_null,
+ [ 23 ] = generic_null,
+ [ 24 ] = generic_null,
+ [ 25 ] = generic_null,
+ [ SIMPLE ] = generic_simple,
+ [ TITLE ] = generic_title,
+ [ PERSON ] = generic_person,
+ [ SKIP ] = generic_skip,
+ [ DATE ] = nbibin_date,
+ [ PAGES ] = nbibin_pages,
+ [ DOI ] = nbibin_doi,
+ };
+ int process, level, i, nfields, status = BIBL_OK;
+ str *intag, *invalue;
+ char *outtag;
+
+ nfields = fields_num( bibin );
+
+ for ( i=0; i<nfields; ++i ) {
+ intag = fields_tag( bibin, i, FIELDS_STRP );
+ if ( !translate_oldtag( str_cstr( intag ), reftype, p->all, p->nall, &process, &level, &outtag ) ) {
+ nbib_report_notag( p, str_cstr( intag ) );
+ continue;
+ }
+ invalue = fields_value( bibin, i, FIELDS_STRP );
+
+ status = convertfns[ process ] ( bibin, i, intag, invalue, level, p, outtag, bibout );
+ if ( status!=BIBL_OK ) return status;
+ }
+
+ if ( status==BIBL_OK && p->verbose ) fields_report( bibout, stderr );
+
+ return status;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/nbibout.c b/support/texlab/crates/bibutils_sys/src/nbibout.c
new file mode 100644
index 0000000000..04d70a0f35
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/nbibout.c
@@ -0,0 +1,556 @@
+/*
+ * nbibout.c
+ *
+ * Copyright (c) Chris Putnam 2018-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include "utf8.h"
+#include "str.h"
+#include "is_ws.h"
+#include "fields.h"
+#include "generic.h"
+#include "iso639_3.h"
+#include "title.h"
+#include "bibutils.h"
+#include "bibformats.h"
+#include "msvc_fix.h"
+
+/*****************************************************
+ PUBLIC: int nbibout_initparams()
+*****************************************************/
+
+static int nbibout_write( fields *info, FILE *fp, param *p, unsigned long refnum );
+
+int
+nbibout_initparams( param *pm, const char *progname )
+{
+ pm->writeformat = BIBL_NBIBOUT;
+ pm->format_opts = 0;
+ pm->charsetout = BIBL_CHARSET_DEFAULT;
+ pm->charsetout_src = BIBL_SRC_DEFAULT;
+ pm->latexout = 0;
+ pm->utf8out = BIBL_CHARSET_UTF8_DEFAULT;
+ pm->utf8bom = BIBL_CHARSET_BOM_DEFAULT;
+ pm->xmlout = BIBL_XMLOUT_FALSE;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->singlerefperfile = 0;
+
+ if ( pm->charsetout == BIBL_CHARSET_UNICODE ) {
+ pm->utf8out = pm->utf8bom = 1;
+ }
+
+ pm->headerf = generic_writeheader;
+ pm->footerf = NULL;
+ pm->writef = nbibout_write;
+
+ if ( !pm->progname ) {
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int nbibout_write()
+*****************************************************/
+
+enum {
+ TYPE_UNKNOWN = 0,
+ TYPE_ARTICLE = 1,
+ TYPE_INBOOK = 2,
+ TYPE_BOOK = 3,
+};
+
+static void
+append_type( fields *in, fields *out, int *status )
+{
+ int fstatus;
+ char *s;
+ int type = TYPE_UNKNOWN, i, n, level;
+ char *tag, *value;
+
+ n = fields_num( in );
+ for ( i=0; i<n; ++i ) {
+ tag = fields_tag( in, i, FIELDS_CHRP );
+ if ( strcasecmp( tag, "GENRE:MARC" ) &&
+ strcasecmp( tag, "GENRE:BIBUTILS" ) &&
+ strcasecmp( tag, "GENRE:UNKNOWN" ) ) continue;
+ value = fields_value( in, i, FIELDS_CHRP );
+ level = fields_level( in, i );
+ if ( !strcasecmp( value, "periodical" ) ||
+ !strcasecmp( value, "academic journal" ) ||
+ !strcasecmp( value, "journal article" ) ) {
+ type = TYPE_ARTICLE;
+ } else if ( !strcasecmp( value, "book" ) ) {
+ if ( level==0 ) type=TYPE_BOOK;
+ else type=TYPE_INBOOK;
+ } else if ( !strcasecmp( value, "book chapter" ) ) {
+ type = TYPE_INBOOK;
+ }
+ }
+
+ if ( type==TYPE_ARTICLE ) s = "Journal Article";
+ else if ( type==TYPE_INBOOK ) s = "Chapter";
+ else if ( type==TYPE_BOOK ) s = "Book";
+ else s = "Miscellaneous";
+
+ fstatus = fields_add( out, "PT", s, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+}
+
+static void
+append_titlecore( fields *in, char *nbibtag, int level, char *maintag, char *subtag, fields *out, int *status )
+{
+ str *mainttl = fields_findv( in, level, FIELDS_STRP, maintag );
+ str *subttl = fields_findv( in, level, FIELDS_STRP, subtag );
+ str fullttl;
+ int fstatus;
+
+ str_init( &fullttl );
+ title_combine( &fullttl, mainttl, subttl );
+
+ if ( str_memerr( &fullttl ) ) {
+ *status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ if ( str_has_value( &fullttl ) ) {
+ fstatus = fields_add( out, nbibtag, str_cstr( &fullttl ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+out:
+ str_free( &fullttl );
+}
+
+static void
+append_title( fields *in, char *nbibtag, int level, fields *out, int *status )
+{
+ append_titlecore( in, nbibtag, level, "TITLE", "SUBTITLE", out, status );
+}
+
+static void
+append_abbrtitle( fields *in, char *nbibtag, int level, fields *out, int *status )
+{
+ append_titlecore( in, nbibtag, level, "SHORTTITLE", "SHORTSUBTITLE", out, status );
+}
+
+static void
+process_person( str *person, char *name, int full )
+{
+ str family, given, suffix;
+ char *p = name;
+
+ str_empty( person );
+
+ strs_init( &family, &given, &suffix, NULL );
+
+ while ( *p && *p!='|' )
+ str_addchar( &family, *p++ );
+
+ if ( full ) {
+ while ( *p=='|' && *(p+1)!='|' ) {
+ p++;
+ if ( *p!='|' && str_has_value( &given ) ) str_addchar( &given, ' ' );
+ while ( *p && *p!='|' ) str_addchar( &given, *p++ );
+ }
+ }
+ else {
+ while ( *p=='|' && *(p+1)!='|' ) {
+ p++;
+ if ( *p!='|' ) str_addchar( &given, *p++ );
+ while ( *p && *p!='|' ) p++;
+ }
+ }
+
+ if ( *p=='|' && *(p+1)=='|' ) {
+ p += 2;
+ while ( *p && *p!='|' ) str_addchar( &suffix, *p++ );
+ }
+
+ if ( str_has_value( &family ) ) str_strcat( person, &family );
+ if ( str_has_value( &suffix ) ) {
+ if ( str_has_value( &family ) ) str_strcatc( person, " " );
+ str_strcat( person, &suffix );
+ }
+ if ( str_has_value( &given ) ) {
+ if ( str_has_value( person ) ) {
+ if ( full ) str_strcatc( person, ", " );
+ else str_strcatc( person, " " );
+ }
+ str_strcat( person, &given );
+ }
+
+ strs_free( &family, &given, &suffix, NULL );
+}
+
+static void
+append_people( fields *f, char *tag, char *nbibtag_full, char *nbibtag_abbr, int level, fields *out, int *status )
+{
+ vplist_index i;
+ vplist people;
+ str person;
+ int fstatus;
+
+ str_init( &person );
+ vplist_init( &people );
+
+ fields_findv_each( f, level, FIELDS_CHRP, &people, tag );
+ for ( i=0; i<people.n; ++i ) {
+
+ process_person( &person, (char *)vplist_get( &people, i ), 1 );
+ if ( str_memerr( &person ) ) { *status = BIBL_ERR_MEMERR; goto out; }
+ fstatus = fields_add_can_dup( out, nbibtag_full, str_cstr( &person ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) { *status = BIBL_ERR_MEMERR; goto out; }
+
+ process_person( &person, (char *)vplist_get( &people, i ), 0 );
+ if ( str_memerr( &person ) ) { *status = BIBL_ERR_MEMERR; goto out; }
+ fstatus = fields_add_can_dup( out, nbibtag_abbr, str_cstr( &person ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) { *status = BIBL_ERR_MEMERR; goto out; }
+
+ }
+
+out:
+ vplist_free( &people );
+ str_free( &person );
+}
+
+static void
+append_easy( fields *in, char *tag, char *nbibtag, int level, fields *out, int *status )
+{
+ char *value;
+ int fstatus;
+
+ value = fields_findv( in, level, FIELDS_CHRP, tag );
+ if ( value ) {
+ fstatus = fields_add( out, nbibtag, value, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+}
+
+static void
+append_easyall( fields *in, char *tag, char *nbibtag, int level, fields *out, int *status )
+{
+ vplist_index i;
+ int fstatus;
+ vplist a;
+
+ vplist_init( &a );
+ fields_findv_each( in, level, FIELDS_CHRP, &a, tag );
+ for ( i=0; i<a.n; ++i ) {
+ fstatus = fields_add( out, nbibtag, (char *) vplist_get( &a, i ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ vplist_free( &a );
+}
+
+static void
+append_pages( fields *in, char *nbibtag, int level, fields *out, int *status )
+{
+ str *start, *stop, *articlenumber;
+ int fstatus;
+ str pages;
+ char *p, *q;
+
+ str_init( &pages );
+
+ start = fields_findv_firstof( in, level, FIELDS_STRP, "PAGES:START", NULL );
+ if ( start ) {
+ str_strcpy( &pages, start );
+ }
+
+ stop = fields_findv_firstof( in, level, FIELDS_STRP, "PAGES:STOP", NULL );
+ if ( stop ) {
+ /* nbib from pubmed doesn't do "PG - 101-109", but rather "PG - 101-9" */
+ if ( start ) {
+ p = str_cstr( start );
+ q = str_cstr( stop );
+ while ( *p && *p == *q ) {
+ p++;
+ q++;
+ }
+ if ( *q ) {
+ str_addchar( &pages, '-' );
+ str_strcatc( &pages, q );
+ }
+ }
+ else {
+ str_strcat( &pages, stop );
+ }
+ }
+
+ articlenumber = fields_findv_firstof( in, level, FIELDS_STRP, "ARTICLENUMBER", NULL );
+ if ( str_is_empty( &pages ) && articlenumber ) {
+ str_strcpy( &pages, articlenumber );
+ }
+
+ if ( str_has_value( &pages ) ) {
+ fstatus = fields_add( out, nbibtag, str_cstr( &pages ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+ str_free( &pages );
+}
+
+/* location identifier */
+static void
+append_lid( fields *in, char *nbibtag, int level, fields *out, int *status )
+{
+ str *doi, *pii, *isi;
+ int fstatus;
+ str lid;
+
+ str_init( &lid );
+
+ doi = fields_findv( in, level, FIELDS_STRP, "DOI" );
+ if ( doi ) {
+ str_strcpy( &lid, doi );
+ str_strcatc( &lid, " [doi]" );
+ fstatus = fields_add( out, nbibtag, str_cstr( &lid ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+ pii = fields_findv( in, level, FIELDS_STRP, "PII" );
+ if ( pii ) {
+ str_strcpy( &lid, pii );
+ str_strcatc( &lid, " [pii]" );
+ fstatus = fields_add( out, nbibtag, str_cstr( &lid ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+ isi = fields_findv( in, level, FIELDS_STRP, "ISIREFNUM" );
+ if ( isi ) {
+ str_strcpy( &lid, isi );
+ str_strcatc( &lid, " [isi]" );
+ fstatus = fields_add( out, nbibtag, str_cstr( &lid ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+
+
+ str_free( &lid );
+}
+
+static void
+append_date( fields *in, char *nbibtag, int level, fields *out, int *status )
+{
+ str *day, *month, *year;
+ int fstatus;
+ str date;
+
+ str_init( &date );
+
+ year = fields_findv_firstof( in, level, FIELDS_STRP, "PARTDATE:YEAR", "DATE:YEAR", NULL );
+ if ( year ) {
+ str_strcpy( &date, year );
+ }
+
+ month = fields_findv_firstof( in, level, FIELDS_STRP, "PARTDATE:MONTH", "DATE:MONTH", NULL );
+ if ( month ) {
+ if ( str_has_value( &date ) ) str_addchar( &date, ' ' );
+ str_strcat( &date, month );
+ }
+
+ day = fields_findv_firstof( in, level, FIELDS_STRP, "PARTDATE:DAY", "DATE:DAY", NULL );
+ if ( day ) {
+ if ( str_has_value( &date ) ) str_addchar( &date, ' ' );
+ str_strcat( &date, day );
+ }
+
+ if ( str_has_value( &date ) ) {
+ fstatus = fields_add( out, nbibtag, str_cstr( &date ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+ str_free( &date );
+}
+
+static void
+append_lang( fields *in, char *nbibtag, int level, fields *out, int *status )
+{
+ int fstatus;
+ str *lang;
+ char *code;
+
+ lang = fields_findv( in, level, FIELDS_STRP, "LANGUAGE" );
+ if ( lang ) {
+ code = iso639_3_from_name( str_cstr( lang ) );
+ if ( !code ) code = str_cstr( lang );
+ fstatus = fields_add( out, nbibtag, code, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+}
+
+static void
+append_keywords( fields *in, char *nbibtag, int level, fields *out, int *status )
+{
+ vplist keywords;
+ int fstatus;
+ char *kw;
+ int i;
+
+ vplist_init( &keywords );
+
+ fields_findv_each( in, level, FIELDS_CHRP, &keywords, "KEYWORD" );
+ for ( i=0; i<keywords.n; ++i ) {
+ kw = vplist_get( &keywords, i );
+ fstatus = fields_add( out, nbibtag, kw, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+}
+
+static int
+append_data( fields *in, fields *out )
+{
+ int status = BIBL_OK;
+
+ append_easy ( in, "PMID", "PMID", LEVEL_ANY, out, &status );
+ append_easyall( in, "ISSN", "IS", LEVEL_ANY, out, &status );
+ append_easy ( in, "VOLUME", "VI", LEVEL_ANY, out, &status );
+ append_easy ( in, "ISSUE", "IP", LEVEL_ANY, out, &status );
+ append_easy ( in, "NUMBER", "IP", LEVEL_ANY, out, &status );
+ append_date ( in, "DP", LEVEL_ANY, out, &status );
+ append_title( in, "TI", LEVEL_MAIN, out, &status );
+ append_pages( in, "PG", LEVEL_ANY, out, &status );
+ append_lid ( in, "LID", LEVEL_MAIN, out, &status );
+ append_easy ( in, "ABSTRACT", "AB", LEVEL_MAIN, out, &status );
+ append_people ( in, "AUTHOR", "FAU", "AU", LEVEL_MAIN, out, &status );
+ append_easyall( in, "AUTHOR:CORP", "FAU", LEVEL_MAIN, out, &status );
+ append_easyall( in, "AUTHOR:ASIS", "FAU", LEVEL_MAIN, out, &status );
+ append_lang ( in, "LA", LEVEL_ANY, out, &status );
+ append_type ( in, out, &status );
+ append_easy( in, "ADDRESS", "PL", LEVEL_MAIN, out, &status );
+ append_abbrtitle( in, "TA", LEVEL_HOST, out, &status );
+ append_title( in, "JT", LEVEL_HOST, out, &status );
+ append_easy ( in, "PMC", "PMC", LEVEL_ANY, out, &status );
+ append_keywords( in, "OT", LEVEL_ANY, out, &status );
+ return status;
+}
+
+static void
+output_verbose( fields *f, const char *type, unsigned long refnum )
+{
+ char *tag, *value;
+ int i, n, level;
+
+ fprintf( stderr, "REF #%lu %s---\n", refnum+1, type );
+
+ n = fields_num( f );
+ for ( i=0; i<n; ++i ) {
+ tag = fields_tag( f, i, FIELDS_CHRP_NOUSE );
+ value = fields_value( f, i, FIELDS_CHRP_NOUSE );
+ level = fields_level( f, i );
+ fprintf( stderr, "\t'%s'\t'%s'\t%d\n", tag, value, level );
+ }
+
+ fflush( stderr );
+}
+
+static void
+output_tag( FILE *fp, char *p )
+{
+ int i = 0;
+
+ while ( i < 4 && p && *p ) {
+ fprintf( fp, "%c", *p );
+ i++;
+ p++;
+ }
+
+ for ( ; i<4; ++i )
+ fprintf( fp, " " );
+ fprintf( fp, "- " );
+}
+
+static void
+output_value( FILE *fp, str *value )
+{
+ char *p, *q, *lastws;
+ int n;
+
+ if ( value->len < 82 ) {
+ fprintf( fp, "%s", str_cstr( value ) );
+ return;
+ }
+
+ p = str_cstr( value );
+ while ( p && *p ) {
+ n = 0;
+ q = p;
+ lastws = NULL;
+ while ( n < 82 && *q ) {
+ if ( is_ws( *q ) ) lastws = q;
+ q++;
+ n++;
+ }
+ if ( *q && lastws ) {
+ while ( p!=lastws ) {
+ fprintf( fp, "%c", *p );
+ p++;
+ }
+ p++; /* skip ws separator */
+ }
+ else {
+ while ( p!=q ) {
+ fprintf( fp, "%c", *p );
+ p++;
+ }
+ p = q;
+ }
+ if ( *p ) {
+ fprintf( fp, "\n" );
+ fprintf( fp, " " );
+ }
+ }
+}
+
+static void
+output_reference( FILE *fp, fields *out )
+{
+ int i;
+
+ for ( i=0; i<out->n; ++i ) {
+
+ output_tag( fp, ( char * ) fields_tag( out, i, FIELDS_CHRP ) );
+ output_value( fp, ( str * ) fields_value( out, i, FIELDS_STRP ) );
+ fprintf( fp, "\n" );
+ }
+
+ fprintf( fp, "\n\n" );
+ fflush( fp );
+}
+
+static int
+nbibout_write( fields *in, FILE *fp, param *p, unsigned long refnum )
+{
+ int status;
+ fields out;
+
+ fields_init( &out );
+
+ if ( p->format_opts & BIBL_FORMAT_VERBOSE )
+ output_verbose( in, "IN", refnum );
+
+ status = append_data( in, &out );
+
+ if ( status==BIBL_OK ) output_reference( fp, &out );
+
+ if ( p->format_opts & BIBL_FORMAT_VERBOSE )
+ output_verbose( &out, "OUT", refnum );
+
+ fields_free( &out );
+
+ return status;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/nbibtypes.c b/support/texlab/crates/bibutils_sys/src/nbibtypes.c
new file mode 100644
index 0000000000..27992cccec
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/nbibtypes.c
@@ -0,0 +1,70 @@
+/*
+ * nbibtypes.c
+ *
+ * Copyright (c) Chris Putnam 2016-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <string.h>
+#include "is_ws.h"
+#include "fields.h"
+#include "reftypes.h"
+
+static lookups article[] = {
+ { "PMID", "PMID", SIMPLE, LEVEL_MAIN },
+ { "OWN", "", SKIP, LEVEL_MAIN },
+ { "STAT", "", SKIP, LEVEL_MAIN },
+ { "DA", "", SKIP, LEVEL_MAIN },
+ { "DCOM", "", SKIP, LEVEL_MAIN },
+ { "LR", "", SKIP, LEVEL_MAIN },
+ { "IS", "", SKIP, LEVEL_MAIN },
+ { "VI", "VOLUME", SIMPLE, LEVEL_MAIN },
+ { "IP", "ISSUE", SIMPLE, LEVEL_MAIN },
+ { "DP", "", DATE, LEVEL_MAIN }, /* date published? */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN },
+ { "PG", "PAGES", PAGES, LEVEL_MAIN },
+ { "LID", "DOI", DOI, LEVEL_MAIN }, /* linking ID? -- can be DOI/PII */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN },
+ { "FAU", "AUTHOR", PERSON, LEVEL_MAIN },
+ { "AU", "", SKIP, LEVEL_MAIN },
+ { "AD", "ADDRESS:AUTHOR", SIMPLE, LEVEL_MAIN },
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN },
+ { "GR", "", SKIP, LEVEL_MAIN },
+ { "DEP", "", SKIP, LEVEL_MAIN }, /* a date */
+ { "PL", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Publisher location */
+ { "TA", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* Journal title abbreviation */
+ { "JT", "TITLE", SIMPLE, LEVEL_HOST }, /* Journal title */
+ { "JID", "", SKIP, LEVEL_HOST }, /* Journal ID? */
+ { "SB", "", SKIP, LEVEL_MAIN },
+ { "MH", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "OT", "KEYWORD", SIMPLE, LEVEL_MAIN },
+ { "PMC", "PMC", SIMPLE, LEVEL_MAIN },
+ { "OID", "", SKIP, LEVEL_MAIN },
+ { "EDAT", "", SKIP, LEVEL_MAIN },
+ { "MHDA", "", SKIP, LEVEL_MAIN },
+ { "CRDT", "", SKIP, LEVEL_MAIN },
+ { "PHST", "", SKIP, LEVEL_MAIN }, /* Publication history? */
+ { "AID", "DOI", DOI, LEVEL_MAIN }, /* Article ID? -- can be DOI/PII */
+ { "PST", "", SKIP, LEVEL_MAIN },
+ { "SO", "", SKIP, LEVEL_MAIN },
+ { " ", "INTERNAL_TYPE|ARTICLE", ALWAYS, LEVEL_MAIN },
+ { " ", "ISSUANCE|continuing", ALWAYS, LEVEL_HOST },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:BIBUTILS|journal article", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|periodical", ALWAYS, LEVEL_HOST },
+ { " ", "GENRE:BIBUTILS|academic journal", ALWAYS, LEVEL_HOST }
+};
+
+#define ORIG(a) ( &(a[0]) )
+#define SIZE(a) ( sizeof( a ) / sizeof( lookups ) )
+#define REFTYPE(a,b) { a, ORIG(b), SIZE(b) }
+
+variants nbib_all[] = {
+ REFTYPE( "Journal article", article ),
+ REFTYPE( "News", article ),
+};
+
+int nbib_nall = sizeof( nbib_all ) / sizeof( variants );
+
diff --git a/support/texlab/crates/bibutils_sys/src/notes.c b/support/texlab/crates/bibutils_sys/src/notes.c
new file mode 100644
index 0000000000..f18953f556
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/notes.c
@@ -0,0 +1,103 @@
+/*
+ * notes.c
+ *
+ * Copyright (c) Chris Putnam 2016-2019
+ *
+ * Program and source code released under the GPL version 2
+ *
+ */
+#include <string.h>
+#include "url.h"
+#include "notes.h"
+#include "msvc_fix.h"
+
+/*
+ * notes are mostly directly copies; however, lots of formats hide
+ * URLs/DOIs in the notes fields. For example:
+ *
+ * For RIS, Oxford Journals hides DOI in the N1 field.
+ * For Endnote, Wiley hides DOI in the %1 field.
+ * etc.
+ */
+
+typedef struct url_t {
+ char *prefix;
+ char *tag;
+ int offset;
+} url_t;
+
+static void
+notes_added_url( fields *bibout, str *invalue, int level, int *ok )
+{
+ url_t prefixes[] = {
+ { "arXiv:", "ARXIV", 6 },
+ { "http://arxiv.org/abs/", "ARXIV", 21 },
+ { "jstor:", "JSTOR", 6 },
+ { "http://www.jstor.org/stable/", "JSTOR", 28 },
+ { "medline:", "MEDLINE", 8 },
+ { "pubmed:", "PMID", 7 },
+ { "http://www.ncbi.nlm.nih.gov/pubmed/", "PMID", 35 },
+ { "http://www.ncbi.nlm.nih.gov/pmc/articles/", "PMC", 41 },
+ { "http://dx.doi.org/", "DOI", 19 },
+ { "isi:", "ISIREFNUM", 4 },
+ };
+ int nprefixes = sizeof( prefixes ) / sizeof( prefixes[0] );
+
+ const char *p = str_cstr( invalue );
+ char *tag = "URL";
+ int fstatus;
+ int i;
+
+ /* bibtex/biblatex-specific */
+ if ( !strncasecmp( p, "\\urllink", 8 ) ) p += 8;
+ if ( !strncasecmp( p, "\\url", 4 ) ) p += 4;
+
+ for ( i=0; i<nprefixes; ++i ) {
+ if ( !strncasecmp( p, prefixes[i].prefix, prefixes[i].offset ) ) {
+ tag = prefixes[i].tag;
+ p = p + prefixes[i].offset;
+ break;
+ }
+ }
+
+ fstatus = fields_add( bibout, tag, p, level );
+
+ if ( fstatus==FIELDS_OK ) *ok = 1;
+ else *ok = 0;
+}
+
+static int
+notes_added_doi( fields *bibout, str *invalue, int level, int *ok )
+{
+ int doi, fstatus;
+
+ doi = is_doi( str_cstr( invalue ) );
+
+ if ( doi != -1 ) {
+ fstatus = fields_add( bibout, "DOI", &(invalue->data[doi]), level );
+ if ( fstatus != FIELDS_OK ) *ok = 0;
+ return 1;
+ }
+
+ else return 0;
+}
+
+int
+notes_add( fields *bibout, str *invalue, int level )
+{
+ int fstatus, done = 0, ok = 1;
+
+ if ( !is_embedded_link( str_cstr( invalue ) ) ) {
+ fstatus = fields_add( bibout, "NOTES", str_cstr( invalue ), level );
+ if ( fstatus != FIELDS_OK ) ok = 0;
+ }
+
+ else {
+
+ done = notes_added_doi( bibout, invalue, level, &ok );
+ if ( !done ) notes_added_url( bibout, invalue, level, &ok );
+
+ }
+
+ return ok;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/notes.h b/support/texlab/crates/bibutils_sys/src/notes.h
new file mode 100644
index 0000000000..965b5798e4
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/notes.h
@@ -0,0 +1,17 @@
+/*
+ * notes.h
+ *
+ * Copyright (c) Chris Putnam 2016-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef NOTES_H
+#define NOTES_H
+
+#include "bibutils.h"
+
+int notes_add( fields *bibout, str *invalue, int level );
+
+#endif
+
diff --git a/support/texlab/crates/bibutils_sys/src/pages.c b/support/texlab/crates/bibutils_sys/src/pages.c
new file mode 100644
index 0000000000..b972b1f25f
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/pages.c
@@ -0,0 +1,87 @@
+/*
+ * pages.c
+ *
+ * Copyright (c) Chris Putnam 2016-2019
+ *
+ * Program and source code released under GPL verison 2
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "is_ws.h"
+#include "utf8.h"
+#include "pages.h"
+
+/* extract_range()
+ *
+ * Handle input strings like:
+ *
+ * "1-15"
+ * " 1 - 15 "
+ * " 1000--- 1500"
+ * " 1 <<em-dash>> 10"
+ * " 107 111"
+ */
+static void
+extract_range( str *input, str *begin, str *end )
+{
+ /* -30 is the first character of a UTF8 em-dash and en-dash */
+ const char terminators[] = { ' ', '-', '\t', '\r', '\n', -30, '\0' };
+ const char *p;
+
+ str_empty( begin );
+ str_empty( end );
+
+ if ( input->len==0 ) return;
+
+ p = skip_ws( str_cstr( input ) );
+ while ( *p && !strchr( terminators, *p ) )
+ str_addchar( begin, *p++ );
+
+ p = skip_ws( p );
+
+ while ( *p=='-' ) p++;
+ while ( utf8_is_emdash( p ) ) p+=3;
+ while ( utf8_is_endash( p ) ) p+=3;
+
+ p = skip_ws( p );
+
+ while ( *p && !strchr( terminators, *p ) )
+ str_addchar( end, *p++ );
+}
+
+int
+pages_add( fields *bibout, char *outtag, str *invalue, int level )
+{
+ int fstatus, status = 1;
+ str start, stop;
+
+ str_init( &start );
+ str_init( &stop );
+
+ extract_range( invalue, &start, &stop );
+
+ if ( str_memerr( &start ) || str_memerr( &stop ) ) {
+ status = 0;
+ goto out;
+ }
+
+ if ( start.len>0 ) {
+ fstatus = fields_add( bibout, "PAGES:START", str_cstr( &start ), level );
+ if ( fstatus!=FIELDS_OK ) {
+ status = 0;
+ goto out;
+ }
+ }
+
+ if ( stop.len>0 ) {
+ fstatus = fields_add( bibout, "PAGES:STOP", str_cstr( &stop ), level );
+ if ( fstatus!=FIELDS_OK ) status = 0;
+ }
+
+out:
+ str_free( &start );
+ str_free( &stop );
+ return status;
+}
+
diff --git a/support/texlab/crates/bibutils_sys/src/pages.h b/support/texlab/crates/bibutils_sys/src/pages.h
new file mode 100644
index 0000000000..c1bb78599d
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/pages.h
@@ -0,0 +1,16 @@
+/*
+ * pages.h
+ *
+ * Copyright (c) Chris Putnam 2016-2019
+ *
+ * Program and source code released under the GPL version 2
+ */
+#ifndef PAGES_H
+#define PAGES_H
+
+#include "bibl.h"
+
+int pages_add( fields *bibout, char *outtag, str *invalue, int level );
+
+#endif
+
diff --git a/support/texlab/crates/bibutils_sys/src/reftypes.c b/support/texlab/crates/bibutils_sys/src/reftypes.c
new file mode 100644
index 0000000000..0826c252cd
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/reftypes.c
@@ -0,0 +1,72 @@
+/*
+ * reftypes.c
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <string.h>
+#include "is_ws.h"
+#include "fields.h"
+#include "reftypes.h"
+#include "msvc_fix.h"
+
+int
+get_reftype( const char *p, long refnum, char *progname, variants *all, int nall, char *tag, int *is_default, int chattiness )
+{
+ int i;
+
+ p = skip_ws( p );
+
+ *is_default = 0;
+
+ for ( i=0; i<nall; ++i ) {
+ if ( !strncasecmp( all[i].type, p, strlen(all[i].type) ) )
+ return i;
+ }
+
+ *is_default = 1;
+
+ if ( chattiness==REFTYPE_CHATTY ) {
+ if ( progname ) fprintf( stderr, "%s: ", progname );
+ fprintf( stderr, "Did not recognize type '%s' of refnum %ld (%s).\n"
+ "\tDefaulting to %s.\n", p, refnum, tag, all[0].type );
+ }
+
+ return 0;
+}
+
+int
+process_findoldtag( const char *oldtag, int reftype, variants all[], int nall )
+{
+ variants *v;
+ int i;
+
+ v = &(all[reftype]);
+ for ( i=0; i<v->ntags; ++i ) {
+ if ( !strcasecmp( (v->tags[i]).oldstr, oldtag ) )
+ return i;
+ }
+ return -1;
+}
+
+/* translate_oldtag()
+ */
+int
+translate_oldtag( const char *oldtag, int reftype, variants all[], int nall,
+ int *processingtype, int *level, char **newtag )
+{
+ int n;
+
+ n = process_findoldtag( oldtag, reftype, all, nall );
+ if ( n!=-1 ) {
+ *processingtype = ((all[reftype]).tags[n]).processingtype;
+ *level = ((all[reftype]).tags[n]).level;
+ *newtag = ((all[reftype]).tags[n]).newstr;
+ return 1;
+ }
+
+ return 0;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/reftypes.h b/support/texlab/crates/bibutils_sys/src/reftypes.h
new file mode 100644
index 0000000000..eeade09060
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/reftypes.h
@@ -0,0 +1,63 @@
+/*
+ * reftypes.h
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef REFTYPES_H
+#define REFTYPES_H
+
+#define REFTYPE_CHATTY (0)
+#define REFTYPE_SILENT (1)
+
+/* Reftypes handled by core code */
+#define ALWAYS (0)
+#define DEFAULT (1)
+#define SKIP (2)
+
+/* Reftypes to be handled by converters */
+#define SIMPLE (3)
+#define TYPE (4)
+#define PERSON (5)
+#define DATE (6)
+#define PAGES (7)
+#define SERIALNO (8)
+#define TITLE (9)
+#define NOTES (10)
+#define DOI (11)
+#define HOWPUBLISHED (12)
+#define LINKEDFILE (13)
+#define KEYWORD (14)
+#define URL (15)
+#define GENRE (16)
+#define BT_SENTE (17) /* Bibtex 'Sente' */
+#define BT_EPRINT (18) /* Bibtex 'Eprint' */
+#define BT_ORG (19) /* Bibtex Organization */
+#define BLT_THESIS_TYPE (20) /* Biblatex Thesis Type */
+#define BLT_SCHOOL (21) /* Biblatex School */
+#define BLT_EDITOR (22) /* Biblatex Editor */
+#define BLT_SUBTYPE (23) /* Biblatex entrysubtype */
+#define BLT_SKIP (24) /* Biblatex Skip Entry */
+#define EPRINT (25)
+#define NUM_REFTYPES (26)
+
+typedef struct {
+ char *oldstr;
+ char *newstr;
+ int processingtype;
+ int level;
+} lookups;
+
+typedef struct {
+ char type[25];
+ lookups *tags;
+ int ntags;
+} variants;
+
+int get_reftype( const char *q, long refnum, char *progname, variants *all, int nall, char *tag, int *is_default, int chattiness );
+int process_findoldtag( const char *oldtag, int reftype, variants all[], int nall );
+int translate_oldtag( const char *oldtag, int reftype, variants all[], int nall, int *processingtype, int *level, char **newtag );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/risin.c b/support/texlab/crates/bibutils_sys/src/risin.c
new file mode 100644
index 0000000000..25acde5d42
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/risin.c
@@ -0,0 +1,582 @@
+/*
+ * risin.c
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include "str.h"
+#include "str_conv.h"
+#include "fields.h"
+#include "name.h"
+#include "title.h"
+#include "url.h"
+#include "utf8.h"
+#include "serialno.h"
+#include "reftypes.h"
+#include "bibformats.h"
+#include "generic.h"
+#include "msvc_fix.h"
+
+extern variants ris_all[];
+extern int ris_nall;
+
+/*****************************************************
+ PUBLIC: void risin_initparams()
+*****************************************************/
+
+static int risin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset );
+static int risin_processf( fields *risin, const char *p, const char *filename, long nref, param *pm );
+static int risin_typef( fields *risin, const char *filename, int nref, param *p );
+static int risin_convertf( fields *risin, fields *info, int reftype, param *p );
+
+int
+risin_initparams( param *pm, const char *progname )
+{
+ pm->readformat = BIBL_RISIN;
+ pm->charsetin = BIBL_CHARSET_DEFAULT;
+ pm->charsetin_src = BIBL_SRC_DEFAULT;
+ pm->latexin = 0;
+ pm->xmlin = 0;
+ pm->utf8in = 0;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->output_raw = 0;
+
+ pm->readf = risin_readf;
+ pm->processf = risin_processf;
+ pm->cleanf = NULL;
+ pm->typef = risin_typef;
+ pm->convertf = risin_convertf;
+ pm->all = ris_all;
+ pm->nall = ris_nall;
+
+ slist_init( &(pm->asis) );
+ slist_init( &(pm->corps) );
+
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int risin_readf()
+*****************************************************/
+
+/* RIS definition of a tag is strict:
+ character 1 = uppercase alphabetic character
+ character 2 = uppercase alphabetic character or digit
+ character 3 = space (ansi 32)
+ character 4 = space (ansi 32)
+ character 5 = dash (ansi 45)
+ character 6 = space (ansi 32)
+
+ some sources don't have a space at character 6 if there
+ is no data (such as "ER -" records). Handle this.
+
+ www.omicsonline.org mangles the RIS specification and
+ puts _three_ spaces before the dash. Handle this too.
+*/
+
+static int
+is_ris_tag( const char *buf )
+{
+ if ( !isupper( (unsigned char )buf[0] ) ) return 0;
+ if ( !( isupper( (unsigned char )buf[1] ) || isdigit( (unsigned char )buf[1] ) ) ) return 0;
+ if ( buf[2]!=' ' ) return 0;
+ if ( buf[3]!=' ' ) return 0;
+
+ /*...RIS tags with two spaces */
+ if ( buf[4]=='-' ) {
+ if ( buf[5]==' ' || buf[5]=='\0' || buf[5]=='\n' || buf[5]=='\r' ) return 1;
+ }
+
+ /* ...RIS tags with three spaces */
+ else if ( buf[4]==' ' ) {
+ if ( buf[5]!='-' ) return 0;
+ if ( buf[6]==' ' || buf[6]=='\0' || buf[6]=='\n' || buf[6]=='\r' ) return 1;
+ }
+
+ return 0;
+}
+
+static int
+is_ris_start_tag( char *p )
+{
+ /* ...TY tag that fits specifications */
+ if ( !strncmp( p, "TY - ", 6 ) ) return 1;
+ /* ...TY tag with an extra space? */
+ if ( !strncmp( p, "TY - ", 7 ) ) return 1;
+ return 0;
+}
+
+static int
+is_ris_end_tag( char *p )
+{
+ /* ...ER tag that fits specifications */
+ if ( !strncmp( p, "ER -", 5 ) ) return 1;
+ /* ...ER tag with an extra space? */
+ if ( !strncmp( p, "ER -", 6 ) ) return 1;
+ return 0;
+}
+
+static int
+readmore( FILE *fp, char *buf, int bufsize, int *bufpos, str *line )
+{
+ if ( line->len ) return 1;
+ else return str_fget( fp, buf, bufsize, bufpos, line );
+}
+
+static int
+risin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset )
+{
+ int haveref = 0, inref = 0, readtoofar = 0;
+ char *p;
+
+ *fcharset = CHARSET_UNKNOWN;
+
+ while ( !haveref && readmore( fp, buf, bufsize, bufpos, line ) ) {
+
+ if ( str_is_empty( line ) ) continue;
+
+ p = str_cstr( line );
+
+ if ( utf8_is_bom( p ) ) {
+ *fcharset = CHARSET_UNICODE;
+ p += 3;
+ }
+
+ /* References are bounded by tags 'TY - ' && 'ER - ' */
+ if ( is_ris_start_tag( p ) ) {
+ if ( !inref ) inref = 1;
+ else {
+ /* we've read too far.... */
+ readtoofar = 1;
+ inref = 0;
+ }
+ }
+
+ if ( is_ris_tag( p ) ) {
+ if ( !inref ) {
+ fprintf(stderr,"Warning. Tagged line not "
+ "in properly started reference.\n");
+ fprintf(stderr,"Ignored: '%s'\n", p );
+ } else if ( is_ris_end_tag( p ) ) {
+ inref = 0;
+ } else {
+ str_addchar( reference, '\n' );
+ str_strcatc( reference, p );
+ }
+ }
+ /* not a tag, but we'll append to last values ...*/
+ else if ( inref && !is_ris_end_tag( p ) ) {
+ str_addchar( reference, '\n' );
+ str_strcatc( reference, p );
+ }
+ if ( !inref && reference->len ) haveref = 1;
+ if ( !readtoofar ) str_empty( line );
+ }
+
+ if ( inref ) haveref = 1;
+
+ return haveref;
+}
+
+/*****************************************************
+ PUBLIC: int risin_processf()
+*****************************************************/
+
+static const char*
+process_untagged_line( str *value, const char *p )
+{
+ while ( *p==' ' || *p=='\t' ) p++;
+ while ( *p && *p!='\r' && *p!='\n' )
+ str_addchar( value, *p++ );
+ while ( *p=='\r' || *p=='\n' ) p++;
+ return p;
+}
+
+static const char*
+process_tagged_line( str *tag, str *value, const char *p )
+{
+ int i = 0;
+
+ while ( i<6 && *p && *p!='\n' && *p!='\r' ) {
+ if ( i<2 ) str_addchar( tag, *p );
+ p++;
+ i++;
+ }
+
+ while ( *p==' ' || *p=='\t' ) p++;
+
+ while ( *p && *p!='\r' && *p!='\n' )
+ str_addchar( value, *p++ );
+ str_trimendingws( value );
+
+ while ( *p=='\n' || *p=='\r' ) p++;
+
+ return p;
+}
+
+static int
+merge_tag_value( fields *risin, str *tag, str *value, int *tag_added )
+{
+ str *oldval;
+ int n, status;
+
+ if ( str_has_value( value ) ) {
+ if ( *tag_added==1 ) {
+ n = fields_num( risin );
+ if ( n>0 ) {
+ oldval = fields_value( risin, n-1, FIELDS_STRP );
+ str_addchar( oldval, ' ' );
+ str_strcat( oldval, value );
+ if ( str_memerr( oldval ) ) return BIBL_ERR_MEMERR;
+ }
+ }
+ else {
+ status = fields_add( risin, str_cstr( tag ), str_cstr( value ), 0 );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ *tag_added = 1;
+ }
+ }
+ return BIBL_OK;
+}
+
+static int
+add_tag_value( fields *risin, str *tag, str *value, int *tag_added )
+{
+ int status;
+
+ if ( str_has_value( value ) ) {
+ status = fields_add( risin, str_cstr( tag ), str_cstr( value ), 0 );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ *tag_added = 1;
+ }
+
+ else {
+ *tag_added = 0;
+ }
+
+ return BIBL_OK;
+}
+
+static int
+risin_processf( fields *risin, const char *p, const char *filename, long nref, param *pm )
+{
+ int status, tag_added = 0, ret = 1;
+ str tag, value;
+
+ strs_init( &tag, &value, NULL );
+
+ while ( *p ) {
+
+ /* ...tag, add entry */
+ if ( is_ris_tag( p ) ) {
+ str_empty( &tag );
+ str_empty( &value );
+ p = process_tagged_line( &tag, &value, p );
+ status = add_tag_value( risin, &tag, &value, &tag_added );
+ if ( status!=BIBL_OK ) {
+ ret = 0;
+ goto out;
+ }
+ }
+
+ /* ...no tag, merge with previous line */
+ else {
+ str_empty( &value );
+ p = process_untagged_line( &value, p );
+ status = merge_tag_value( risin, &tag, &value, &tag_added );
+ if ( status!=BIBL_OK ) {
+ ret = 0;
+ goto out;
+ }
+ }
+
+ }
+out:
+
+ strs_free( &tag, &value, NULL );
+ return ret;
+}
+
+/*****************************************************
+ PUBLIC: int risin_typef()
+*****************************************************/
+
+static int
+risin_typef( fields *risin, const char *filename, int nref, param *p )
+{
+ int ntypename, nrefname, is_default;
+ char *refname = "", *typename = "";
+
+ ntypename = fields_find( risin, "TY", LEVEL_MAIN );
+ nrefname = fields_find( risin, "ID", LEVEL_MAIN );
+ if ( ntypename!=FIELDS_NOTFOUND ) typename = fields_value( risin, ntypename, FIELDS_CHRP_NOUSE );
+ if ( nrefname!=FIELDS_NOTFOUND ) refname = fields_value( risin, nrefname, FIELDS_CHRP_NOUSE );
+
+ return get_reftype( typename, nref, p->progname, p->all, p->nall, refname, &is_default, REFTYPE_CHATTY );
+}
+
+/*****************************************************
+ PUBLIC: int risin_convertf()
+*****************************************************/
+
+static int
+is_uri_file_scheme( char *p )
+{
+ if ( !strncmp( p, "file:", 5 ) ) return 5;
+ return 0;
+}
+
+static int
+risin_linkedfile( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int fstatus, m;
+ char *p;
+
+ /* if URL is file:///path/to/xyz.pdf, only store "///path/to/xyz.pdf" */
+ m = is_uri_file_scheme( str_cstr( invalue ) );
+ if ( m ) {
+ /* skip past "file:" and store only actual path */
+ p = invalue->data + m;
+ fstatus = fields_add( bibout, outtag, p, level );
+ if ( fstatus==FIELDS_OK ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+ }
+
+ /* if URL is http:, ftp:, etc. store as a URL */
+ m = is_uri_remote_scheme( str_cstr( invalue ) );
+ if ( m!=-1 ) {
+ fstatus = fields_add( bibout, "URL", str_cstr( invalue ), level );
+ if ( fstatus==FIELDS_OK ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+ }
+
+ /* badly formed, RIS wants URI, but store value anyway */
+ fstatus = fields_add( bibout, outtag, str_cstr( invalue ), level );
+ if ( fstatus==FIELDS_OK ) return BIBL_OK;
+ else return BIBL_ERR_MEMERR;
+}
+
+/* scopus puts DOI in the DO or DI tag, but it needs cleaning */
+static int
+risin_doi( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int fstatus, doi;
+ doi = is_doi( str_cstr( invalue ) );
+ if ( doi!=-1 ) {
+ fstatus = fields_add( bibout, "DOI", &(invalue->data[doi]), level );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ return BIBL_OK;
+}
+
+static int
+risin_date( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ char *p = str_cstr( invalue );
+ int part, status;
+ str date;
+
+ part = ( !strncasecmp( outtag, "PART", 4 ) );
+
+ str_init( &date );
+ while ( *p && *p!='/' ) str_addchar( &date, *p++ );
+ if ( str_memerr( &date ) ) return BIBL_ERR_MEMERR;
+ if ( *p=='/' ) p++;
+ if ( str_has_value( &date ) ) {
+ if ( part ) status = fields_add( bibout, "PARTDATE:YEAR", str_cstr( &date ), level );
+ else status = fields_add( bibout, "DATE:YEAR", str_cstr( &date ), level );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+
+ str_empty( &date );
+ while ( *p && *p!='/' ) str_addchar( &date, *p++ );
+ if ( str_memerr( &date ) ) return BIBL_ERR_MEMERR;
+ if ( *p=='/' ) p++;
+ if ( str_has_value( &date ) ) {
+ if ( part ) status = fields_add( bibout, "PARTDATE:MONTH", str_cstr( &date ), level );
+ else status = fields_add( bibout, "DATE:MONTH", str_cstr( &date ), level );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+
+ str_empty( &date );
+ while ( *p && *p!='/' ) str_addchar( &date, *p++ );
+ if ( str_memerr( &date ) ) return BIBL_ERR_MEMERR;
+ if ( *p=='/' ) p++;
+ if ( str_has_value( &date ) ) {
+ if ( part ) status = fields_add( bibout, "PARTDATE:DAY", str_cstr( &date ), level );
+ else status = fields_add( bibout, "DATE:DAY", str_cstr( &date ), level );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+
+ str_empty( &date );
+ while ( *p ) str_addchar( &date, *p++ );
+ if ( str_memerr( &date ) ) return BIBL_ERR_MEMERR;
+ if ( str_has_value( &date ) ) {
+ if ( part ) status = fields_add( bibout, "PARTDATE:OTHER", str_cstr( &date ), level );
+ else status = fields_add( bibout, "DATE:OTHER", str_cstr( &date ), level );
+ if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ str_free( &date );
+ return BIBL_OK;
+}
+
+static int
+risin_person( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )
+{
+ int i, begin, end, ok, status = BIBL_OK;
+ slist tokens;
+ str name;
+
+ str_init( &name );
+ slist_init( &tokens );
+
+ status = slist_tokenize( &tokens, invalue, " \t\r\n", 1 );
+ if ( status!=SLIST_OK ) { status = BIBL_ERR_MEMERR; goto out; }
+
+ begin = 0;
+ while ( begin < tokens.n ) {
+
+ end = begin + 1;
+
+ while ( end < tokens.n && strcasecmp( slist_cstr( &tokens, end ), "and" ) )
+ end++;
+
+ str_empty( &name );
+ for ( i=begin; i<end; ++i ) {
+ if ( i>begin ) str_addchar( &name, ' ' );
+ str_strcat( &name, slist_str( &tokens, i ) );
+ }
+
+ ok = name_add( bibout, outtag, str_cstr( &name ), level, &(pm->asis), &(pm->corps) );
+ if ( !ok ) { status = BIBL_ERR_MEMERR; goto out; }
+
+ begin = end + 1;
+
+ /* Handle repeated 'and' errors */
+ while ( begin < tokens.n && !strcasecmp( slist_cstr( &tokens, begin ), "and" ) )
+ begin++;
+
+ }
+
+out:
+ str_free( &name );
+ slist_free( &tokens );
+ return status;
+}
+
+/* look for thesis-type hint */
+static int
+risin_thesis_hints( fields *bibin, int reftype, param *p, fields *bibout )
+{
+ int i, nfields, fstatus;
+ char *tag, *value;
+
+ if ( strcasecmp( p->all[reftype].type, "THES" ) ) return BIBL_OK;
+
+ nfields = fields_num( bibin );
+ for ( i=0; i<nfields; ++i ) {
+ tag = fields_tag( bibin, i, FIELDS_CHRP );
+ if ( strcasecmp( tag, "U1" ) ) continue;
+ value = fields_value( bibin, i, FIELDS_CHRP );
+ if ( !strcasecmp(value,"Ph.D. Thesis")||
+ !strcasecmp(value,"Masters Thesis")||
+ !strcasecmp(value,"Diploma Thesis")||
+ !strcasecmp(value,"Doctoral Thesis")||
+ !strcasecmp(value,"Habilitation Thesis")||
+ !strcasecmp(value,"Licentiate Thesis")) {
+ fstatus = fields_add( bibout, "GENRE:BIBUTILS", value, 0 );
+ if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;
+ }
+ }
+ return BIBL_OK;
+}
+
+static void
+risin_report_notag( param *p, char *tag )
+{
+ if ( p->verbose && strcmp( tag, "TY" ) ) {
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Did not identify RIS tag '%s'\n", tag );
+ }
+}
+
+static int
+risin_convertf( fields *bibin, fields *bibout, int reftype, param *p )
+{
+ static int (*convertfns[NUM_REFTYPES])(fields *, int, str *, str *, int, param *, char *, fields *) = {
+ // Patch: Fix compilation on MSVC target
+ [ 0 ] = generic_null,
+ [ 1 ] = generic_null,
+ [ 2 ] = generic_null,
+ [ 3 ] = generic_null,
+ [ 4 ] = generic_null,
+ [ 5 ] = generic_null,
+ [ 6 ] = generic_null,
+ [ 7 ] = generic_null,
+ [ 8 ] = generic_null,
+ [ 9 ] = generic_null,
+ [ 10 ] = generic_null,
+ [ 11 ] = generic_null,
+ [ 12 ] = generic_null,
+ [ 13 ] = generic_null,
+ [ 14 ] = generic_null,
+ [ 15 ] = generic_null,
+ [ 16 ] = generic_null,
+ [ 17 ] = generic_null,
+ [ 18 ] = generic_null,
+ [ 19 ] = generic_null,
+ [ 20 ] = generic_null,
+ [ 21 ] = generic_null,
+ [ 22 ] = generic_null,
+ [ 23 ] = generic_null,
+ [ 24 ] = generic_null,
+ [ 25 ] = generic_null,
+ [ SIMPLE ] = generic_simple,
+ [ TITLE ] = generic_title,
+ [ SERIALNO ] = generic_serialno,
+ [ NOTES ] = generic_notes,
+ [ URL ] = generic_url,
+ [ GENRE ] = generic_genre,
+ [ PERSON ] = risin_person,
+ [ DATE ] = risin_date,
+ [ DOI ] = risin_doi,
+ [ LINKEDFILE ] = risin_linkedfile,
+ };
+ int process, level, i, nfields, status = BIBL_OK;
+ str *intag, *invalue;
+ char *outtag;
+
+ nfields = fields_num( bibin );
+
+ for ( i=0; i<nfields; ++i ) {
+ intag = fields_tag( bibin, i, FIELDS_STRP );
+ if ( !translate_oldtag( str_cstr( intag ), reftype, p->all, p->nall, &process, &level, &outtag ) ) {
+ risin_report_notag( p, str_cstr( intag ) );
+ continue;
+ }
+ invalue = fields_value( bibin, i, FIELDS_STRP );
+
+ status = convertfns[ process ] ( bibin, i, intag, invalue, level, p, outtag, bibout );
+ if ( status!=BIBL_OK ) return status;
+ }
+
+ if ( status == BIBL_OK ) status = risin_thesis_hints( bibin, reftype, p, bibout );
+
+ if ( status==BIBL_OK && p->verbose ) fields_report( bibout, stderr );
+
+ return status;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/risout.c b/support/texlab/crates/bibutils_sys/src/risout.c
new file mode 100644
index 0000000000..03106afc2c
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/risout.c
@@ -0,0 +1,793 @@
+/*
+ * risout.c
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "bibformats.h"
+#include "fields.h"
+#include "generic.h"
+#include "name.h"
+#include "str.h"
+#include "title.h"
+#include "url.h"
+#include "utf8.h"
+#include "msvc_fix.h"
+
+/*****************************************************
+ PUBLIC: int risout_initparams()
+*****************************************************/
+
+static int risout_write( fields *info, FILE *fp, param *p, unsigned long refnum );
+static int risout_assemble( fields *in, fields *out, param *pm, unsigned long refnum );
+
+int
+risout_initparams( param *pm, const char *progname )
+{
+ pm->writeformat = BIBL_RISOUT;
+ pm->format_opts = 0;
+ pm->charsetout = BIBL_CHARSET_DEFAULT;
+ pm->charsetout_src = BIBL_SRC_DEFAULT;
+ pm->latexout = 0;
+ pm->utf8out = BIBL_CHARSET_UTF8_DEFAULT;
+ pm->utf8bom = BIBL_CHARSET_BOM_DEFAULT;
+ pm->xmlout = BIBL_XMLOUT_FALSE;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->singlerefperfile = 0;
+
+ if ( pm->charsetout == BIBL_CHARSET_UNICODE ) {
+ pm->utf8out = pm->utf8bom = 1;
+ }
+
+ pm->headerf = generic_writeheader;
+ pm->footerf = NULL;
+ pm->assemblef = risout_assemble;
+ pm->writef = risout_write;
+
+ if ( !pm->progname ) {
+ if ( progname==NULL ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int risout_assemble()
+*****************************************************/
+
+enum {
+ TYPE_UNKNOWN = 0,
+ TYPE_STD, /* standard/generic (1) */
+ TYPE_ABSTRACT, /* abstract (2) */
+ TYPE_ARTICLE, /* article (3) */
+ TYPE_BOOK, /* book (4) */
+ TYPE_CASE, /* case (5) */
+ TYPE_INBOOK, /* chapter (6) */
+ TYPE_CONF, /* conference (7) */
+ TYPE_ELEC, /* electronic (8) */
+ TYPE_HEAR, /* hearing (9) */
+ TYPE_MAGARTICLE, /* magazine article (10) */
+ TYPE_NEWSPAPER, /* newspaper (11) */
+ TYPE_MPCT, /* mpct (12) */
+ TYPE_PAMPHLET, /* pamphlet (13) */
+ TYPE_PATENT, /* patent (14) */
+ TYPE_PCOMM, /* personal communication (15) */
+ TYPE_PROGRAM, /* program (16) */
+ TYPE_REPORT, /* report (17) */
+ TYPE_STATUTE, /* statute (18) */
+ TYPE_THESIS, /* thesis (19) */
+ TYPE_LICENTIATETHESIS, /* thesis (20) */
+ TYPE_MASTERSTHESIS, /* thesis (21) */
+ TYPE_PHDTHESIS, /* thesis (22) */
+ TYPE_DIPLOMATHESIS, /* thesis (23) */
+ TYPE_DOCTORALTHESIS, /* thesis (24) */
+ TYPE_HABILITATIONTHESIS, /* thesis (25) */
+ TYPE_MAP, /* map, cartographic data (26) */
+ TYPE_UNPUBLISHED, /* unpublished (27) */
+ NUM_TYPES /* (28) */
+};
+
+static int type_is_element[ NUM_TYPES ] = {
+ // Patch: Fix compilation on MSVC
+ // [ 0 ... NUM_TYPES-1 ] = 0,
+ [ 0 ] = 0,
+ [ 1 ] = 0,
+ [ 2 ] = 0,
+ [ 3 ] = 0,
+ [ 4 ] = 0,
+ [ 5 ] = 0,
+ [ 6 ] = 0,
+ [ 7 ] = 0,
+ [ 8 ] = 0,
+ [ 9 ] = 0,
+ [ 10 ] = 0,
+ [ 11 ] = 0,
+ [ 12 ] = 0,
+ [ 13 ] = 0,
+ [ 14 ] = 0,
+ [ 15 ] = 0,
+ [ 16 ] = 0,
+ [ 17 ] = 0,
+ [ 18 ] = 0,
+ [ 19 ] = 0,
+ [ 20 ] = 0,
+ [ 21 ] = 0,
+ [ 22 ] = 0,
+ [ 23 ] = 0,
+ [ 24 ] = 0,
+ [ 25 ] = 0,
+ [ 26 ] = 0,
+ [ 27 ] = 0,
+ [ TYPE_ARTICLE ] = 1,
+ [ TYPE_INBOOK ] = 1,
+ [ TYPE_MAGARTICLE ] = 1,
+ [ TYPE_NEWSPAPER ] = 1,
+ [ TYPE_ABSTRACT ] = 1,
+ [ TYPE_CONF ] = 1,
+};
+
+static int type_uses_journal[ NUM_TYPES ] = {
+ // Patch: Fix compilation on MSVC
+ // [ 0 ... NUM_TYPES-1 ] = 0,
+ [ 0 ] = 0,
+ [ 1 ] = 0,
+ [ 2 ] = 0,
+ [ 3 ] = 0,
+ [ 4 ] = 0,
+ [ 5 ] = 0,
+ [ 6 ] = 0,
+ [ 7 ] = 0,
+ [ 8 ] = 0,
+ [ 9 ] = 0,
+ [ 10 ] = 0,
+ [ 11 ] = 0,
+ [ 12 ] = 0,
+ [ 13 ] = 0,
+ [ 14 ] = 0,
+ [ 15 ] = 0,
+ [ 16 ] = 0,
+ [ 17 ] = 0,
+ [ 18 ] = 0,
+ [ 19 ] = 0,
+ [ 20 ] = 0,
+ [ 21 ] = 0,
+ [ 22 ] = 0,
+ [ 23 ] = 0,
+ [ 24 ] = 0,
+ [ 25 ] = 0,
+ [ 26 ] = 0,
+ [ 27 ] = 0,
+ [ TYPE_ARTICLE ] = 1,
+ [ TYPE_MAGARTICLE ] = 1,
+};
+
+static void
+write_type( FILE *fp, int type )
+{
+ const char *typenames[ NUM_TYPES ] = {
+ [ TYPE_UNKNOWN ] = "TYPE_UNKNOWN",
+ [ TYPE_STD ] = "TYPE_STD",
+ [ TYPE_ABSTRACT ] = "TYPE_ABSTRACT",
+ [ TYPE_ARTICLE ] = "TYPE_ARTICLE",
+ [ TYPE_BOOK ] = "TYPE_BOOK",
+ [ TYPE_CASE ] = "TYPE_CASE",
+ [ TYPE_INBOOK ] = "TYPE_INBOOK",
+ [ TYPE_CONF ] = "TYPE_CONF",
+ [ TYPE_ELEC ] = "TYPE_ELEC",
+ [ TYPE_HEAR ] = "TYPE_HEAR",
+ [ TYPE_MAGARTICLE ] = "TYPE_MAGARTICLE",
+ [ TYPE_NEWSPAPER ] = "TYPE_NEWSPAPER",
+ [ TYPE_MPCT ] = "TYPE_MPCT",
+ [ TYPE_PAMPHLET ] = "TYPE_PAMPHLET",
+ [ TYPE_PATENT ] = "TYPE_PATENT",
+ [ TYPE_PCOMM ] = "TYPE_PCOMM",
+ [ TYPE_PROGRAM ] = "TYPE_PROGRAM",
+ [ TYPE_REPORT ] = "TYPE_REPORT",
+ [ TYPE_STATUTE ] = "TYPE_STATUTE",
+ [ TYPE_THESIS ] = "TYPE_THESIS",
+ [ TYPE_LICENTIATETHESIS ] = "TYPE_LICENTIATETHESIS",
+ [ TYPE_MASTERSTHESIS ] = "TYPE_MASTERSTHESIS",
+ [ TYPE_PHDTHESIS ] = "TYPE_PHDTHESIS",
+ [ TYPE_DIPLOMATHESIS ] = "TYPE_DIPLOMATHESIS",
+ [ TYPE_DOCTORALTHESIS ] = "TYPE_DOCTORALTHESIS",
+ [ TYPE_HABILITATIONTHESIS ] = "TYPE_HABILITATIONTHESIS",
+ [ TYPE_MAP ] = "TYPE_MAP",
+ [ TYPE_UNPUBLISHED ] = "TYPE_UNPUBLISHED",
+ };
+
+ if ( type < 0 || type >= NUM_TYPES ) fprintf( fp, "Error - type not in enum" );
+ else fprintf( fp, "%s", typenames[ type ] );
+}
+
+static void
+verbose_type_identified( char *element_type, param *p, int type )
+{
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Type from %s element: ", element_type );
+ write_type( stderr, type );
+ fprintf( stderr, "\n" );
+}
+
+static void
+verbose_type_assignment( char *tag, char *value, param *p, int type )
+{
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Type from tag '%s' data '%s': ", tag, value );
+ write_type( stderr, type );
+ fprintf( stderr, "\n" );
+}
+
+typedef struct match_type {
+ char *name;
+ int type;
+} match_type;
+
+/* Try to determine type of reference from
+ * <genre></genre>
+ */
+static int
+get_type_genre( fields *f, param *p )
+{
+ match_type match_genres[] = {
+ { "academic journal", TYPE_ARTICLE },
+ { "article", TYPE_ARTICLE },
+ { "journal article", TYPE_ARTICLE },
+ { "magazine", TYPE_MAGARTICLE },
+ { "conference publication", TYPE_CONF },
+ { "newspaper", TYPE_NEWSPAPER },
+ { "legislation", TYPE_STATUTE },
+ { "communication", TYPE_PCOMM },
+ { "hearing", TYPE_HEAR },
+ { "electronic", TYPE_ELEC },
+ { "legal case and case notes", TYPE_CASE },
+ { "book chapter", TYPE_INBOOK },
+ { "Ph.D. thesis", TYPE_PHDTHESIS },
+ { "Licentiate thesis", TYPE_LICENTIATETHESIS },
+ { "Masters thesis", TYPE_MASTERSTHESIS },
+ { "Diploma thesis", TYPE_DIPLOMATHESIS },
+ { "Doctoral thesis", TYPE_DOCTORALTHESIS },
+ { "Habilitation thesis", TYPE_HABILITATIONTHESIS },
+ { "report", TYPE_REPORT },
+ { "technical report", TYPE_REPORT },
+ { "abstract or summary", TYPE_ABSTRACT },
+ { "patent", TYPE_PATENT },
+ { "unpublished", TYPE_UNPUBLISHED },
+ { "manuscript", TYPE_UNPUBLISHED },
+ { "map", TYPE_MAP },
+ };
+ int nmatch_genres = sizeof( match_genres ) / sizeof( match_genres[0] );
+ char *tag, *value;
+ int type, i, j;
+
+ type = TYPE_UNKNOWN;
+
+ for ( i=0; i<fields_num( f ); ++i ) {
+ tag = ( char * ) fields_tag( f, i, FIELDS_CHRP );
+ if ( strcmp( tag, "GENRE:MARC" ) && strcmp( tag, "GENRE:BIBUTILS" ) && strcmp( tag, "GENRE:UNKNOWN") ) continue;
+ value = ( char * ) fields_value( f, i, FIELDS_CHRP );
+ for ( j=0; j<nmatch_genres; ++j )
+ if ( !strcasecmp( match_genres[j].name, value ) )
+ type = match_genres[j].type;
+ if ( p->verbose ) verbose_type_assignment( tag, value, p, type );
+ if ( type==TYPE_UNKNOWN ) {
+ if ( !strcasecmp( value, "periodical" ) )
+ type = TYPE_ARTICLE;
+ else if ( !strcasecmp( value, "thesis" ) )
+ type = TYPE_THESIS;
+ else if ( !strcasecmp( value, "book" ) ) {
+ if ( fields_level( f, i )==0 ) type=TYPE_BOOK;
+ else type=TYPE_INBOOK;
+ }
+ else if ( !strcasecmp( value, "collection" ) ) {
+ if ( fields_level( f, i )==0 ) type=TYPE_BOOK;
+ else type=TYPE_INBOOK;
+ }
+ }
+
+ }
+
+ if ( p->verbose ) verbose_type_identified( "genre", p, type );
+
+ return type;
+}
+
+/* Try to determine type of reference from
+ * <TypeOfResource></TypeOfResource>
+ */
+static int
+get_type_resource( fields *f, param *p )
+{
+ match_type match_res[] = {
+ { "software, multimedia", TYPE_PROGRAM },
+ { "cartographic", TYPE_MAP },
+ };
+ int nmatch_res = sizeof( match_res ) / sizeof( match_res[0] );
+ vplist_index i;
+ int type, j;
+ char *value;
+ vplist a;
+
+ type = TYPE_UNKNOWN;
+
+ vplist_init( &a );
+ fields_findv_each( f, LEVEL_ANY, FIELDS_CHRP, &a, "RESOURCE" );
+
+ for ( i=0; i<a.n; ++i ) {
+ value = ( char * ) vplist_get( &a, i );
+ for ( j=0; j<nmatch_res; ++j ) {
+ if ( !strcasecmp( value, match_res[j].name ) )
+ type = match_res[j].type;
+ }
+ if ( p->verbose ) verbose_type_assignment( "RESOURCE", value, p, type );
+ }
+
+ if ( p->verbose ) verbose_type_identified( "resource", p, type );
+
+ vplist_free( &a );
+ return type;
+}
+
+/* Try to determine type of reference from <issuance></issuance> and */
+/* <typeOfReference></typeOfReference> */
+static int
+get_type_issuance( fields *f, param *p )
+{
+ int type = TYPE_UNKNOWN;
+ int i, monographic = 0, monographic_level = 0;
+// int text = 0;
+ for ( i=0; i<f->n; ++i ) {
+ if ( !strcasecmp( (char *) fields_tag( f, i, FIELDS_CHRP_NOUSE ), "issuance" ) &&
+ !strcasecmp( (char *) fields_value( f, i, FIELDS_CHRP_NOUSE ), "MONOGRAPHIC" ) ){
+ monographic = 1;
+ monographic_level = f->level[i];
+ }
+// if ( !strcasecmp( (char *) fields_tag( f, i, FIELDS_CHRP_NOUSE ), "typeOfResource" ) &&
+// !strcasecmp( (char *) fields_value( f, i, FIELDS_CHRP_NOUSE ), "text" ) ) {
+// text = 1;
+// }
+ }
+// if ( monographic && text ) {
+ if ( monographic ) {
+ if ( monographic_level==0 ) type=TYPE_BOOK;
+ else if ( monographic_level>0 ) type=TYPE_INBOOK;
+ }
+
+ if ( p->verbose ) {
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Type from issuance/typeOfReference elements: " );
+ write_type( stderr, type );
+ fprintf( stderr, "\n" );
+ }
+
+ return type;
+}
+
+static int
+get_type( fields *f, param *p )
+{
+ int type;
+ type = get_type_genre( f, p );
+ if ( type==TYPE_UNKNOWN ) type = get_type_resource( f, p );
+ if ( type==TYPE_UNKNOWN ) type = get_type_issuance( f, p );
+ if ( type==TYPE_UNKNOWN ) {
+ if ( fields_maxlevel( f ) > 0 ) type = TYPE_INBOOK;
+ else type = TYPE_STD;
+ }
+
+ if ( p->verbose ) {
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Final type: " );
+ write_type( stderr, type );
+ fprintf( stderr, "\n" );
+ }
+
+
+ return type;
+}
+
+static void
+append_type( int type, param *p, fields *out, int *status )
+{
+ char *typenames[ NUM_TYPES ] = {
+ [ TYPE_STD ] = "STD",
+ [ TYPE_ABSTRACT ] = "ABST",
+ [ TYPE_ARTICLE ] = "JOUR",
+ [ TYPE_BOOK ] = "BOOK",
+ [ TYPE_CASE ] = "CASE",
+ [ TYPE_INBOOK ] = "CHAP",
+ [ TYPE_CONF ] = "CONF",
+ [ TYPE_ELEC ] = "ELEC",
+ [ TYPE_HEAR ] = "HEAR",
+ [ TYPE_MAGARTICLE ] = "MGZN",
+ [ TYPE_NEWSPAPER ] = "NEWS",
+ [ TYPE_MPCT ] = "MPCT",
+ [ TYPE_PAMPHLET ] = "PAMP",
+ [ TYPE_PATENT ] = "PAT",
+ [ TYPE_PCOMM ] = "PCOMM",
+ [ TYPE_PROGRAM ] = "COMP",
+ [ TYPE_REPORT ] = "RPRT",
+ [ TYPE_STATUTE ] = "STAT",
+ [ TYPE_THESIS ] = "THES",
+ [ TYPE_MASTERSTHESIS ] = "THES",
+ [ TYPE_PHDTHESIS ] = "THES",
+ [ TYPE_DIPLOMATHESIS ] = "THES",
+ [ TYPE_DOCTORALTHESIS ] = "THES",
+ [ TYPE_HABILITATIONTHESIS ] = "THES",
+ [ TYPE_MAP ] = "MAP",
+ [ TYPE_UNPUBLISHED ] = "UNPB",
+ };
+ int fstatus;
+
+ if ( type < 0 || type >= NUM_TYPES ) {
+ if ( p->progname ) fprintf( stderr, "%s: ", p->progname );
+ fprintf( stderr, "Internal error: Cannot recognize type %d, switching to TYPE_STD %d\n", type, TYPE_STD );
+ type = TYPE_STD;
+ }
+
+ fstatus = fields_add( out, "TY", typenames[ type ], LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+}
+
+static void
+append_people( fields *f, char *tag, char *ristag, int level, fields *out, int *status )
+{
+ vplist_index i;
+ str oneperson;
+ vplist people;
+ int fstatus;
+
+ str_init( &oneperson );
+ vplist_init( &people );
+ fields_findv_each( f, level, FIELDS_CHRP, &people, tag );
+ for ( i=0; i<people.n; ++i ) {
+ name_build_withcomma( &oneperson, ( char * ) vplist_get( &people, i ) );
+ if ( str_memerr( &oneperson ) ) { *status = BIBL_ERR_MEMERR; goto out; }
+ fstatus = fields_add_can_dup( out, ristag, str_cstr( &oneperson ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) { *status = BIBL_ERR_MEMERR; goto out; }
+ }
+out:
+ vplist_free( &people );
+ str_free( &oneperson );
+}
+
+static void
+append_date( fields *in, fields *out, int *status )
+{
+ char *year, *month, *day;
+ str date;
+ int fstatus;
+
+ year = fields_findv_firstof( in, LEVEL_ANY, FIELDS_CHRP, "DATE:YEAR", "PARTDATE:YEAR", NULL );
+ month = fields_findv_firstof( in, LEVEL_ANY, FIELDS_CHRP, "DATE:MONTH", "PARTDATE:MONTH", NULL );
+ day = fields_findv_firstof( in, LEVEL_ANY, FIELDS_CHRP, "DATE:DAY", "PARTDATE:DAY", NULL );
+
+ if ( year ) {
+ fstatus = fields_add( out, "PY", year, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+ if ( year || month || day ) {
+ str_init( &date );
+
+ if ( year ) str_strcatc( &date, year );
+ str_addchar( &date, '/' );
+ if ( month ) str_strcatc( &date, month );
+ str_addchar( &date, '/' );
+ if ( day ) str_strcatc( &date, day );
+
+ if ( str_memerr( &date ) ) { *status = BIBL_ERR_MEMERR; str_free( &date ); return; }
+
+ fstatus = fields_add( out, "DA", str_cstr( &date ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+
+ str_free( &date );
+ }
+}
+
+static void
+append_titlecore( fields *in, char *ristag, int level, char *maintag, char *subtag, fields *out, int *status )
+{
+ str *mainttl = fields_findv( in, level, FIELDS_STRP, maintag );
+ str *subttl = fields_findv( in, level, FIELDS_STRP, subtag );
+ str fullttl;
+ int fstatus;
+
+ str_init( &fullttl );
+
+ title_combine( &fullttl, mainttl, subttl );
+
+ if ( str_memerr( &fullttl ) ) {
+ *status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ if ( str_has_value( &fullttl ) ) {
+ fstatus = fields_add( out, ristag, str_cstr( &fullttl ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+out:
+ str_free( &fullttl );
+}
+
+static void
+append_alltitles( fields *in, int type, fields *out, int *status )
+{
+ append_titlecore( in, "TI", 0, "TITLE", "SUBTITLE", out, status );
+ append_titlecore( in, "T2", -1, "SHORTTITLE", "SHORTSUBTITLE", out, status );
+ if ( type_is_element[ type ] ) {
+ if ( type_uses_journal[ type ] )
+ append_titlecore( in, "JO", 1, "TITLE", "SUBTITLE", out, status );
+ else append_titlecore( in, "BT", 1, "TITLE", "SUBTITLE", out, status );
+ append_titlecore( in, "T3", 2, "TITLE", "SUBTITLE", out, status );
+ } else {
+ append_titlecore( in, "T3", 1, "TITLE", "SUBTITLE", out, status );
+ }
+}
+
+static void
+append_pages( fields *in, fields *out, int *status )
+{
+ char *sn, *en, *ar;
+ int fstatus;
+
+ sn = fields_findv( in, LEVEL_ANY, FIELDS_CHRP, "PAGES:START" );
+ en = fields_findv( in, LEVEL_ANY, FIELDS_CHRP, "PAGES:STOP" );
+
+ if ( sn || en ) {
+ if ( sn ) {
+ fstatus = fields_add( out, "SP", sn, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ if ( en ) {
+ fstatus = fields_add( out, "EP", en, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ } else {
+ ar = fields_findv( in, LEVEL_ANY, FIELDS_CHRP, "ARTICLENUMBER" );
+ if ( ar ) {
+ fstatus = fields_add( out, "SP", ar, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ }
+}
+
+static void
+append_keywords( fields *in, fields *out, int *status )
+{
+ vplist_index i;
+ int fstatus;
+ vplist vpl;
+
+ vplist_init( &vpl );
+ fields_findv_each( in, LEVEL_ANY, FIELDS_CHRP, &vpl, "KEYWORD" );
+ for ( i=0; i<vpl.n; ++i ) {
+ fstatus = fields_add( out, "KW", ( char * ) vplist_get( &vpl, i ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ vplist_free( &vpl );
+}
+
+static void
+append_urls( fields *in, fields *out, int *status )
+{
+ int lstatus;
+ slist types;
+
+ lstatus = slist_init_valuesc( &types, "URL", "DOI", "PMID", "PMC", "ARXIV", "JSTOR", "MRNUMBER", NULL );
+ if ( lstatus!=SLIST_OK ) {
+ *status = BIBL_ERR_MEMERR;
+ return;
+ }
+
+ *status = urls_merge_and_add( in, LEVEL_ANY, out, "UR", LEVEL_MAIN, &types );
+
+ slist_free( &types );
+
+}
+
+static void
+append_thesishint( int type, fields *out, int *status )
+{
+ int fstatus;
+
+ if ( type==TYPE_MASTERSTHESIS ) {
+ fstatus = fields_add( out, "U1", "Masters thesis", LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+ else if ( type==TYPE_PHDTHESIS ) {
+ fstatus = fields_add( out, "U1", "Ph.D. thesis", LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+ else if ( type==TYPE_DIPLOMATHESIS ) {
+ fstatus = fields_add( out, "U1", "Diploma thesis", LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+ else if ( type==TYPE_DOCTORALTHESIS ) {
+ fstatus = fields_add( out, "U1", "Doctoral thesis", LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+ else if ( type==TYPE_HABILITATIONTHESIS ) {
+ fstatus = fields_add( out, "U1", "Habilitation thesis", LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+
+ else if ( type==TYPE_LICENTIATETHESIS ) {
+ fstatus = fields_add( out, "U1", "Licentiate thesis", LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+}
+
+static int
+is_uri_scheme( char *p )
+{
+ char *scheme[] = { "http:", "https:", "file:", "ftp:", "git:", "gopher:" };
+ int i, len, nschemes = sizeof( scheme ) / sizeof( scheme[0] );
+ for ( i=0; i<nschemes; ++i ) {
+ len = strlen( scheme[i] );
+ if ( !strncmp( p, scheme[i], len ) ) return len;
+ }
+ return 0;
+}
+
+
+static void
+append_file( fields *in, char *tag, char *ristag, int level, fields *out, int *status )
+{
+ vplist_index i;
+ str filename;
+ int fstatus;
+ vplist a;
+ char *fl;
+
+ str_init( &filename );
+ vplist_init( &a );
+ fields_findv_each( in, level, FIELDS_CHRP, &a, tag );
+ for ( i=0; i<a.n; ++i ) {
+ fl = ( char * ) vplist_get( &a, i );
+ str_empty( &filename );
+ if ( !is_uri_scheme( fl ) ) str_strcatc( &filename, "file:" );
+ str_strcatc( &filename, fl );
+ if ( str_memerr( &filename ) ) { *status = BIBL_ERR_MEMERR; goto out; }
+ fstatus = fields_add( out, ristag, str_cstr( &filename ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) { *status = BIBL_ERR_MEMERR; goto out; }
+ }
+out:
+ vplist_free( &a );
+ str_free( &filename );
+}
+
+static void
+append_easy( fields *in, char *tag, char *ristag, int level, fields *out, int *status )
+{
+ char *value;
+ int fstatus;
+
+ value = fields_findv( in, level, FIELDS_CHRP, tag );
+ if ( value ) {
+ fstatus = fields_add( out, ristag, value, LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+}
+
+static void
+append_easyall( fields *in, char *tag, char *ristag, int level, fields *out, int *status )
+{
+ vplist_index i;
+ int fstatus;
+ vplist a;
+
+ vplist_init( &a );
+ fields_findv_each( in, level, FIELDS_CHRP, &a, tag );
+ for ( i=0; i<a.n; ++i ) {
+ fstatus = fields_add( out, ristag, (char *) vplist_get( &a, i ), LEVEL_MAIN );
+ if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;
+ }
+ vplist_free( &a );
+}
+
+static void
+append_allpeople( fields *in, int type, fields *out, int *status )
+{
+ append_people ( in, "AUTHOR", "AU", LEVEL_MAIN, out, status );
+ append_easyall( in, "AUTHOR:CORP", "AU", LEVEL_MAIN, out, status );
+ append_easyall( in, "AUTHOR:ASIS", "AU", LEVEL_MAIN, out, status );
+ append_people ( in, "AUTHOR", "A2", LEVEL_HOST, out, status );
+ append_easyall( in, "AUTHOR:CORP", "A2", LEVEL_HOST, out, status );
+ append_easyall( in, "AUTHOR:ASIS", "A2", LEVEL_HOST, out, status );
+ append_people ( in, "AUTHOR", "A3", LEVEL_SERIES, out, status );
+ append_easyall( in, "AUTHOR:CORP", "A3", LEVEL_SERIES, out, status );
+ append_easyall( in, "AUTHOR:ASIS", "A3", LEVEL_SERIES, out, status );
+ append_people ( in, "EDITOR", "ED", LEVEL_MAIN, out, status );
+ append_easyall( in, "EDITOR:CORP", "ED", LEVEL_MAIN, out, status );
+ append_easyall( in, "EDITOR:ASIS", "ED", LEVEL_MAIN, out, status );
+ if ( type_is_element[ type ] ) {
+ append_people ( in, "EDITOR", "ED", LEVEL_HOST, out, status );
+ append_easyall( in, "EDITOR:CORP", "ED", LEVEL_HOST, out, status );
+ append_easyall( in, "EDITOR:ASIS", "ED", LEVEL_HOST, out, status );
+ } else {
+ append_people ( in, "EDITOR", "A3", LEVEL_HOST, out, status );
+ append_easyall( in, "EDITOR:CORP", "A3", LEVEL_HOST, out, status );
+ append_easyall( in, "EDITOR:ASIS", "A3", LEVEL_HOST, out, status );
+ }
+ append_people ( in, "EDITOR", "A3", LEVEL_SERIES, out, status );
+ append_easyall( in, "EDITOR:CORP", "A3", LEVEL_SERIES, out, status );
+ append_easyall( in, "EDITOR:ASIS", "A3", LEVEL_SERIES, out, status );
+}
+
+static int
+risout_assemble( fields *in, fields *out, param *pm, unsigned long refnum )
+{
+ int type, status = BIBL_OK;
+
+ type = get_type( in, pm );
+
+ append_type ( type, pm, out, &status );
+ append_allpeople ( in, type, out, &status );
+ append_date ( in, out, &status );
+ append_alltitles ( in, type, out, &status );
+ append_pages ( in, out, &status );
+ append_easy ( in, "VOLUME", "VL", LEVEL_ANY, out, &status );
+ append_easy ( in, "ISSUE", "IS", LEVEL_ANY, out, &status );
+ append_easy ( in, "NUMBER", "IS", LEVEL_ANY, out, &status );
+ append_easy ( in, "EDITION", "ET", LEVEL_ANY, out, &status );
+ append_easy ( in, "NUMVOLUMES", "NV", LEVEL_ANY, out, &status );
+ append_easy ( in, "ADDRESS:AUTHOR", "AD", LEVEL_ANY, out, &status );
+ append_easy ( in, "PUBLISHER", "PB", LEVEL_ANY, out, &status );
+ append_easy ( in, "DEGREEGRANTOR", "PB", LEVEL_ANY, out, &status );
+ append_easy ( in, "DEGREEGRANTOR:ASIS", "PB", LEVEL_ANY, out, &status );
+ append_easy ( in, "DEGREEGRANTOR:CORP", "PB", LEVEL_ANY, out, &status );
+ append_easy ( in, "ADDRESS", "CY", LEVEL_ANY, out, &status );
+ append_keywords ( in, out, &status );
+ append_easy ( in, "ABSTRACT", "AB", LEVEL_ANY, out, &status );
+ append_easy ( in, "CALLNUMBER", "CN", LEVEL_ANY, out, &status );
+ append_easy ( in, "ISSN", "SN", LEVEL_ANY, out, &status );
+ append_easy ( in, "ISBN", "SN", LEVEL_ANY, out, &status );
+ append_file ( in, "FILEATTACH", "L1", LEVEL_ANY, out, &status );
+ append_file ( in, "FIGATTACH", "L4", LEVEL_ANY, out, &status );
+ append_easy ( in, "CAPTION", "CA", LEVEL_ANY, out, &status );
+ append_urls ( in, out, &status );
+ append_easyall ( in, "DOI", "DO", LEVEL_ANY, out, &status );
+ append_easy ( in, "LANGUAGE", "LA", LEVEL_ANY, out, &status );
+ append_easy ( in, "NOTES", "N1", LEVEL_ANY, out, &status );
+ append_easy ( in, "REFNUM", "ID", LEVEL_ANY, out, &status );
+ append_thesishint( type, out, &status );
+
+ return status;
+}
+
+/*****************************************************
+ PUBLIC: int risout_write()
+*****************************************************/
+
+static int
+risout_write( fields *out, FILE *fp, param *p, unsigned long refnum )
+{
+ const char *tag, *value;
+ int i;
+
+ for ( i=0; i<out->n; ++i ) {
+ tag = fields_tag ( out, i, FIELDS_CHRP );
+ value = fields_value( out, i, FIELDS_CHRP );
+ fprintf( fp, "%s - %s\n", tag, value );
+ }
+
+ fprintf( fp, "ER - \n" );
+ fflush( fp );
+ return BIBL_OK;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/ristypes.c b/support/texlab/crates/bibutils_sys/src/ristypes.c
new file mode 100644
index 0000000000..798e25c94f
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/ristypes.c
@@ -0,0 +1,1594 @@
+/*
+ * ristypes.c
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "fields.h"
+#include "reftypes.h"
+
+static lookups generic[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author -- Series editors */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "BT", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Name of Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachments (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Number? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_MAIN }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Resarch Notes -> Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_MAIN }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_MAIN }, /* Access Date */
+};
+
+static lookups article[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author -- Series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_HOST }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_SERIES }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Number? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_HOST }, /* Publisher */
+ { "PY", "PARTDATE:YEAR",DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_HOST }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "PARTDATE:YEAR",DATE, LEVEL_MAIN }, /* Deprecated */
+ { "Y2", "PARTDATE:MONTH",SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "INTERNAL_TYPE|ARTICLE", ALWAYS, LEVEL_MAIN },
+ { " ", "ISSUANCE|continuing", ALWAYS, LEVEL_HOST },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:BIBUTILS|journal article", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|periodical", ALWAYS, LEVEL_HOST },
+ { " ", "GENRE:BIBUTILS|academic journal", ALWAYS, LEVEL_HOST }
+};
+
+/* magazine article */
+static lookups magarticle[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - Series editors */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_HOST }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_SERIES }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Number? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_HOST }, /* Publisher */
+ { "PY", "PARTDATE:YEAR",DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_HOST }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "PARTDATE:YEAR",DATE, LEVEL_MAIN }, /* Deprecated */
+ { "Y2", "PARTDATE:MONTH",SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "ISSUANCE|continuing", ALWAYS, LEVEL_HOST },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|periodical", ALWAYS, LEVEL_HOST },
+ { " ", "GENRE:BIBUTILS|magazine", ALWAYS, LEVEL_HOST }
+};
+
+static lookups newsarticle[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - Series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_HOST }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_SERIES }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Number? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_HOST }, /* Publisher */
+ { "PY", "PARTDATE:YEAR",DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_HOST }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "PARTDATE:YEAR",DATE, LEVEL_MAIN }, /* Deprecated */
+ { "Y2", "PARTDATE:MONTH",SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "INTERNAL_TYPE|NEWSARTICLE", ALWAYS, LEVEL_MAIN },
+ { " ", "ISSUANCE|continuing", ALWAYS, LEVEL_HOST },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|newspaper", ALWAYS, LEVEL_HOST }
+};
+
+static lookups book[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_HOST }, /* 'Tertiary' Author - Series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "BT", "TITLE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Number? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_MAIN }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_MAIN }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title -- here abbreviated title for series*/
+ { "T3", "TITLE", SIMPLE, LEVEL_HOST }, /* 'Tertiary' Title -- series title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Deprecated */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "ISSUANCE|monographic", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|book", ALWAYS, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups inbook[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "BT", "TITLE", SIMPLE, LEVEL_HOST }, /* Book Title - Deprecated? */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_HOST }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_HOST }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_HOST }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_HOST }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Number? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_HOST }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_HOST }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_HOST }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_SERIES }, /* 'Secondary' Title -- here abbreviated title for series*/
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_HOST }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_HOST }, /* Deprecated */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_HOST }, /* Access Date */
+ { " ", "GENRE:BIBUTILS|book chapter", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|book", ALWAYS, LEVEL_HOST },
+ { " ", "ISSUANCE|monographic", ALWAYS, LEVEL_HOST },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups conference[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR:ASIS", SIMPLE, LEVEL_HOST }, /* 'Secondary' Author - Name of conference */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - Series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Number? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_HOST }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_HOST }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_MAIN }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "BT", "TITLE", SIMPLE, LEVEL_HOST }, /* Book Title */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_SERIES }, /* 'Secondary' Title - Abbreviated series TItle*/
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title - Series Title*/
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_HOST }, /* Deprecated */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_HOST }, /* Access Date */
+ { " ", "INTERNAL_TYPE|CONFERENCE", ALWAYS, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|conference publication", ALWAYS, LEVEL_HOST }
+};
+
+static lookups statute[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - Series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "BT", "TITLE", SIMPLE, LEVEL_HOST }, /* Book Title - Deprecated? */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Number? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_MAIN }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_MAIN }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Deprecated */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "INTERNAL_TYPE|STATUTE", ALWAYS, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|legislation", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups hearing[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "BT", "TITLE", SIMPLE, LEVEL_MAIN }, /* Book Title - Deprecated? */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Number? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_MAIN }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_MAIN }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Deprecated */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "INTERNAL_TYPE|HEARING", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:BIBUTILS|hearing", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups cases[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "BT", "TITLE", SIMPLE, LEVEL_MAIN }, /* Book Title - Deprecated? */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Number? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_MAIN }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_MAIN }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Deprecated */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "INTERNAL_TYPE|CASE", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|legal case and case notes", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups communication[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "ADDRESSEE", PERSON, LEVEL_MAIN }, /* SPECIAL */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - Series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "BT", "TITLE", SIMPLE, LEVEL_MAIN }, /* Book Title - Deprecated? */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "GENRE:UKNOWN", GENRE, LEVEL_MAIN }, /* Misc or Number? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_MAIN }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_MAIN }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Deprecated */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "INTERNAL_TYPE|ARTICLE", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:BIBUTILS|communication", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups thesis[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - Series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "BT", "TITLE", SIMPLE, LEVEL_MAIN }, /* Book Title - Deprecated? */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", SIMPLE, LEVEL_MAIN }, /* Misc or Number? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_MAIN }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_MAIN }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Deprecated */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "INTERNAL_TYPE|THESIS", ALWAYS, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|thesis", ALWAYS, LEVEL_MAIN },
+};
+
+static lookups report[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - Series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "BT", "TITLE", SIMPLE, LEVEL_MAIN }, /* Book Title - Deprecated? */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", SIMPLE, LEVEL_MAIN }, /* Misc or Number? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_MAIN }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_MAIN }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Deprecated */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "INTERNAL_TYPE|REPORT", ALWAYS, LEVEL_MAIN },
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|technical report", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups abstract[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - Series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "BT", "TITLE", SIMPLE, LEVEL_MAIN }, /* Book Title - Deprecated? */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", SIMPLE, LEVEL_MAIN }, /* Misc or Number? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_MAIN }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_MAIN }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Deprecated */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "GENRE:MARC|abstract or summary", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups program[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - Series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "BT", "TITLE", SIMPLE, LEVEL_MAIN }, /* Book Title - Deprecated? */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", SIMPLE, LEVEL_MAIN }, /* Misc or Number? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_MAIN }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_MAIN }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Deprecated */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "RESOURCE|software, multimedia", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups patent[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - Series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "BT", "TITLE", SIMPLE, LEVEL_MAIN }, /* Book Title - Deprecated? */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_MAIN }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_MAIN }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Deprecated */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|patent", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups electric[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - Series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "BT", "TITLE", SIMPLE, LEVEL_MAIN }, /* Book Title - Deprecated? */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_MAIN }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_MAIN }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Deprecated */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "RESOURCE|software, multimedia", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|electronic", ALWAYS, LEVEL_MAIN },
+};
+
+static lookups pamphlet[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - Series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "BT", "TITLE", SIMPLE, LEVEL_MAIN }, /* Book Title - Deprecated? */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_MAIN }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_MAIN }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Deprecated */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:BIBUTILS|pamphlet", ALWAYS, LEVEL_MAIN },
+};
+
+static lookups map[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - Series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "BT", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Name of Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachments (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Number? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_MAIN }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Resarch Notes -> Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_MAIN }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "RESOURCE|cartographic", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:MARC|map", ALWAYS, LEVEL_MAIN }
+};
+
+static lookups unpublished[] = {
+ { "A1", "AUTHOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "A2", "AUTHOR", PERSON, LEVEL_HOST }, /* 'Secondary' Author */
+ { "A3", "EDITOR", PERSON, LEVEL_SERIES }, /* 'Tertiary' Author - Series editor */
+ { "A4", "AUTHOR", PERSON, LEVEL_SERIES }, /* 'Subsidiary' Author */
+ { "AB", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Abstract */
+ { "AD", "ADDRESS:AUTHOR",SIMPLE, LEVEL_MAIN }, /* Author Address */
+ { "AU", "AUTHOR", PERSON, LEVEL_MAIN }, /* Author */
+ { "BT", "TITLE", SIMPLE, LEVEL_MAIN }, /* Book Title - Deprecated? */
+ { "C1", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C2", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C3", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C4", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C5", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C6", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C7", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "C8", "NOTES", NOTES, LEVEL_MAIN }, /* 'Custom' - put in "notes" */
+ { "CA", "CAPTION", SIMPLE, LEVEL_MAIN }, /* Caption */
+ { "CN", "CALLNUMBER", SIMPLE, LEVEL_MAIN }, /* Call Number */
+ { "CP", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CT", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "CY", "ADDRESS", SIMPLE, LEVEL_MAIN }, /* Place Published */
+ { "DA", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Date */
+ { "DB", "DATABASE", SIMPLE, LEVEL_MAIN }, /* Database */
+ { "DI", "DOI", DOI, LEVEL_MAIN }, /* Deprecated? */
+ { "DO", "DOI", DOI, LEVEL_MAIN }, /* DOI */
+ { "DP", "DATABASEPROV", SIMPLE, LEVEL_MAIN }, /* Database Provider */
+ { "ED", "EDITOR", PERSON, LEVEL_MAIN }, /* Deprecated? */
+ { "EP", "PAGES:STOP", SIMPLE, LEVEL_MAIN }, /* End Page */
+ { "ET", "EDITION", SIMPLE, LEVEL_MAIN }, /* Edition */
+ { "ID", "REFNUM", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "IS", "ISSUE", SIMPLE, LEVEL_MAIN }, /* Number */
+ { "J1", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "J2", "TITLE", SIMPLE, LEVEL_HOST }, /* Alternate Title, abbreviated book or journal */
+ { "JA", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JF", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "JO", "TITLE", SIMPLE, LEVEL_HOST }, /* Deprecated? */
+ { "KW", "KEYWORD", SIMPLE, LEVEL_MAIN }, /* Keywords */
+ { "L1", "FILEATTACH", LINKEDFILE, LEVEL_MAIN }, /* File Attachment (local, not URL) */
+ { "L4", "FIGATTACH", LINKEDFILE, LEVEL_MAIN }, /* Figure Attachment (local, not URL) */
+ { "LA", "LANGUAGE", SIMPLE, LEVEL_MAIN }, /* Language */
+ { "LB", "LABEL", SIMPLE, LEVEL_MAIN }, /* Label */
+ { "M1", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M2", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Deprecated? */
+ { "M3", "NOTES", NOTES, LEVEL_MAIN }, /* Misc or Type of Work? */
+ { "N1", "NOTES", NOTES, LEVEL_MAIN }, /* Notes */
+ { "N2", "ABSTRACT", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "NV", "NUMVOLUMES", SIMPLE, LEVEL_MAIN }, /* Number of Volumes */
+ { "OP", "ORIGPUB", SIMPLE, LEVEL_MAIN }, /* Original Publication */
+ { "PB", "PUBLISHER", SIMPLE, LEVEL_MAIN }, /* Publisher */
+ { "PY", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Year */
+ { "RI", "REVIEWEDITEM", SIMPLE, LEVEL_MAIN }, /* Reviewed Item */
+ { "RN", "NOTES", NOTES, LEVEL_MAIN }, /* Research Notes */
+ { "RP", "REPRINTSTATUS",SIMPLE, LEVEL_MAIN }, /* Reprint Edition */
+ { "SE", "SECTION", SIMPLE, LEVEL_MAIN }, /* Section */
+ { "SN", "SERIALNUMBER", SERIALNO,LEVEL_MAIN }, /* ISBN/ISSN */
+ { "SP", "PAGES:START", SIMPLE, LEVEL_MAIN }, /* Start Page */
+ { "ST", "SHORTTITLE", SIMPLE, LEVEL_MAIN }, /* Short Title */
+ { "T1", "TITLE", TITLE, LEVEL_MAIN }, /* Deprecated? */
+ { "T2", "SHORTTITLE", SIMPLE, LEVEL_HOST }, /* 'Secondary' Title */
+ { "T3", "TITLE", SIMPLE, LEVEL_SERIES }, /* 'Tertiary' Title */
+ { "TI", "TITLE", TITLE, LEVEL_MAIN }, /* Title */
+ { "TT", "TRANSTITLE", TITLE, LEVEL_MAIN }, /* Translated Title */
+ { "U1", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U2", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U3", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U4", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "U5", "NOTES", NOTES, LEVEL_MAIN }, /* 'User' - Deprecated? */
+ { "UR", "URL", URL, LEVEL_MAIN }, /* URL */
+ { "VL", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Volume */
+ { "VO", "VOLUME", SIMPLE, LEVEL_MAIN }, /* Deprecated? */
+ { "Y1", "DATE:YEAR", DATE, LEVEL_MAIN }, /* Deprecated */
+ { "Y2", "DATE:MONTH", SIMPLE, LEVEL_MAIN }, /* Access Date */
+ { " ", "RESOURCE|text", ALWAYS, LEVEL_MAIN },
+ { " ", "GENRE:BIBUTILS|unpublished", ALWAYS, LEVEL_MAIN }
+};
+
+#define ORIG(a) ( &(a[0]) )
+#define SIZE(a) ( sizeof( a ) / sizeof( lookups ) )
+#define REFTYPE(a,b) { a, ORIG(b), SIZE(b) }
+
+variants ris_all[] = {
+ REFTYPE( "STD", generic ),
+ REFTYPE( "GEN", generic ),
+ REFTYPE( "JOUR", article ),
+ REFTYPE( "MGZN", magarticle ),
+ REFTYPE( "BOOK", book ),
+ REFTYPE( "CHAP", inbook ),
+ REFTYPE( "CONF", conference ),
+ REFTYPE( "STAT", statute ),
+ REFTYPE( "HEAR", hearing ),
+ REFTYPE( "CASE", cases ),
+ REFTYPE( "NEWS", newsarticle ),
+ REFTYPE( "MPCT", generic ),
+ REFTYPE( "PCOMM", communication ),
+ REFTYPE( "PAMP", pamphlet ),
+ REFTYPE( "ELEC", electric ),
+ REFTYPE( "THES", thesis ),
+ REFTYPE( "RPRT", report ),
+ REFTYPE( "ABST", abstract ),
+ REFTYPE( "COMP", program ),
+ REFTYPE( "PAT", patent ),
+ REFTYPE( "MAP", map ),
+ REFTYPE( "UNPB", unpublished ),
+};
+
+int ris_nall = sizeof( ris_all ) / sizeof( variants );
+
diff --git a/support/texlab/crates/bibutils_sys/src/serialno.c b/support/texlab/crates/bibutils_sys/src/serialno.c
new file mode 100644
index 0000000000..77e09b456d
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/serialno.c
@@ -0,0 +1,56 @@
+/*
+ * serialno.c
+ *
+ * Copyright (c) Chris Putnam 2005-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <string.h>
+#include "serialno.h"
+#include "msvc_fix.h"
+
+int
+addsn( fields *info, char *buf, int level )
+{
+ int ndigits, issn=0, isbn=0, isbn10=0, isbn13=0, status;
+ char *p = buf, *tag;
+
+ if ( !strncasecmp( p, "ISSN", 4 ) ) issn=1;
+ else if ( !strncasecmp( p, "ISBN", 4 ) ) isbn=1;
+
+ if ( isbn ) {
+ ndigits = 0;
+ while ( *p && !(ndigits && (*p==';'||*p==':')) ) {
+ if ( ( *p>='0' && *p<='9' ) || *p=='x' || *p=='X' )
+ ndigits++;
+ p++;
+ }
+ if ( ndigits==13 ) isbn13 = 1;
+ else /* ( ndigits==10) */ isbn10 = 1;
+ }
+
+ if ( !issn && !isbn ) {
+ /* a lot have semicolons between multiple ISBN's for
+ paperbacks and hardbacks with different numbers */
+ ndigits = 0;
+ while ( *p && !(ndigits && (*p==';'||*p==':')) ) {
+ if ( ( *p>='0' && *p<='9' ) || *p=='x' || *p=='X' )
+ ndigits++;
+ p++;
+ }
+ if ( ndigits==8 ) issn = 1;
+ else if ( ndigits==10 ) isbn10 = 1;
+ else if ( ndigits==13 ) isbn13 = 1;
+ }
+
+ if ( issn ) tag = "ISSN";
+ else if ( isbn10 ) tag = "ISBN";
+ else if ( isbn13 ) tag = "ISBN13";
+ else tag = "SERIALNUMBER";
+
+ status = fields_add( info, tag, buf, level );
+
+ if ( status==FIELDS_OK ) return 1;
+ else return 0;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/serialno.h b/support/texlab/crates/bibutils_sys/src/serialno.h
new file mode 100644
index 0000000000..ccd4c35052
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/serialno.h
@@ -0,0 +1,16 @@
+/*
+ * serialno.h
+ *
+ * Copyright (c) Chris Putnam 2005-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef SERIALNO_H
+#define SERIALNO_H
+
+#include "fields.h"
+
+int addsn( fields *info, char *buf, int level );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/slist.c b/support/texlab/crates/bibutils_sys/src/slist.c
new file mode 100644
index 0000000000..5382e4b7df
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/slist.c
@@ -0,0 +1,946 @@
+/*
+ * slist.c
+ *
+ * version: 2019-01-14
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ * Implements a simple managed array of strs.
+ *
+ */
+#include "slist.h"
+
+/* Do not use asserts in VPLIST_NOASSERT defined */
+#ifdef VPLIST_NOASSERT
+#define NDEBUG
+#endif
+#include <assert.h>
+
+#define SLIST_MINALLOC (20)
+
+#define SLIST_EXACT_SIZE (0)
+#define SLIST_DOUBLE_SIZE (1)
+
+/*
+ * returns 1 if n is valid string in slist
+ */
+static inline int
+slist_valid_num( slist *a, slist_index n )
+{
+ if ( n < 0 || n >= a->n ) return 0;
+ return 1;
+}
+
+void
+slist_init( slist *a )
+{
+ assert( a );
+
+ a->strs = NULL;
+ a->max = 0;
+ a->n = 0;
+ a->sorted = 1;
+}
+
+int
+slist_init_values( slist *a, ... )
+{
+ int status = SLIST_OK;
+ va_list ap;
+ str *s;
+
+ slist_init( a );
+
+ va_start( ap, a );
+ do {
+ s = va_arg( ap, str * );
+ if ( s ) {
+ status = slist_add( a, s );
+ if ( status!=SLIST_OK ) goto out;
+ }
+ } while ( s );
+out:
+ va_end( ap );
+
+ return status;
+}
+
+int
+slist_init_valuesc( slist *a, ... )
+{
+ int status = SLIST_OK;
+ va_list ap;
+ char *s;
+
+ slist_init( a );
+
+ va_start( ap, a );
+ do {
+ s = va_arg( ap, char * );
+ if ( s ) {
+ status = slist_addc( a, s );
+ if ( status!=SLIST_OK ) goto out;
+ }
+ } while ( s );
+out:
+ va_end( ap );
+
+ return status;
+}
+
+void
+slist_empty( slist *a )
+{
+ slist_index i;
+
+ assert( a );
+
+ for ( i=0; i<a->max; ++i )
+ str_empty( &(a->strs[i]) );
+
+ a->n = 0;
+ a->sorted = 1;
+}
+
+void
+slist_free( slist *a )
+{
+ slist_index i;
+
+ assert( a );
+
+ for ( i=0; i<a->max; ++i )
+ str_free( &(a->strs[i]) );
+
+ free( a->strs );
+ slist_init( a );
+}
+
+slist *
+slist_new( void )
+{
+ slist *a;
+
+ a = ( slist * ) malloc( sizeof ( slist ) );
+ if ( a ) slist_init( a );
+
+ return a;
+}
+
+void
+slist_delete( slist *a )
+{
+ assert( a );
+
+ slist_free( a );
+ free( a );
+}
+
+void
+slist_deletev( void *v )
+{
+ slist_delete( (slist*) v );
+}
+
+void
+slist_swap( slist *a, slist_index n1, slist_index n2 )
+{
+ assert( a );
+
+ if ( slist_valid_num( a, n1 ) && slist_valid_num( a, n2 ) )
+ str_swapstrings( &(a->strs[n1]), &(a->strs[n2]) );
+}
+
+static int
+slist_revcomp( const void *v1, const void *v2 )
+{
+ str *s1 = ( str *) v1;
+ str *s2 = ( str *) v2;
+ int n;
+
+ if ( !s1->len && !s2->len ) return 0;
+ else if ( !s1->len ) return 1;
+ else if ( !s2->len ) return -1;
+
+ n = str_strcmp( s1, s2 );
+ if ( n==0 ) return 0;
+ else if ( n > 0 ) return -1;
+ else return 1;
+}
+
+static int
+slist_comp( const void *v1, const void *v2 )
+{
+ str *s1 = ( str *) v1;
+ str *s2 = ( str *) v2;
+ if ( !s1->len && !s2->len ) return 0;
+ else if ( !s1->len ) return -1;
+ else if ( !s2->len ) return 1;
+ else return str_strcmp( s1, s2 );
+}
+
+static int
+slist_comp_step( slist *a, slist_index n1, slist_index n2 )
+{
+ return slist_comp( (const void*) &(a->strs[n1]), (const void*) &(a->strs[n2]) );
+}
+
+static str *
+slist_set_cleanup( slist *a, slist_index n )
+{
+ if ( str_memerr( &(a->strs[n]) ) ) return NULL;
+ if ( a->sorted ) {
+ if ( n>0 && slist_comp_step( a, n-1, n )>0 )
+ a->sorted = 0;
+ }
+ if ( a->sorted ) {
+ if ( n<a->n-1 && slist_comp_step( a, n, n+1 )>0 )
+ a->sorted = 0;
+ }
+ return &(a->strs[n]);
+}
+
+str *
+slist_setc( slist *a, slist_index n, const char *s )
+{
+ assert( a );
+ assert( s );
+
+ if ( !slist_valid_num( a, n ) ) return NULL;
+ str_strcpyc( &(a->strs[n]), s );
+ return slist_set_cleanup( a, n );
+}
+
+str *
+slist_set( slist *a, slist_index n, str *s )
+{
+ assert( s );
+
+ return slist_setc( a, n, str_cstr( s ) );
+}
+
+/*
+ * return pointer to str 'n'
+ */
+str *
+slist_str( slist *a, slist_index n )
+{
+ assert( a );
+
+ if ( !slist_valid_num( a, n ) ) return NULL;
+ else return &(a->strs[n]);
+}
+
+/*
+ * return pointer to C string 'n'
+ *
+ * So long as the index is a valid number ensure
+ * that a pointer is returned even if the newstr isn't
+ * allocated. Only return NULL if the index
+ * is invalid. Thus we can convert loops like:
+ *
+ * for ( i=0; i<a->n; ++i ) {
+ * p = slist_cstr( a, i );
+ * if ( p==NULL ) continue; // empty string
+ * ...
+ * }
+ *
+ * to
+ *
+ * i = 0;
+ * while ( ( p = slist_cstr( a, i ) ) ) {
+ * ...
+ * i++;
+ * }
+ *
+ */
+char *
+slist_cstr( slist *a, slist_index n )
+{
+ static char empty[] = "";
+ char *p;
+
+ assert( a );
+
+ if ( !slist_valid_num( a, n ) ) return NULL;
+ p = str_cstr( &(a->strs[n]) );
+ if ( p ) return p;
+ else return empty;
+}
+
+static inline int
+slist_alloc( slist *a, slist_index alloc )
+{
+ slist_index i;
+
+ a->strs = ( str* ) malloc( sizeof( str ) * alloc );
+ if ( !(a->strs) ) return SLIST_ERR_MEMERR;
+
+ a->max = alloc;
+ a->n = 0;
+
+ for ( i=0; i<alloc; ++i )
+ str_init( &(a->strs[i]) );
+
+ return SLIST_OK;
+}
+
+static inline int
+slist_realloc( slist *a, slist_index alloc )
+{
+ slist_index i;
+ str *more;
+
+ more = ( str* ) realloc( a->strs, sizeof( str ) * alloc );
+ if ( !more ) return SLIST_ERR_MEMERR;
+
+ a->strs = more;
+
+ for ( i=a->max; i<alloc; ++i )
+ str_init( &(a->strs[i]) );
+
+ a->max = alloc;
+
+ return SLIST_OK;
+}
+
+#define SLIST_EXACT_SIZE (0)
+#define SLIST_DOUBLE_SIZE (1)
+
+static int
+slist_ensure_space( slist *a, slist_index n, int mode )
+{
+ int status = SLIST_OK;
+ int alloc = n;
+
+ if ( a->max==0 ) {
+ if ( mode == SLIST_DOUBLE_SIZE && alloc < SLIST_MINALLOC ) alloc = SLIST_MINALLOC;
+ status = slist_alloc( a, alloc );
+ }
+
+ else if ( a->max < n ) {
+ if ( mode == SLIST_DOUBLE_SIZE && alloc < a->max * 2 ) alloc = a->max * 2;
+ status = slist_realloc( a, alloc );
+ }
+
+ return status;
+}
+
+int
+slist_addvp( slist *a, int mode, void *vp )
+{
+ str *s = NULL;
+ int status;
+
+ status = slist_ensure_space( a, a->n+1, SLIST_DOUBLE_SIZE );
+
+ if ( status==SLIST_OK ) {
+
+ s = &( a->strs[a->n] );
+
+ if ( mode==SLIST_CHR )
+ str_strcpyc( s, (const char*) vp );
+ else
+ str_strcpy( s, (str*) vp );
+
+ if ( str_memerr( s ) ) return SLIST_ERR_MEMERR;
+ a->n++;
+ if ( a->sorted && a->n > 1 ) {
+ if ( slist_comp_step( a, a->n-2, a->n-1 ) > 0 )
+ a->sorted = 0;
+ }
+
+ }
+
+ return SLIST_OK;
+}
+int
+slist_addc( slist *a, const char *s )
+{
+ return slist_addvp( a, SLIST_CHR, (void*)s );
+}
+int
+slist_add( slist *a, str *s )
+{
+ return slist_addvp( a, SLIST_STR, (void*)s );
+}
+
+int
+slist_addvp_ret( slist *a, int mode, void *vp, int retok, int reterr )
+{
+ int status = slist_addvp( a, mode, vp );
+ if ( status==SLIST_OK ) return retok;
+ else return reterr;
+}
+int
+slist_addc_ret( slist *a, const char *value, int retok, int reterr )
+{
+ int status = slist_addc( a, value );
+ if ( status==SLIST_OK ) return retok;
+ else return reterr;
+}
+int
+slist_add_ret( slist *a, str *value, int retok, int reterr )
+{
+ int status = slist_add( a, value );
+ if ( status==SLIST_OK ) return retok;
+ else return reterr;
+}
+
+int
+slist_addvp_unique( slist *a, int mode, void *vp )
+{
+ int n;
+
+ if ( mode==SLIST_CHR )
+ n = slist_findc( a, (const char*) vp );
+ else
+ n = slist_find( a, (str*) vp );
+
+ if ( slist_wasfound( a, n ) )
+ return SLIST_OK;
+ else
+ return slist_addvp( a, mode, vp );
+}
+int
+slist_addc_unique( slist *a, const char *s )
+{
+ return slist_addvp_unique( a, SLIST_CHR, (void*)s );
+}
+int
+slist_add_unique( slist *a, str *s )
+{
+ return slist_addvp_unique( a, SLIST_STR, (void*)s );
+}
+
+int
+slist_addvp_unique_ret( slist *a, int mode, void *vp, int retok, int reterr )
+{
+ int status = slist_addvp_unique( a, mode, vp );
+ if ( status==SLIST_OK ) return retok;
+ else return reterr;
+}
+int
+slist_addc_unique_ret( slist *a, const char *s, int retok, int reterr )
+{
+ int status = slist_addc_unique( a, s );
+ if ( status==SLIST_OK ) return retok;
+ else return reterr;
+}
+int
+slist_add_unique_ret( slist *a, str *s, int retok, int reterr )
+{
+ int status = slist_add_unique( a, s );
+ if ( status==SLIST_OK ) return retok;
+ else return reterr;
+}
+
+int
+slist_addvp_all( slist *a, int mode, ... )
+{
+ int status = SLIST_OK;
+ va_list ap;
+ void *v;
+
+ va_start( ap, mode );
+
+ do {
+
+ if ( mode==SLIST_CHR )
+ v = va_arg( ap, char * );
+ else
+ v = va_arg( ap, str * );
+
+ if ( v ) {
+ status = slist_addvp( a, mode, v );
+ if ( status!=SLIST_OK ) goto out;
+ }
+
+ } while ( v );
+
+out:
+ va_end( ap );
+ return status;
+}
+
+int
+slist_add_all( slist *a, ... )
+{
+ int status = SLIST_OK;
+ va_list ap;
+ str *v;
+
+ va_start( ap, a );
+
+ do {
+ v = va_arg( ap, str * );
+
+ if ( v ) {
+ status = slist_addvp( a, SLIST_STR, (void*)v );
+ if ( status!=SLIST_OK ) goto out;
+ }
+
+ } while ( v );
+out:
+ va_end( ap );
+ return status;
+}
+
+int
+slist_addc_all( slist *a, ... )
+{
+ int status = SLIST_OK;
+ const char *v;
+ va_list ap;
+
+ va_start( ap, a );
+
+ do {
+
+ v = va_arg( ap, const char * );
+
+ if ( v ) {
+ status = slist_addvp( a, SLIST_CHR, (void*)v );
+ if ( status!=SLIST_OK ) goto out;
+ }
+
+ } while ( v );
+out:
+ va_end( ap );
+ return status;
+}
+
+int
+slist_append( slist *a, slist *toadd )
+{
+ int i, status;
+
+ assert( a );
+ assert( toadd );
+
+ status = slist_ensure_space( a, a->n + toadd->n, SLIST_EXACT_SIZE );
+
+ if ( status == SLIST_OK ) {
+
+ for ( i=0; i<toadd->n; ++i ) {
+ str_strcpy( &(a->strs[a->n+i]), &(toadd->strs[i]) );
+ if ( str_memerr( &(a->strs[a->n+i]) ) ) return SLIST_ERR_MEMERR;
+ }
+
+ if ( a->sorted && toadd->sorted == 0 ) a->sorted = 0;
+ if ( a->sorted && a->n > 0 ) {
+ if ( slist_comp_step( a, a->n-1, a->n ) > 0 ) {
+ a->sorted = 0;
+ }
+ }
+
+ a->n += toadd->n;
+
+ }
+
+ return status;
+}
+
+int
+slist_append_unique( slist *a, slist *toadd )
+{
+ int i, status;
+
+ assert( a );
+ assert( toadd );
+
+ for ( i=0; i<toadd->n; ++i ) {
+ status = slist_add_unique( a, &(toadd->strs[i]) );
+ if ( status!=SLIST_OK ) return status;
+ }
+
+ return SLIST_OK;
+}
+
+int
+slist_append_ret( slist *a, slist *toadd, int retok, int reterr )
+{
+ int status;
+
+ status = slist_append( a, toadd );
+ if ( status==SLIST_OK ) return retok;
+ else return reterr;
+}
+
+int
+slist_append_unique_ret( slist *a, slist *toadd, int retok, int reterr )
+{
+ int status;
+
+ status = slist_append_unique( a, toadd );
+ if ( status==SLIST_OK ) return retok;
+ else return reterr;
+}
+
+int
+slist_remove( slist *a, slist_index n )
+{
+ int i;
+
+ assert( a );
+
+ if ( !slist_valid_num( a, n ) ) return SLIST_ERR_BADPARAM;
+
+ for ( i=n+1; i<a->n; ++i ) {
+ str_strcpy( &(a->strs[i-1]), &(a->strs[i]) );
+ if ( str_memerr( &(a->strs[i-1]) ) ) return SLIST_ERR_MEMERR;
+ }
+
+ a->n--;
+
+ return SLIST_OK;
+}
+
+void
+slist_sort( slist *a )
+{
+ qsort( a->strs, a->n, sizeof( str ), slist_comp );
+ a->sorted = 1;
+}
+
+void
+slist_revsort( slist *a )
+{
+ qsort( a->strs, a->n, sizeof( str ), slist_revcomp );
+ a->sorted = 0;
+}
+
+static slist_index
+slist_find_sorted( slist *a, const char *searchstr )
+{
+ slist_index min, max, mid;
+ str s, *cs;
+ int comp;
+
+ assert( a );
+ assert( searchstr );
+
+ str_initstrc( &s, searchstr );
+ min = 0;
+ max = a->n - 1;
+ while ( min <= max ) {
+ mid = ( min + max ) / 2;
+ cs = slist_str( a, mid );
+ comp = slist_comp( (void*)cs, (void*) (&s) );
+ if ( comp==0 ) {
+ str_free( &s );
+ return mid;
+ }
+ else if ( comp > 0 ) max = mid - 1;
+ else if ( comp < 0 ) min = mid + 1;
+ }
+ str_free( &s );
+ return -1;
+}
+
+static slist_index
+slist_find_simple( slist *a, const char *searchstr, int nocase )
+{
+ slist_index i;
+
+ assert( a );
+ assert( searchstr );
+
+ if ( nocase ) {
+ for ( i=0; i<a->n; ++i )
+ if ( !str_strcasecmpc( &(a->strs[i]), searchstr ) )
+ return i;
+ } else {
+ for ( i=0; i<a->n; ++i )
+ if ( !str_strcmpc( &(a->strs[i]), searchstr ) )
+ return i;
+ }
+ return -1;
+}
+
+slist_index
+slist_findc( slist *a, const char *searchstr )
+{
+ assert( a );
+
+ if ( a->n==0 ) return -1;
+ if ( a->sorted )
+ return slist_find_sorted( a, searchstr );
+ else
+ return slist_find_simple( a, searchstr, 0 );
+}
+
+slist_index
+slist_find( slist *a, str *searchstr )
+{
+ if ( searchstr->len==0 ) return -1;
+ return slist_findc( a, str_cstr( searchstr ) );
+}
+
+slist_index
+slist_findnocasec( slist *a, const char *searchstr )
+{
+ assert( a );
+
+ return slist_find_simple( a, searchstr, 1 );
+}
+
+slist_index
+slist_findnocase( slist *a, str *searchstr )
+{
+ if ( searchstr->len==0 ) return -1;
+ return slist_findnocasec( a, str_cstr( searchstr ) );
+}
+
+int
+slist_wasfound( slist *a, slist_index n )
+{
+ return ( n!=-1 );
+}
+
+int
+slist_wasnotfound( slist *a, slist_index n )
+{
+ return ( n==-1 );
+}
+
+int
+slist_fillfp( slist *a, FILE *fp, unsigned char skip_blank_lines )
+{
+ int status, ret = SLIST_OK;
+ str line;
+
+ assert( a );
+ assert( fp );
+
+ slist_empty( a );
+ str_init( &line );
+
+ while ( str_fgetline( &line, fp ) ) {
+ if ( skip_blank_lines && line.len==0 ) continue;
+ status = slist_add( a, &line );
+ if ( status!=SLIST_OK ) {
+ ret = SLIST_ERR_MEMERR;
+ goto out;
+ }
+ }
+
+out:
+ str_free( &line );
+ return ret;
+}
+
+int
+slist_fill( slist *a, const char *filename, unsigned char skip_blank_lines )
+{
+ FILE *fp;
+ int ret;
+
+ fp = fopen( filename, "r" );
+ if ( !fp ) return SLIST_ERR_CANTOPEN;
+
+ ret = slist_fillfp( a, fp, skip_blank_lines );
+
+ fclose( fp );
+
+ return ret;
+}
+
+int
+slist_copy( slist *to, slist *from )
+{
+ slist_index i;
+ int status;
+
+ assert( to );
+ assert( from );
+
+ slist_free( to );
+
+ if ( from->n==0 ) return SLIST_OK;
+
+ status = slist_ensure_space( to, from->n, SLIST_EXACT_SIZE );
+
+ if ( status == SLIST_OK ) {
+
+ to->sorted = from->sorted;
+ to->n = from->n;
+
+ for ( i=0; i<from->n; i++ ) {
+ str_strcpy( &(to->strs[i]), &(from->strs[i]) );
+ if ( str_memerr( &(to->strs[i]) ) ) return SLIST_ERR_MEMERR;
+ }
+
+ }
+ return SLIST_OK;
+}
+
+int
+slist_copy_ret( slist *to, slist *from, int retok, int reterr )
+{
+ int status = slist_copy( to, from );
+ if ( status==SLIST_OK ) return retok;
+ else return reterr;
+}
+
+slist *
+slist_dup( slist *from )
+{
+ int status;
+ slist *to;
+
+ to = slist_new();
+ if ( to ) {
+ status = slist_copy( to, from );
+ if ( status!=SLIST_OK ) {
+ slist_delete( to );
+ to = NULL;
+ }
+ }
+
+ return to;
+}
+
+unsigned long
+slist_get_maxlen( slist *a )
+{
+ unsigned long max = 0;
+ slist_index i;
+ str *s;
+
+ assert( a );
+
+ for ( i=0; i<a->n; ++i ) {
+ s = slist_str( a, i );
+ if ( s->len > max ) max = s->len;
+ }
+
+ return max;
+}
+
+void
+slist_dump( slist *a, FILE *fp, int newline )
+{
+ slist_index i;
+
+ assert( a );
+ assert( fp );
+
+ if ( newline ) {
+ for ( i=0; i<a->n; ++i )
+ fprintf( fp, "%s\n", slist_cstr( a, i ) );
+ }
+
+ else {
+ for ( i=0; i<a->n; ++i )
+ fprintf( fp, "%s", slist_cstr( a, i ) );
+ }
+}
+
+int
+slist_match_entry( slist *a, int n, const char *s )
+{
+ assert( a );
+
+ if ( !slist_valid_num( a, n ) ) return 0;
+ if ( str_strcmpc( &(a->strs[n]), s ) ) return 0;
+ return 1;
+}
+
+void
+slist_trimend( slist *a, int n )
+{
+ slist_index i;
+
+ assert( a );
+
+ if ( a->n - n < 1 ) {
+ slist_empty( a );
+ } else {
+ for ( i=a->n -n; i<a->n; ++i ) {
+ str_empty( &(a->strs[i]) );
+ }
+ a->n -= n;
+ }
+}
+
+int
+slist_tokenizec( slist *tokens, char *p, const char *delim, int merge_delim )
+{
+ int status, ret = SLIST_OK;
+ char *q;
+ str s;
+
+ assert( tokens );
+
+ slist_empty( tokens );
+ str_init( &s );
+ while ( p && *p ) {
+ q = p;
+ while ( *q && !strchr( delim, *q ) ) q++;
+ str_segcpy( &s, p, q );
+ if ( str_memerr( &s ) ) { ret = SLIST_ERR_MEMERR; goto out; }
+ if ( s.len ) {
+ status = slist_addvp( tokens, SLIST_STR, (void*) &s );
+ if ( status!=SLIST_OK ) { ret = SLIST_ERR_MEMERR; goto out; }
+ } else if ( !merge_delim ) {
+ status = slist_addvp( tokens, SLIST_CHR, (void*) "" );
+ if ( status!=SLIST_OK ) { ret = SLIST_ERR_MEMERR; goto out; }
+ }
+ p = q;
+ if ( *p ) p++;
+ }
+out:
+ str_free( &s );
+ return ret;
+}
+
+int
+slist_tokenize( slist *tokens, str *in, const char *delim, int merge_delim )
+{
+ return slist_tokenizec( tokens, str_cstr( in ), delim, merge_delim );
+}
+
+void
+slists_init( slist *a, ... )
+{
+ slist *a2;
+ va_list ap;
+ slist_init( a );
+ va_start( ap, a );
+ do {
+ a2 = va_arg( ap, slist * );
+ if ( a2 ) slist_init( a2 );
+ } while ( a2 );
+ va_end( ap );
+}
+
+void
+slists_free( slist *a, ... )
+{
+ slist *a2;
+ va_list ap;
+ slist_free( a );
+ va_start( ap, a );
+ do {
+ a2 = va_arg( ap, slist * );
+ if ( a2 ) slist_free( a2 );
+ } while ( a2 );
+ va_end( ap );
+}
+
+void
+slists_empty( slist *a, ... )
+{
+ slist *a2;
+ va_list ap;
+ slist_empty( a );
+ va_start( ap, a );
+ do {
+ a2 = va_arg( ap, slist * );
+ if ( a2 ) slist_empty( a2 );
+ } while ( a2 );
+ va_end( ap );
+}
diff --git a/support/texlab/crates/bibutils_sys/src/slist.h b/support/texlab/crates/bibutils_sys/src/slist.h
new file mode 100644
index 0000000000..e63f7e404a
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/slist.h
@@ -0,0 +1,112 @@
+/*
+ * slist.h
+ *
+ * version: 2019-01-14
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+
+#ifndef SLIST_H
+#define SLIST_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include "str.h"
+
+#define SLIST_OK (0)
+#define SLIST_ERR_MEMERR (-1)
+#define SLIST_ERR_CANTOPEN (-2)
+#define SLIST_ERR_BADPARAM (-3)
+
+#define SLIST_CHR (0)
+#define SLIST_STR (1)
+
+typedef int slist_index;
+
+typedef struct slist {
+ slist_index n, max;
+ int sorted;
+ str *strs;
+} slist;
+
+
+void slists_init( slist *a, ... );
+void slists_free( slist *a, ... );
+void slists_empty( slist *a, ... );
+
+
+void slist_init( slist *a );
+int slist_init_values ( slist *a, ... );
+int slist_init_valuesc( slist *a, ... );
+void slist_free( slist *a );
+void slist_empty( slist *a );
+
+slist * slist_new( void );
+void slist_delete( slist * );
+void slist_deletev( void *v );
+
+slist * slist_dup( slist *a );
+int slist_copy( slist *to, slist *from );
+int slist_copy_ret( slist *to, slist *from, int retok, int reterr );
+void slist_swap( slist *a, slist_index n1, slist_index n2 );
+
+int slist_addvp( slist *a, int mode, void *vp );
+int slist_addc( slist *a, const char *value );
+int slist_add( slist *a, str *value );
+
+int slist_addvp_ret( slist *a, int mode, void *vp, int retok, int reterr );
+int slist_addc_ret( slist *a, const char *value, int retok, int reterr );
+int slist_add_ret( slist *a, str *value, int retok, int reterr );
+
+int slist_addvp_all( slist *a, int mode, ... );
+int slist_addc_all( slist *a, ... );
+int slist_add_all( slist *a, ... );
+
+int slist_addvp_unique( slist *a, int mode, void *vp );
+int slist_addc_unique( slist *a, const char *value );
+int slist_add_unique( slist *a, str *value );
+
+int slist_addvp_unique_ret( slist *a, int mode, void *vp, int retok, int reterr );
+int slist_addc_unique_ret( slist *a, const char *value, int retok, int reterr );
+int slist_add_unique_ret( slist *a, str *value, int retok, int reterr );
+
+int slist_append( slist *a, slist *toadd );
+int slist_append_ret( slist *a, slist *toadd, int retok, int reterr );
+int slist_append_unique( slist *a, slist *toadd );
+int slist_append_unique_ret( slist *a, slist *toadd, int retok, int reterr );
+
+int slist_remove( slist *a, slist_index n );
+
+str * slist_str( slist *a, slist_index n );
+char * slist_cstr( slist *a, slist_index n );
+
+str * slist_set( slist *a, slist_index n, str *s );
+str * slist_setc( slist *a, slist_index n, const char *s );
+
+void slist_sort( slist *a );
+void slist_revsort( slist *a );
+
+int slist_find( slist *a, str *searchstr );
+int slist_findc( slist *a, const char *searchstr );
+int slist_findnocase( slist *a, str *searchstr );
+int slist_findnocasec( slist *a, const char *searchstr );
+int slist_wasfound( slist *a, slist_index n );
+int slist_wasnotfound( slist *a, slist_index n );
+
+int slist_match_entry( slist *a, slist_index n, const char *s );
+void slist_trimend( slist *a, slist_index n );
+
+unsigned long slist_get_maxlen( slist *a );
+void slist_dump( slist *a, FILE *fp, int newline );
+
+int slist_fill( slist *a, const char *filename, unsigned char skip_blank_lines );
+int slist_fillfp( slist *a, FILE *fp, unsigned char skip_blank_lines );
+int slist_tokenize( slist *tokens, str *in, const char *delim, int merge_delim );
+int slist_tokenizec( slist *tokens, char *p, const char *delim, int merge_delim );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/str.c b/support/texlab/crates/bibutils_sys/src/str.c
new file mode 100644
index 0000000000..75b76bce70
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/str.c
@@ -0,0 +1,1126 @@
+/*
+ * str.c
+ *
+ * Version: 2018-09-21
+ *
+ * Copyright (c) Chris Putnam 1999-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ *
+ * routines for dynamically allocated strings
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <ctype.h>
+#include <limits.h>
+#include "is_ws.h"
+#include "str.h"
+#include "msvc_fix.h"
+
+/* Do not use asserts in STR_NOASSERT defined */
+#ifdef STR_NOASSERT
+#define NDEBUG
+#endif
+#include <assert.h>
+
+#define str_initlen (64)
+
+#ifndef STR_SMALL
+
+#define str_clear_status( s ) s->status = STR_OK;
+#define handle_memerr( s, f ) s->status = STR_MEMERR;
+#define return_if_memerr( s ) \
+{ \
+ if ( s->status != STR_OK ) return; \
+}
+#define return_zero_if_memerr( s ) \
+{ \
+ if ( s->status != STR_OK ) return 0; \
+}
+#define return_after_delim_if_memerr( s, p, delim, finalstep ) \
+{ \
+ if ( s->status != STR_OK ) { \
+ while ( p && *p && !strchr( delim, *p ) ) p++; \
+ if ( p && *p && finalstep ) p++; \
+ return p; \
+ } \
+}
+
+#else
+
+#define str_clear_status( s ) {}
+#define handle_memerr( s, f ) \
+{ \
+ fprintf( stderr,"Error. Cannot allocate memory in %s.\n", f ); \
+ exit( EXIT_FAILURE ); \
+}
+#define return_if_memerr( s ) {}
+#define return_zero_if_memerr( s ) {}
+#define return_after_delim_if_memerr( s, p, delim, finalstep ) {}
+
+#endif
+
+
+/* Clear memory in resize/free if STR_PARANOIA defined */
+
+#ifndef STR_PARANOIA
+
+static void
+str_realloc( str *s, unsigned long minsize )
+{
+ unsigned long size;
+ char *newptr;
+
+ assert( s );
+ return_if_memerr( s );
+
+ size = 2 * s->dim;
+ if (size < minsize) size = minsize;
+
+ newptr = (char *) realloc( s->data, sizeof( *(s->data) )*size );
+ if ( !newptr ) handle_memerr( s, __FUNCTION__ );
+
+ s->data = newptr;
+ s->dim = size;
+}
+
+/* define as a no-op */
+#define str_nullify( s )
+
+#else
+
+static void
+str_realloc( str *s, unsigned long minsize )
+{
+ unsigned long size;
+ char *newptr;
+
+ assert( s );
+ return_if_memerr( s );
+
+ size = 2 * s->dim;
+ if ( size < minsize ) size = minsize;
+
+ newptr = (char *) malloc( sizeof( *(s->data) ) * size );
+ if ( !newptr ) handle_memerr( s, __FUNCTION__ );
+
+ if ( s->data ) {
+ str_nullify( s );
+ free( s->data );
+ }
+ s->data = newptr;
+ s->dim = size;
+}
+
+static inline void
+str_nullify( str *s )
+{
+ memset( s->data, 0, s->dim );
+}
+
+#endif
+
+void
+str_init( str *s )
+{
+ assert( s );
+ s->dim = 0;
+ s->len = 0;
+ s->data = NULL;
+ str_clear_status( s );
+}
+
+void
+str_initstr( str *s, str *from )
+{
+ assert( s );
+ assert( from );
+ str_init( s );
+ str_strcpy( s, from );
+}
+
+void
+str_initstrc( str *s, const char *initstr )
+{
+ assert( s );
+ assert( initstr );
+ str_init( s );
+ str_strcpyc( s, initstr );
+}
+
+void
+str_initstrsc( str *s, ... )
+{
+ const char *c;
+ va_list ap;
+ str_init( s );
+ va_start( ap, s );
+ do {
+ c = va_arg( ap, const char * );
+ if ( c ) str_strcatc( s, c );
+ } while ( c );
+ va_end( ap );
+}
+
+void
+strs_init( str *s, ... )
+{
+ str *s2;
+ va_list ap;
+ str_init( s );
+ va_start( ap, s );
+ do {
+ s2 = va_arg( ap, str * );
+ if ( s2 ) str_init( s2 );
+ } while ( s2 );
+ va_end( ap );
+}
+
+int
+str_memerr( str *s )
+{
+#ifndef STR_SMALL
+ return s->status == STR_MEMERR;
+#else
+ return 0;
+#endif
+}
+
+void
+str_mergestrs( str *s, ... )
+{
+ va_list ap;
+ const char *cp;
+ str_clear_status( s );
+ str_empty( s );
+ va_start( ap, s );
+ do {
+ cp = va_arg( ap, const char * );
+ if ( cp ) str_strcatc( s, cp );
+ } while ( cp );
+ va_end( ap );
+}
+
+static void
+str_initalloc( str *s, unsigned long minsize )
+{
+ unsigned long size = str_initlen;
+ assert( s );
+ if ( minsize > str_initlen ) size = minsize;
+ s->data = (char *) malloc( sizeof( *(s->data) ) * size );
+ if ( !s->data ) {
+ fprintf(stderr,"Error. Cannot allocate memory in str_initalloc, requested %lu characters.\n", size );
+ exit( EXIT_FAILURE );
+ }
+ s->data[0]='\0';
+ s->dim=size;
+ s->len=0;
+ str_clear_status( s );
+}
+
+str *
+str_new( void )
+{
+ str *s = (str *) malloc( sizeof( *s ) );
+ if ( s )
+ str_initalloc( s, str_initlen );
+ return s;
+}
+
+void
+str_free( str *s )
+{
+ assert( s );
+ if ( s->data ) {
+ str_nullify( s );
+ free( s->data );
+ }
+ s->dim = 0;
+ s->len = 0;
+ s->data = NULL;
+}
+
+void
+strs_free( str *s, ... )
+{
+ str *s2;
+ va_list ap;
+ str_free( s );
+ va_start( ap, s );
+ do {
+ s2 = va_arg( ap, str * );
+ if ( s2 ) str_free( s2 );
+ } while ( s2 );
+ va_end( ap );
+}
+
+void
+str_delete( str *s )
+{
+ assert( s );
+ str_free( s );
+ free( s );
+}
+
+void
+str_empty( str *s )
+{
+ assert( s );
+ str_clear_status( s );
+ if ( s->data ) {
+ str_nullify( s );
+ s->data[0] = '\0';
+ }
+ s->len = 0;
+}
+
+void
+strs_empty( str *s, ... )
+{
+ str *s2;
+ va_list ap;
+ str_empty( s );
+ va_start( ap, s );
+ do {
+ s2 = va_arg( ap, str * );
+ if ( s2 ) str_empty( s2 );
+ } while ( s2 );
+ va_end( ap );
+}
+
+void
+str_addchar( str *s, char newchar )
+{
+ assert( s );
+
+ return_if_memerr( s );
+
+ if ( newchar=='\0' ) return; /* appending '\0' is a null operation */
+
+ if ( !s->data || s->dim==0 )
+ str_initalloc( s, str_initlen );
+ if ( s->len + 2 > s->dim )
+ str_realloc( s, s->len*2 );
+
+ s->data[s->len++] = newchar;
+ s->data[s->len] = '\0';
+}
+
+/* str_addutf8
+ *
+ * Add potential multibyte character to s starting at pointer p.
+ * Multibyte Unicode characters have the high bit set.
+ *
+ * Since we can progress more than one byte at p, return the
+ * properly updated pointer p.
+ */
+const char *
+str_addutf8( str *s, const char *p )
+{
+ if ( ! ((*p) & 128 ) ) {
+ str_addchar( s, *p );
+ p++;
+ } else {
+ while ( ((*p) & 128) ) {
+ str_addchar( s, *p );
+ p++;
+ }
+ }
+ return p;
+}
+
+char *
+str_cstr( str *s )
+{
+ assert( s );
+ return s->data;
+}
+
+void
+str_fprintf( FILE *fp, str *s )
+{
+ assert( s );
+ if ( s->data ) fprintf( fp, "%s", s->data );
+}
+
+void
+str_prepend( str *s, const char *addstr )
+{
+ unsigned long lenaddstr, i;
+
+ assert( s && addstr );
+
+ return_if_memerr( s );
+
+ lenaddstr = strlen( addstr );
+ if ( lenaddstr==0 ) return; /* appending an empty string is a null op */
+
+ if ( !s->data || !s->dim )
+ str_initalloc( s, lenaddstr+1 );
+ else {
+ if ( s->len + lenaddstr + 1 > s->dim )
+ str_realloc( s, s->len + lenaddstr + 1 );
+ for ( i=s->len+lenaddstr-1; i>=lenaddstr; i-- )
+ s->data[i] = s->data[i-lenaddstr];
+ }
+ strncpy( s->data, addstr, lenaddstr );
+ s->len += lenaddstr;
+ s->data[ s->len ] = '\0';
+}
+
+static inline void
+str_strcat_ensurespace( str *s, unsigned long n )
+{
+ unsigned long m = s->len + n + 1;
+ if ( !s->data || !s->dim )
+ str_initalloc( s, m );
+ else if ( s->len + n + 1 > s->dim )
+ str_realloc( s, m );
+}
+
+static inline void
+str_strcat_internal( str *s, const char *addstr, unsigned long n )
+{
+ return_if_memerr( s );
+ str_strcat_ensurespace( s, n );
+ strncat( &(s->data[s->len]), addstr, n );
+ s->len += n;
+ s->data[s->len]='\0';
+}
+
+void
+str_strcat( str *s, str *from )
+{
+ assert ( s && from );
+ if ( !from->data ) return;
+ else str_strcat_internal( s, from->data, from->len );
+}
+
+void
+str_strcatc( str *s, const char *from )
+{
+ unsigned long n;
+ assert( s && from );
+ n = strlen( from );
+ str_strcat_internal( s, from, n );
+}
+
+void
+str_segcat( str *s, char *startat, char *endat )
+{
+ unsigned long n;
+ char *p;
+
+ assert( s && startat && endat );
+ assert( (size_t) startat < (size_t) endat );
+
+ return_if_memerr( s );
+
+ if ( startat==endat ) return;
+
+ n = 0;
+ p = startat;
+ while ( p!=endat ) {
+ n++;
+ p++;
+ }
+
+ str_strcat_internal( s, startat, n );
+}
+
+void
+str_indxcat( str *s, char *p, unsigned long start, unsigned long stop )
+{
+ unsigned long i;
+
+ assert( s && p );
+ assert( start <= stop );
+
+ return_if_memerr( s );
+
+ for ( i=start; i<stop; ++i )
+ str_addchar( s, p[i] );
+}
+
+/* str_cpytodelim()
+ * term = string of characters to be used as terminators
+ * finalstep = set to non-zero to position return value past the
+ * terminating character
+ */
+const char *
+str_cpytodelim( str *s, const char *p, const char *delim, unsigned char finalstep )
+{
+ assert( s );
+
+ str_empty( s );
+ return str_cattodelim( s, p, delim, finalstep );
+}
+
+/* str_cpytodelim()
+ * term = string of characters to be used as terminators
+ * finalstep = set to non-zero to position return value past the
+ * terminating character
+ */
+const char *
+str_cattodelim( str *s, const char *p, const char *delim, unsigned char finalstep )
+{
+ assert( s );
+
+ return_after_delim_if_memerr( s, p, delim, finalstep );
+
+ while ( p && *p && !strchr( delim, *p ) ) {
+ str_addchar( s, *p );
+ p++;
+ }
+ if ( p && *p && finalstep ) p++;
+ return p;
+}
+
+static inline void
+str_strcpy_ensurespace( str *s, unsigned long n )
+{
+ unsigned long m = n + 1;
+ if ( !s->data || !s->dim )
+ str_initalloc( s, m );
+ else if ( m > s->dim )
+ str_realloc( s, m );
+}
+
+static inline void
+str_strcpy_internal( str *s, const char *p, unsigned long n )
+{
+ return_if_memerr( s );
+
+ str_strcpy_ensurespace( s, n );
+ strncpy( s->data, p, n );
+ s->data[n] = '\0';
+ s->len = n;
+}
+
+void
+str_strcpy( str *s, str *from )
+{
+ assert( s );
+ assert( from );
+ if ( s==from ) return;
+ else if ( !from || from->len==0 ) str_empty( s );
+ else str_strcpy_internal( s, from->data, from->len );
+}
+
+void
+str_strcpyc( str *s, const char *from )
+{
+ unsigned long n;
+ assert( s && from );
+ n = strlen( from );
+ str_strcpy_internal( s, from, n );
+}
+
+/* str_segcpy( s, start, end );
+ *
+ * copies [start,end) into s
+ */
+void
+str_segcpy( str *s, char *startat, char *endat )
+{
+ unsigned long n;
+ char *p;
+
+ assert( s && startat && endat );
+ assert( ((size_t) startat) <= ((size_t) endat) );
+
+ return_if_memerr( s );
+
+ if ( startat==endat ) {
+ str_empty( s );
+ return;
+ }
+
+ n = 0;
+ p = startat;
+ while ( p!=endat ) {
+ p++;
+ n++;
+ }
+
+ str_strcpy_internal( s, startat, n );
+}
+
+/*
+ * str_indxcpy( s, in, start, stop );
+ *
+ * copies in[start,stop) (excludes stop) into s
+ */
+void
+str_indxcpy( str *s, char *p, unsigned long start, unsigned long stop )
+{
+ unsigned long i;
+
+ assert( s && p );
+ assert( start <= stop );
+
+ return_if_memerr( s );
+
+ if ( start == stop ) {
+ str_empty( s );
+ return;
+ }
+ str_strcpy_ensurespace( s, stop-start+1 );
+ for ( i=start; i<stop; ++i )
+ s->data[i-start] = p[i];
+ s->len = stop-start;
+ s->data[s->len] = '\0';
+}
+
+str *
+str_strdup( str *from )
+{
+ str *s = str_new();
+ if ( s )
+ str_strcpy( s, from );
+ return s;
+}
+
+str *
+str_strdupc( const char *from )
+{
+ str *s = str_new();
+ if ( s )
+ str_strcpyc( s, from );
+ return s;
+}
+
+void
+str_segdel( str *s, char *p, char *q )
+{
+ str tmp1, tmp2;
+ char *r;
+
+ assert( s );
+
+ return_if_memerr( s );
+
+ r = &(s->data[s->len]);
+ str_init( &tmp1 );
+ str_init( &tmp2 );
+ str_segcpy( &tmp1, s->data, p );
+ str_segcpy( &tmp2, q, r );
+ str_empty( s );
+ if ( tmp1.data ) str_strcat( s, &tmp1 );
+ if ( tmp2.data ) str_strcat( s, &tmp2 );
+ str_free( &tmp2 );
+ str_free( &tmp1 );
+}
+
+/*
+ * str_findreplace()
+ *
+ * if replace is "" or NULL, then delete find
+ */
+
+int
+str_findreplace( str *s, const char *find, const char *replace )
+{
+ long diff;
+ size_t findstart, searchstart;
+ size_t p1, p2;
+ size_t find_len, rep_len, curr_len;
+ char empty[2] = "";
+ unsigned long minsize;
+ char *p;
+ int n = 0;
+
+ assert( s && find );
+
+ return_zero_if_memerr( s );
+
+ if ( !s->data || !s->dim ) return 0;
+ if ( !replace ) replace = empty;
+
+ find_len = strlen( find );
+ rep_len = strlen( replace );
+ diff = rep_len - find_len;
+ if ( diff < 0 ) diff = 0;
+
+ searchstart=0;
+ while ((p=strstr(s->data + searchstart,find))!=NULL) {
+ curr_len = strlen(s->data);
+ findstart=(size_t) p - (size_t) s->data;
+ minsize = curr_len + diff + 1;
+ if (s->dim <= minsize) str_realloc( s, minsize );
+ if ( find_len > rep_len ) {
+ p1 = findstart + rep_len;
+ p2 = findstart + find_len;
+ while( s->data[p2] )
+ s->data[p1++]=s->data[p2++];
+ s->data[p1]='\0';
+ n++;
+ } else if ( find_len < rep_len ) {
+ for ( p1=curr_len; p1>=findstart+find_len; p1-- )
+ s->data[p1+diff] = s->data[p1];
+ n++;
+ }
+ for (p1=0; p1<rep_len; p1++)
+ s->data[findstart+p1]=replace[p1];
+ searchstart = findstart + rep_len;
+ s->len += rep_len - find_len;
+ }
+ return n;
+}
+
+
+/* str_fget()
+ * returns 0 if we're done, 1 if we're not done
+ * extracts line by line (regardless of end characters)
+ * and feeds from buf....
+ */
+int
+str_fget( FILE *fp, char *buf, int bufsize, int *pbufpos, str *outs )
+{
+ int bufpos = *pbufpos, done = 0;
+ char *ok;
+ assert( fp && outs );
+ str_empty( outs );
+ while ( !done ) {
+ while ( buf[bufpos] && buf[bufpos]!='\r' && buf[bufpos]!='\n' )
+ str_addchar( outs, buf[bufpos++] );
+ if ( buf[bufpos]=='\0' ) {
+ ok = fgets( buf, bufsize, fp );
+ bufpos=*pbufpos=0;
+ if ( !ok && feof(fp) ) { /* end-of-file */
+ buf[bufpos] = 0;
+ if ( outs->len==0 ) return 0; /*nothing in out*/
+ else return 1; /*one last out */
+ }
+ } else if ( buf[bufpos]=='\r' || buf[bufpos]=='\n' ) done=1;
+ }
+ if ( ( buf[bufpos]=='\n' && buf[bufpos+1]=='\r') ||
+ ( buf[bufpos]=='\r' && buf[bufpos+1]=='\n') ) bufpos+=2;
+ else if ( buf[bufpos]=='\n' || buf[bufpos]=='\r' ) bufpos+=1;
+ *pbufpos = bufpos;
+ return 1;
+}
+
+void
+str_toupper( str *s )
+{
+ unsigned long i;
+ assert( s );
+ for ( i=0; i<s->len; ++i )
+ s->data[i] = toupper( (unsigned char)s->data[i] );
+}
+
+void
+str_tolower( str *s )
+{
+ unsigned long i;
+ assert( s );
+ for ( i=0; i<s->len; ++i )
+ s->data[i] = tolower( (unsigned char)s->data[i] );
+}
+
+/* str_swapstrings( s1, s2 )
+ * be sneaky and swap internal string data from one
+ * string to another
+ */
+void
+str_swapstrings( str *s1, str *s2 )
+{
+ char *tmpp;
+ int tmp;
+
+ assert( s1 && s2 );
+
+ /* swap dimensioning info */
+ tmp = s1->dim;
+ s1->dim = s2->dim;
+ s2->dim = tmp;
+
+ /* swap length info */
+ tmp = s1->len;
+ s1->len = s2->len;
+ s2->len = tmp;
+
+ /* swap data */
+ tmpp = s1->data;
+ s1->data = s2->data;
+ s2->data = tmpp;
+}
+
+void
+str_trimstartingws( str *s )
+{
+ char *p, *q;
+ int n;
+
+ assert( s );
+
+ if ( s->len==0 || !is_ws( s->data[0] ) ) return;
+
+ n = 0;
+ p = s->data;
+ while ( is_ws( *p ) ) p++;
+
+ q = s->data;
+ while ( *p ) {
+ *q++ = *p++;
+ n++;
+ }
+ *q = '\0';
+
+ s->len = n;
+}
+
+void
+str_trimendingws( str *s )
+{
+ assert( s );
+ while ( s->len > 0 && is_ws( s->data[s->len-1] ) ) {
+ s->data[s->len-1] = '\0';
+ s->len--;
+ }
+}
+
+int
+str_match_first( str *s, char ch )
+{
+ assert( s );
+ if ( !s->len ) return 0;
+ if ( s->data[0] == ch ) return 1;
+ return 0;
+}
+
+int
+str_match_end( str *s, char ch )
+{
+ assert( s );
+ if ( !s->len ) return 0;
+ if ( s->data[ s->len - 1 ] == ch ) return 1;
+ return 0;
+}
+
+void
+str_trimbegin( str *s, unsigned long n )
+{
+ char *p, *q;
+
+ assert( s );
+
+ if ( n==0 ) return;
+ if ( s->len==0 ) return;
+ if ( n >= s->len ) {
+ str_empty( s );
+ return;
+ }
+
+ p = s->data;
+ while ( n-- > 0 ) p++;
+
+ n = 0;
+ q = s->data;
+ while ( *p ) {
+ *q++ = *p++;
+ n++;
+ }
+ *q = '\0';
+
+ s->len = n;
+}
+
+void
+str_trimend( str *s, unsigned long n )
+{
+ assert( s );
+
+ if ( n==0 ) return;
+ if ( n >= s->len ) {
+ str_empty( s );
+ return;
+ }
+
+ s->len -= n;
+ s->data[ s->len ] = '\0';
+}
+
+void
+str_pad( str *s, unsigned long len, char ch )
+{
+ unsigned long i;
+ assert( s );
+ for ( i=s->len; i<len; i++ )
+ str_addchar( s, ch );
+}
+
+void
+str_copyposlen( str *s, str *in, unsigned long pos, unsigned long len )
+{
+ unsigned long i, max;
+ assert( s );
+ str_empty( s );
+ max = pos+len;
+ if ( max > in->len ) max = in->len;
+ for ( i=pos; i<max; ++i )
+ str_addchar( s, in->data[i] );
+}
+
+static void
+str_check_case( str *s, int *lowercase, int *uppercase )
+{
+ int i;
+ assert( s );
+ *lowercase = 0;
+ *uppercase = 0;
+ if ( s->len < 1 ) return;
+ for ( i=0; i<s->len && !( *lowercase && *uppercase ); ++i ) {
+ if ( isalpha( (unsigned char)s->data[i] ) ) {
+ if ( isupper( (unsigned char)s->data[i] ) ) *uppercase += 1;
+ else if ( islower( (unsigned char)s->data[i] ) ) *lowercase += 1;
+ }
+ }
+}
+
+int
+str_is_mixedcase( str *s )
+{
+ int lowercase, uppercase;
+ str_check_case( s, &lowercase, &uppercase );
+ if ( lowercase > 0 && uppercase > 0 ) return 1;
+ return 0;
+}
+
+int
+str_is_lowercase( str *s )
+{
+ int lowercase, uppercase;
+ str_check_case( s, &lowercase, &uppercase );
+ if ( lowercase > 0 && uppercase == 0 ) return 1;
+ return 0;
+}
+
+int
+str_is_uppercase( str *s )
+{
+ int lowercase, uppercase;
+ str_check_case( s, &lowercase, &uppercase );
+ if ( lowercase == 0 && uppercase > 0 ) return 1;
+ return 0;
+}
+
+void
+str_stripws( str *s )
+{
+ unsigned long len = 0;
+ char *p, *q;
+ assert( s );
+ if ( s->len ) {
+ p = q = s->data;
+ while ( *p ) {
+ if ( !is_ws( *p ) ) {
+ *q = *p;
+ q++;
+ len++;
+ }
+ p++;
+ }
+ *q = '\0';
+ }
+ s->len = len;
+}
+
+int
+str_strcmp( const str *s, const str *t )
+{
+ assert( s );
+ assert( t );
+ if ( s->len == 0 && t->len == 0 ) return 0;
+ if ( s->len == 0 ) return strcmp( "", t->data );
+ if ( t->len == 0 ) return strcmp( s->data, "" );
+ return strcmp( s->data, t->data );
+}
+
+int
+str_strcmpc( const str *s, const char *t )
+{
+ assert( s );
+ assert( t );
+ if ( s->len == 0 ) return strcmp( "", t );
+ return strcmp( s->data, t );
+}
+
+int
+str_strncmp( const str *s, const str *t, size_t n )
+{
+ assert( s );
+ assert( t );
+ if ( s->len == 0 && t->len == 0 ) return 0;
+ if ( s->len == 0 ) return strncmp( "", t->data, n );
+ if ( t->len == 0 ) return strncmp( s->data, "", n );
+ return strncmp( s->data, t->data, n );
+}
+
+int
+str_strncmpc( const str *s, const char *t, size_t n )
+{
+ assert( s );
+ assert( t );
+ if ( s->len == 0 ) return strncmp( "", t, n );
+ return strncmp( s->data, t, n );
+}
+
+int
+str_strcasecmp( const str *s, const str *t )
+{
+ assert( s );
+ assert( t );
+ if ( s->len == 0 && t->len == 0 ) return 0;
+ if ( s->len == 0 ) return strcasecmp( "", t->data );
+ if ( t->len == 0 ) return strcasecmp( s->data, "" );
+ return strcasecmp( s->data, t->data );
+}
+
+int
+str_strcasecmpc( const str *s, const char *t )
+{
+ assert( s );
+ assert( t );
+ if ( s->len == 0 ) return strcasecmp( "", t );
+ return strcasecmp( s->data, t );
+}
+
+char *
+str_strstr( const str *s, const str *t )
+{
+ assert( s );
+ assert( t );
+ if ( s->len == 0 && t->len == 0 ) return strstr( "", "" );
+ if ( s->len == 0 ) return strstr( "", t->data );
+ if ( t->len == 0 ) return strstr( s->data, "" );
+ return strstr( s->data, t->data );
+}
+
+char *
+str_strstrc( const str *s, const char *t )
+{
+ assert( s );
+ assert( t );
+ if ( s->len == 0 ) return strstr( "", t );
+ return strstr( s->data, t );
+}
+
+void
+str_reverse( str *s )
+{
+ unsigned long i, max;
+ char tmp;
+ assert( s );
+ max = s->len / 2;
+ for ( i=0; i<max; ++i ) {
+ tmp = s->data[ i ];
+ s->data[ i ] = s->data[ s->len - 1 - i ];
+ s->data[ s->len - 1 - i ] = tmp;
+ }
+}
+
+int
+str_fgetline( str *s, FILE *fp )
+{
+ int ch, eol = 0;
+ assert( s );
+ assert( fp );
+ str_empty( s );
+ if ( feof( fp ) ) return 0;
+ while ( !feof( fp ) && !eol ) {
+ ch = fgetc( fp );
+ if ( ch == EOF ) {
+ if ( s->len ) return 1;
+ else return 0;
+ }
+ else if ( ch == '\n' ) eol = 1;
+ else if ( ch == '\r' ) {
+ ch = fgetc( fp );
+ if ( ch != '\n' ) ungetc( ch, fp );
+ eol = 1;
+ } else {
+ str_addchar( s, (char) ch );
+ }
+ }
+ return 1;
+}
+
+/*
+ * s = "Hi!\0", s.len = 3
+ *
+ * str_char( s, 0 ) = 'H' str_revchar( s, 0 ) = '!'
+ * str_char( s, 1 ) = 'i' str_revchar( s, 1 ) = 'i'
+ * str_char( s, 2 ) = '!' str_revchar( s, 2 ) = 'H'
+ * str_char( s, 3 ) = '\0' str_revchar( s, 3 ) = '\0'
+ */
+char
+str_char( str *s, unsigned long n )
+{
+ assert( s );
+ if ( s->len==0 || n >= s->len ) return '\0';
+ return s->data[ n ];
+}
+
+char
+str_revchar( str *s, unsigned long n )
+{
+ assert( s );
+ if ( s->len==0 || n >= s->len ) return '\0';
+ return s->data[ s->len - n - 1];
+}
+
+void
+str_makepath( str *path, const char *dirname, const char *filename, char sep )
+{
+ assert( path );
+ if ( dirname ) str_strcpyc( path, dirname );
+ else str_empty( path );
+
+ if ( path->len && path->data[path->len-1]!=sep )
+ str_addchar( path, sep );
+
+ if ( filename ) str_strcatc( path, filename );
+}
+
+void
+str_fill( str *s, unsigned long n, char fillchar )
+{
+ unsigned long i;
+ assert( s );
+ str_clear_status( s );
+ if ( !s->data || s->dim==0 )
+ str_initalloc( s, n+1 );
+ if ( n + 1 > s->dim )
+ str_realloc( s, n+1 );
+ for ( i=0; i<n; ++i )
+ s->data[i] = fillchar;
+ s->data[n] = '\0';
+ s->len = n;
+}
+
+int
+str_has_value( str *s )
+{
+ if ( !s || s->len==0 ) return 0;
+ return 1;
+}
+
+int
+str_is_empty( str *s )
+{
+ if ( !s || s->len==0 ) return 1;
+ return 0;
+}
+
+unsigned long
+str_strlen( str *s )
+{
+ if ( !s ) return 0;
+ else return s->len;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/str.h b/support/texlab/crates/bibutils_sys/src/str.h
new file mode 100644
index 0000000000..f1698c8cfd
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/str.h
@@ -0,0 +1,137 @@
+/*
+ * str.h
+ *
+ * Version: 2018-09-21
+ *
+ * Copyright (c) Chris Putnam 1999-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef STR_H
+#define STR_H
+
+#define STR_OK (0)
+#define STR_MEMERR (-1)
+
+#include <stdio.h>
+
+typedef struct str {
+ char *data;
+ unsigned long dim;
+ unsigned long len;
+#ifndef STR_SMALL
+ int status;
+#endif
+} str;
+
+str * str_new ( void );
+void str_delete ( str *s );
+
+void str_init ( str *s );
+void str_initstr ( str *s, str *from );
+void str_initstrc ( str *s, const char *initstr );
+void str_initstrsc ( str *s, ... );
+void str_empty ( str *s );
+void str_free ( str *s );
+
+void strs_init ( str *s, ... );
+void strs_empty ( str *s, ... );
+void strs_free ( str *s, ... );
+
+str* str_strdup ( str *s );
+str* str_strdupc( const char *p );
+
+void str_strcat ( str *s, str *from );
+void str_strcatc( str *s, const char *from );
+
+void str_strcpy ( str *s, str *from );
+void str_strcpyc( str *s, const char *from );
+
+int str_strcmp ( const str *s, const str *t );
+int str_strcmpc( const str *s, const char *t );
+
+int str_strncmp ( const str *s, const str *t, size_t n );
+int str_strncmpc( const str *s, const char *t, size_t n );
+
+int str_strcasecmp ( const str *s, const str *t );
+int str_strcasecmpc( const str *s, const char *t );
+
+char * str_strstr ( const str *s, const str *t );
+char * str_strstrc( const str *s, const char *t );
+
+void str_prepend ( str *s, const char *addstr );
+void str_mergestrs ( str *s, ... );
+
+void str_addchar ( str *s, char newchar );
+void str_reverse ( str *s );
+const char *str_addutf8 ( str *s, const char *p );
+void str_segcat ( str *s, char *startat, char *endat );
+const char *str_cpytodelim ( str *s, const char *p, const char *delim, unsigned char finalstep );
+const char *str_cattodelim ( str *s, const char *p, const char *delim, unsigned char finalstep );
+void str_prepend ( str *s, const char *addstr );
+void str_segcpy ( str *s, char *startat, char *endat );
+void str_segdel ( str *s, char *startat, char *endat );
+void str_indxcpy ( str *s, char *p, unsigned long start, unsigned long stop );
+void str_indxcat ( str *s, char *p, unsigned long start, unsigned long stop );
+void str_fprintf ( FILE *fp, str *s );
+int str_fget ( FILE *fp, char *buf, int bufsize, int *pbufpos,
+ str *outs );
+char * str_cstr ( str *s );
+char str_char ( str *s, unsigned long n );
+char str_revchar ( str *s, unsigned long n );
+int str_fgetline ( str *s, FILE *fp );
+int str_findreplace ( str *s, const char *find, const char *replace );
+void str_toupper ( str *s );
+void str_tolower ( str *s );
+void str_trimstartingws( str *s );
+void str_trimendingws( str *s );
+void str_swapstrings ( str *s1, str *s2 );
+void str_stripws ( str *s );
+
+int str_match_first ( str *s, char ch );
+int str_match_end ( str *s, char ch );
+void str_trimbegin ( str *s, unsigned long n );
+void str_trimend ( str *s, unsigned long n );
+
+void str_pad ( str *s, unsigned long len, char ch );
+void str_copyposlen ( str *s, str *in, unsigned long pos, unsigned long len );
+
+void str_makepath ( str *path, const char *dirname, const char *filename, char sep );
+
+void str_fill ( str *s, unsigned long n, char fillchar );
+
+int str_is_mixedcase( str *s );
+int str_is_lowercase( str *s );
+int str_is_uppercase( str *s );
+
+int str_memerr( str *s );
+
+unsigned long str_strlen( str *s );
+
+int str_has_value( str *s );
+int str_is_empty( str *s );
+
+
+/* #define STR_PARANOIA
+ *
+ * set to clear memory before it is freed or reallocated
+ * note that this is slower...may be important if string
+ * contains sensitive information
+ */
+
+/* #define STR_NOASSERT
+ *
+ * set to turn off the use of asserts (and associated call to exit)
+ * in str functions...useful for library construction for
+ * Linux distributions that don't want libraries calling exit, but
+ * not useful during code development
+ */
+
+/* #define STR_SMALL
+ *
+ * set to make the smallest possible struct str, but will get
+ * exit( EXIT_FAILURE ) upon memory failures
+ */
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/str_conv.c b/support/texlab/crates/bibutils_sys/src/str_conv.c
new file mode 100644
index 0000000000..943224a6e2
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/str_conv.c
@@ -0,0 +1,204 @@
+/*
+ * str_conv.c
+ *
+ * Copyright (c) Chris Putnam 1999-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ * str routines for converting strs between character sets
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <limits.h>
+#include "latex.h"
+#include "entities.h"
+#include "utf8.h"
+#include "gb18030.h"
+#include "charsets.h"
+#include "str_conv.h"
+
+static void
+addentity( str *s, unsigned int ch )
+{
+ char buf[512];
+ sprintf( buf, "&#%u;", ch );
+ str_strcatc( s, buf );
+}
+
+/* These are the five minimal predefined entites in XML */
+static int
+minimalxmlchars( str *s, unsigned int ch )
+{
+ if ( ch==34 ) { str_strcatc( s, "&quot;" ); return 1; }
+ else if ( ch==38 ) { str_strcatc( s, "&amp;" ); return 1; }
+ else if ( ch==39 ) { str_strcatc( s, "&apos;" ); return 1; }
+ else if ( ch==60 ) { str_strcatc( s, "&lt;" ); return 1; }
+ else if ( ch==62 ) { str_strcatc( s, "&gt;" ); return 1; }
+ return 0;
+}
+
+static void
+addxmlchar( str *s, unsigned int ch )
+{
+ if ( minimalxmlchars( s, ch ) ) return;
+ if ( ch > 127 ) addentity( s, ch );
+ else str_addchar( s, ch );
+}
+
+static void
+addutf8char( str *s, unsigned int ch, int xmlout )
+{
+ unsigned char code[6];
+ int nc, i;
+ if ( xmlout ) {
+ if ( minimalxmlchars( s, ch ) ) return;
+ if ( ch > 127 && xmlout == STR_CONV_XMLOUT_ENTITIES )
+ { addentity( s, ch ); return; }
+ }
+ nc = utf8_encode( ch, code );
+ for ( i=0; i<nc; ++i )
+ str_addchar( s, code[i] );
+}
+
+static void
+addgb18030char( str *s, unsigned int ch, int xmlout )
+{
+ unsigned char code[4];
+ int nc, i;
+ if ( xmlout ) {
+ if ( minimalxmlchars( s, ch ) ) return;
+ if ( ch > 127 && xmlout == STR_CONV_XMLOUT_ENTITIES )
+ { addentity( s, ch ); return; }
+ }
+ nc = gb18030_encode( ch, code );
+ for ( i=0; i<nc; ++i )
+ str_addchar( s, code[i] );
+}
+
+static void
+addlatexchar( str *s, unsigned int ch, int xmlout, int utf8out )
+{
+ char buf[512];
+ uni2latex( ch, buf, sizeof( buf ) );
+ /* If the unicode character isn't recognized as latex output
+ * a '?' unless the user has requested unicode output. If so,
+ * output the unicode.
+ */
+ if ( utf8out && !strcmp( buf, "?" ) ) {
+ addutf8char( s, ch, xmlout );
+ } else {
+ str_strcatc( s, buf );
+ }
+}
+
+/*
+ * get_unicode()
+ *
+ * This can be a little tricky. If the character is simply encoded
+ * such as UTF8 for > 128 or by numeric xml entities such as "&#534;"
+ * then the output of decode_entity() and utf8_decode will necessarily
+ * be in the charsetin character set. On the other hand, if it's a
+ * fancy latex expression, such as "\alpha", or a non-numeric xml entity
+ * like "&amp;", then we'll get the Unicode value (because our lists only
+ * keep the Unicode equivalent).
+ *
+ * The unicode variable indicates whether or not a Unicode-based listing
+ * was used to convert the character (remember that charsetin could be
+ * Unicode independently).
+ *
+ * The charset variable is used to keep track of what character set
+ * the character is in prior to conversion.
+ *
+ */
+
+static unsigned int
+get_unicode( str *s, unsigned int *pi, int charsetin, int latexin, int utf8in, int xmlin )
+{
+ unsigned int ch;
+ int unicode = 0, err = 0;
+ if ( xmlin && s->data[*pi]=='&' ) {
+ ch = decode_entity( s->data, pi, &unicode, &err );
+ } else if ( charsetin==CHARSET_GB18030 ) {
+ ch = gb18030_decode( s->data, pi );
+ unicode = 1;
+ } else if ( latexin ) {
+ /* Must handle bibtex files in UTF8/Unicode */
+ if ( utf8in && ( s->data[*pi] & 128 ) ) {
+ ch = utf8_decode( s->data, pi );
+ unicode = 1;
+ } else ch = latex2char( s->data, pi, &unicode );
+ }
+ else if ( utf8in )
+ ch = utf8_decode( s->data, pi );
+ else {
+ ch = (unsigned int) s->data[*pi];
+ *pi = *pi + 1;
+ }
+ if ( !unicode && charsetin!=CHARSET_UNICODE )
+ ch = charset_lookupchar( charsetin, ch );
+ return ch;
+}
+
+static int
+write_unicode( str *s, unsigned int ch, int charsetout, int latexout,
+ int utf8out, int xmlout )
+{
+ unsigned int c;
+ if ( latexout ) {
+ addlatexchar( s, ch, xmlout, utf8out );
+ } else if ( utf8out ) {
+ addutf8char( s, ch, xmlout );
+ } else if ( charsetout==CHARSET_GB18030 ) {
+ addgb18030char( s, ch, xmlout );
+ } else {
+ c = charset_lookupuni( charsetout, ch );
+ if ( xmlout ) addxmlchar( s, c );
+ else str_addchar( s, c );
+ }
+ return 1;
+}
+
+/*
+ * Returns 1 on memory error condition
+ */
+int
+str_convert( str *s,
+ int charsetin, int latexin, int utf8in, int xmlin,
+ int charsetout, int latexout, int utf8out, int xmlout )
+{
+ unsigned int pos = 0;
+ unsigned int ch;
+ str ns;
+ int ok = 1;
+
+ if ( !s || s->len==0 ) return ok;
+
+ /* Ensure that string is internally allocated.
+ * This fixes NULL pointer derefernce in CVE-2018-10775 in bibutils
+ * as a string with a valid data pointer is potentially replaced
+ * by a string without a valid data pointer due to it being invalid
+ * unicode.
+ * This probably also fixes CVE-2018-10773 and CVE-2018-10774 which
+ * are NULL dereferences also likely due to a fuzzer, but without
+ * test cases in the report, I can't be completely sure.
+ */
+ str_initstrc( &ns, "" );
+
+ if ( charsetin==CHARSET_UNKNOWN ) charsetin = CHARSET_DEFAULT;
+ if ( charsetout==CHARSET_UNKNOWN ) charsetout = CHARSET_DEFAULT;
+
+ while ( s->data[pos] ) {
+ ch = get_unicode( s, &pos, charsetin, latexin, utf8in, xmlin );
+ ok = write_unicode( &ns, ch, charsetout, latexout, utf8out, xmlout );
+ if ( !ok ) goto out;
+ }
+
+ str_swapstrings( s, &ns );
+out:
+ str_free( &ns );
+
+ return ok;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/str_conv.h b/support/texlab/crates/bibutils_sys/src/str_conv.h
new file mode 100644
index 0000000000..b86b586a28
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/str_conv.h
@@ -0,0 +1,23 @@
+/*
+ * str_conv.h
+ *
+ * Copyright (c) Chris Putnam 1999-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef STR_CONV_H
+#define STR_CONV_H
+
+#define STR_CONV_XMLOUT_FALSE (0)
+#define STR_CONV_XMLOUT_TRUE (1)
+#define STR_CONV_XMLOUT_ENTITIES (3)
+
+#include "str.h"
+
+extern int str_convert( str *s,
+ int charsetin, int latexin, int utf8in, int xmlin,
+ int charsetout, int latexout, int utf8out, int xmlout );
+
+#endif
+
diff --git a/support/texlab/crates/bibutils_sys/src/strsearch.c b/support/texlab/crates/bibutils_sys/src/strsearch.c
new file mode 100644
index 0000000000..86a427610f
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/strsearch.c
@@ -0,0 +1,41 @@
+/* strsearch.c
+ *
+ * Copyright (c) Chris Putnam 1995-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ * strsearch() locates a case-independent substring
+ * e.g. a case-independent version of strstr()
+ *
+ * returns pointer to first occurrence of substring needle in
+ * the string haystack when found, NULL if not found
+ *
+ * '\0' characters terminating strings are not compared
+ *
+ * strsearch returns haystack when needle is empty as per strstr()
+ * conventions
+ *
+ */
+#include <stdio.h>
+#include <ctype.h>
+#include "strsearch.h"
+
+char *strsearch (const char *haystack, const char *needle)
+{
+ char *returnptr=NULL;
+ unsigned long pos=0;
+
+ if ( !(*needle) ) returnptr = (char *) haystack;
+
+ while (*(haystack+pos) && returnptr==NULL) {
+ if ( toupper((unsigned char)*(haystack+pos)) == toupper((unsigned char)*(needle+pos)) )
+ pos++;
+ else {
+ pos = 0;
+ haystack++;
+ }
+ if ( ! (*(needle+pos)) ) returnptr = (char *) haystack;
+ }
+ return returnptr;
+}
+
diff --git a/support/texlab/crates/bibutils_sys/src/strsearch.h b/support/texlab/crates/bibutils_sys/src/strsearch.h
new file mode 100644
index 0000000000..924093994d
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/strsearch.h
@@ -0,0 +1,15 @@
+/*
+ * strsearch.h
+ *
+ * Copyright (c) Chris Putnam 1995-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef STRSEARCH_H
+#define STRSEARCH_H
+
+char *strsearch (const char *haystack, const char *needle);
+
+#endif
+
diff --git a/support/texlab/crates/bibutils_sys/src/title.c b/support/texlab/crates/bibutils_sys/src/title.c
new file mode 100644
index 0000000000..6b2981442d
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/title.c
@@ -0,0 +1,100 @@
+/*
+ * title.c
+ *
+ * process titles into title/subtitle pairs for MODS
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "str.h"
+#include "fields.h"
+#include "title.h"
+#include "is_ws.h"
+#include "msvc_fix.h"
+
+int
+title_process( fields *info, const char *tag, const char *value, int level, unsigned char nosplittitle )
+{
+ str title, subtitle;
+ const char *p, *q;
+ int status;
+
+ str_init( &title );
+ str_init( &subtitle );
+
+ if ( nosplittitle ) q = NULL;
+ else {
+ q = strstr( value, ": " );
+ if ( !q ) q = strstr( value, "? " );
+ }
+
+ if ( !q ) str_strcpyc( &title, value );
+ else {
+ p = value;
+ while ( p!=q ) str_addchar( &title, *p++ );
+ if ( *q=='?' ) str_addchar( &title, '?' );
+ q++;
+ q = skip_ws( q );
+ while ( *q ) str_addchar( &subtitle, *q++ );
+ }
+
+ if ( strncasecmp( "SHORT", tag, 5 ) ) {
+ if ( str_has_value( &title ) ) {
+ status = fields_add( info, "TITLE", str_cstr( &title ), level );
+ if ( status!=FIELDS_OK ) return 0;
+ }
+ if ( str_has_value( &subtitle ) ) {
+ status = fields_add( info, "SUBTITLE", str_cstr( &subtitle ), level );
+ if ( status!=FIELDS_OK ) return 0;
+ }
+ } else {
+ if ( str_has_value( &title ) ) {
+ status = fields_add( info, "SHORTTITLE", str_cstr( &title ), level );
+ if ( status!=FIELDS_OK ) return 0;
+ }
+ /* no SHORT-SUBTITLE! */
+ }
+
+ str_free( &subtitle );
+ str_free( &title );
+
+ return 1;
+}
+
+/* title_combine()
+ *
+ * Combine a main title and a subtitle into a full title.
+ *
+ * Example:
+ * Main title = "A Clearing in the Distance"
+ * Subtitle = "The Biography of Frederick Law Olmstead"
+ * Full title = "A Clearing in the Distance: The Biography of Frederick Law Olmstead"
+ * Example:
+ * Main title = "What Makes a Good Team Player?"
+ * Subtitle = "Personality and Team Effectiveness"
+ * Full title = "What Makes a Good Team Player? Personality and Team Effectiveness"
+ */
+void
+title_combine( str *fullttl, str *mainttl, str *subttl )
+{
+ str_empty( fullttl );
+
+ if ( !mainttl ) return;
+
+ str_strcpy( fullttl, mainttl );
+
+ if ( subttl ) {
+ if ( str_has_value( mainttl ) ) {
+ if ( mainttl->data[ mainttl->len - 1 ] != '?' && mainttl->data[ mainttl->len - 1] != ':' )
+ str_strcatc( fullttl, ": " );
+ else
+ str_strcatc( fullttl, " " );
+ }
+ str_strcat( fullttl, subttl );
+ }
+}
diff --git a/support/texlab/crates/bibutils_sys/src/title.h b/support/texlab/crates/bibutils_sys/src/title.h
new file mode 100644
index 0000000000..6f9e4fb8d3
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/title.h
@@ -0,0 +1,20 @@
+/*
+ * title.h
+ *
+ * process titles into title/subtitle pairs for MODS
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL verison 2
+ *
+ */
+#ifndef TITLE_H
+#define TITLE_H
+
+#include "str.h"
+#include "fields.h"
+
+int title_process( fields *info, const char *tag, const char *value, int level, unsigned char nosplittitle );
+void title_combine( str *fullttl, str *mainttl, str *subttl );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/type.c b/support/texlab/crates/bibutils_sys/src/type.c
new file mode 100644
index 0000000000..ad457363d6
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/type.c
@@ -0,0 +1,87 @@
+/*
+ * type.c
+ *
+ * Copyright (c) Chris Putnam 2003-2019
+ *
+ * Source code released under the GPL version 2
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "type.h"
+#include "msvc_fix.h"
+
+static int
+is_genre_element( fields *in, int n )
+{
+ char *tag;
+
+ tag = fields_tag( in, n, FIELDS_CHRP );
+
+ if ( !strcasecmp( tag, "GENRE:MARC" ) ) return 1;
+ if ( !strcasecmp( tag, "GENRE:BIBUTILS" ) ) return 1;
+ if ( !strcasecmp( tag, "GENRE:UNKNOWN" ) ) return 1;
+
+ return 0;
+}
+
+static int
+is_resource_element( fields *in, int n )
+{
+ if ( !strcasecmp( fields_tag( in, n, FIELDS_CHRP ), "RESOURCE" ) ) return 1;
+ return 0;
+}
+
+static int
+is_issuance_element( fields *in, int n )
+{
+ if ( !strcasecmp( fields_tag( in, n, FIELDS_CHRP ), "ISSUANCE" ) ) return 1;
+ else return 0;
+}
+
+static int
+match_hints( const char *value, int level, const char *match_name, int match_level )
+{
+ if ( strcasecmp( value, match_name ) ) return 0;
+ if ( match_level!=LEVEL_ANY && level!=match_level ) return 0;
+ return 1;
+}
+
+/* type_from_mods_hints()
+ *
+ * We return the first match from the match list that works...this makes us
+ * independent of how the genre hints are internally stored in fields *in.
+ *
+ * Thus we can distinguish between 'book' and 'book chapter' in which book is
+ * at different MODS levels by match_type arrays of:
+ *
+ * ...
+ * { "book", TYPE_BOOK, LEVEL_MAIN },
+ * { "book", TYPE_BOOKCHAPTER, LEVEL_ANY },
+ * ...
+ *
+ * e.g. "book" at LEVEL_ANY matches any values of "book" not caught by the "book" LEVEL_MAIN line
+ *
+ */
+int
+type_from_mods_hints( fields *in, int mode, match_type matches[], int nmatches, int type_unknown )
+{
+ int i, j, level, type = type_unknown;
+ char *value;
+
+ for ( i=0; i<nmatches; ++i ) {
+
+ for ( j=0; j<in->n; ++j ) {
+ if ( mode==TYPE_FROM_GENRE && !is_genre_element( in, j ) ) continue;
+ if ( mode==TYPE_FROM_RESOURCE && !is_resource_element( in, j ) ) continue;
+ if ( mode==TYPE_FROM_ISSUANCE && !is_issuance_element( in, j ) ) continue;
+ value = fields_value( in, j, FIELDS_CHRP );
+ level = fields_level( in, j );
+ if ( match_hints( value, level, matches[i].name, matches[i].level ) ) {
+ if ( type==type_unknown ) type = matches[i].type;
+ }
+ }
+ }
+
+ return type;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/type.h b/support/texlab/crates/bibutils_sys/src/type.h
new file mode 100644
index 0000000000..839b040d8d
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/type.h
@@ -0,0 +1,27 @@
+/*
+ * type.h
+ *
+ * Copyright (c) Chris Putnam 2019
+ *
+ * Source code released under the GPL version 2
+ */
+#ifndef TYPE_H
+#define TYPE_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "fields.h"
+
+#define TYPE_FROM_GENRE (0)
+#define TYPE_FROM_RESOURCE (1)
+#define TYPE_FROM_ISSUANCE (2)
+
+typedef struct match_type {
+ char *name;
+ int type;
+ int level;
+} match_type;
+
+int type_from_mods_hints( fields *in, int mode, match_type matches[], int nmatches, int type_unknown );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/unicode.c b/support/texlab/crates/bibutils_sys/src/unicode.c
new file mode 100644
index 0000000000..ec9b2e1133
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/unicode.c
@@ -0,0 +1,333 @@
+/*
+ * unicode.c
+ *
+ * Helper unicode functions/values to determine the
+ * types of unicode characters.
+ */
+#include "utf8.h"
+#include "unicode.h"
+
+typedef struct {
+ unsigned int value;
+ unsigned short info;
+} unicodeinfo_t;
+
+static unicodeinfo_t unicodeinfo[] = {
+ { 48, UNICODE_NUMBER }, /* 0 */
+ { 49, UNICODE_NUMBER }, /* 1 */
+ { 50, UNICODE_NUMBER }, /* 2 */
+ { 51, UNICODE_NUMBER }, /* 3 */
+ { 52, UNICODE_NUMBER }, /* 4 */
+ { 53, UNICODE_NUMBER }, /* 5 */
+ { 54, UNICODE_NUMBER }, /* 6 */
+ { 55, UNICODE_NUMBER }, /* 7 */
+ { 56, UNICODE_NUMBER }, /* 8 */
+ { 57, UNICODE_NUMBER }, /* 9 */
+ { 65, UNICODE_UPPER }, /* Latin Capital A */
+ { 66, UNICODE_UPPER }, /* Latin Capital B */
+ { 67, UNICODE_UPPER }, /* Latin Capital C */
+ { 68, UNICODE_UPPER }, /* Latin Capital D */
+ { 69, UNICODE_UPPER }, /* Latin Capital E */
+ { 70, UNICODE_UPPER }, /* Latin Capital F */
+ { 71, UNICODE_UPPER }, /* Latin Capital G */
+ { 72, UNICODE_UPPER }, /* Latin Capital H */
+ { 73, UNICODE_UPPER }, /* Latin Capital I */
+ { 74, UNICODE_UPPER }, /* Latin Capital J */
+ { 75, UNICODE_UPPER }, /* Latin Capital K */
+ { 76, UNICODE_UPPER }, /* Latin Capital L */
+ { 77, UNICODE_UPPER }, /* Latin Capital M */
+ { 78, UNICODE_UPPER }, /* Latin Capital N */
+ { 79, UNICODE_UPPER }, /* Latin Capital O */
+ { 80, UNICODE_UPPER }, /* Latin Capital P */
+ { 81, UNICODE_UPPER }, /* Latin Capital Q */
+ { 82, UNICODE_UPPER }, /* Latin Capital R */
+ { 83, UNICODE_UPPER }, /* Latin Capital S */
+ { 84, UNICODE_UPPER }, /* Latin Capital T */
+ { 85, UNICODE_UPPER }, /* Latin Capital U */
+ { 86, UNICODE_UPPER }, /* Latin Capital V */
+ { 87, UNICODE_UPPER }, /* Latin Capital W */
+ { 88, UNICODE_UPPER }, /* Latin Capital X */
+ { 89, UNICODE_UPPER }, /* Latin Capital Y */
+ { 90, UNICODE_UPPER }, /* Latin Capital Z */
+ { 97, UNICODE_LOWER }, /* Latin Small a */
+ { 98, UNICODE_LOWER }, /* Latin Small b */
+ { 99, UNICODE_LOWER }, /* Latin Small c */
+ { 100, UNICODE_LOWER }, /* Latin Small d */
+ { 101, UNICODE_LOWER }, /* Latin Small e */
+ { 102, UNICODE_LOWER }, /* Latin Small f */
+ { 103, UNICODE_LOWER }, /* Latin Small g */
+ { 104, UNICODE_LOWER }, /* Latin Small h */
+ { 105, UNICODE_LOWER }, /* Latin Small i */
+ { 106, UNICODE_LOWER }, /* Latin Small j */
+ { 107, UNICODE_LOWER }, /* Latin Small k */
+ { 108, UNICODE_LOWER }, /* Latin Small l */
+ { 109, UNICODE_LOWER }, /* Latin Small m */
+ { 110, UNICODE_LOWER }, /* Latin Small n */
+ { 111, UNICODE_LOWER }, /* Latin Small o */
+ { 112, UNICODE_LOWER }, /* Latin Small p */
+ { 113, UNICODE_LOWER }, /* Latin Small q */
+ { 114, UNICODE_LOWER }, /* Latin Small r */
+ { 115, UNICODE_LOWER }, /* Latin Small s */
+ { 116, UNICODE_LOWER }, /* Latin Small t */
+ { 117, UNICODE_LOWER }, /* Latin Small u */
+ { 118, UNICODE_LOWER }, /* Latin Small v */
+ { 119, UNICODE_LOWER }, /* Latin Small w */
+ { 120, UNICODE_LOWER }, /* Latin Small x */
+ { 121, UNICODE_LOWER }, /* Latin Small y */
+ { 122, UNICODE_LOWER }, /* Latin Small z */
+ { 192, UNICODE_UPPER }, /* Latin Capital A with grave */
+ { 193, UNICODE_UPPER }, /* Latin Capital A with acute */
+ { 194, UNICODE_UPPER }, /* Latin Capital A with circumflex */
+ { 195, UNICODE_UPPER }, /* Latin Capital A with tilde */
+ { 196, UNICODE_UPPER }, /* Latin Capital A with diuresis */
+ { 197, UNICODE_UPPER }, /* Latin Capital A with ring above */
+ { 198, UNICODE_UPPER }, /* Latin Capital AE */
+ { 199, UNICODE_UPPER }, /* Latin Capital C with cedilla */
+ { 200, UNICODE_UPPER }, /* Latin Capital E with grave */
+ { 201, UNICODE_UPPER }, /* Latin Capital E with acute */
+ { 202, UNICODE_UPPER }, /* Latin Capital E with circumflex */
+ { 203, UNICODE_UPPER }, /* Latin Capital E with diuresis */
+ { 204, UNICODE_UPPER }, /* Latin Capital I with grave */
+ { 205, UNICODE_UPPER }, /* Latin Capital I with acute */
+ { 206, UNICODE_UPPER }, /* Latin Capital I with circumflex */
+ { 207, UNICODE_UPPER }, /* Latin Capital I with diuresis */
+ { 208, UNICODE_UPPER }, /* Latin Capital ETH */
+ { 209, UNICODE_UPPER }, /* Latin Capital N with tilde */
+ { 210, UNICODE_UPPER }, /* Latin Capital O with grave */
+ { 211, UNICODE_UPPER }, /* Latin Capital O with acute */
+ { 212, UNICODE_UPPER }, /* Latin Capital O with circumflex */
+ { 213, UNICODE_UPPER }, /* Latin Capital O with tilde */
+ { 214, UNICODE_UPPER }, /* Latin Captial O with diaeresis */
+ { 216, UNICODE_UPPER }, /* Latin Capital O with stroke */
+ { 217, UNICODE_UPPER }, /* Latin Capital U with grave */
+ { 218, UNICODE_UPPER }, /* Latin Capital U with acute */
+ { 219, UNICODE_UPPER }, /* Latin Capital U with circumflex */
+ { 220, UNICODE_UPPER }, /* Latin Capital U with diaeresis */
+ { 221, UNICODE_UPPER }, /* Latin Capital Y with acute */
+ { 222, UNICODE_UPPER }, /* Latin Capital THORN */
+ { 223, UNICODE_LOWER }, /* German sz ligature */
+ { 224, UNICODE_LOWER }, /* Latin Small a with grave */
+ { 225, UNICODE_LOWER }, /* Latin Small a with acute */
+ { 226, UNICODE_LOWER }, /* Latin Small a with circumflex */
+ { 227, UNICODE_LOWER }, /* Latin Small a with tilde */
+ { 228, UNICODE_LOWER }, /* Latin Small a with diuresis */
+ { 229, UNICODE_LOWER }, /* Latin Small a with ring above */
+ { 230, UNICODE_LOWER }, /* Latin Small ae */
+ { 231, UNICODE_LOWER }, /* Latin Small c with cedilla */
+ { 232, UNICODE_LOWER }, /* Latin Small e with grave */
+ { 233, UNICODE_LOWER }, /* Latin Small e with acute */
+ { 234, UNICODE_LOWER }, /* Latin Small e with circumflex */
+ { 235, UNICODE_LOWER }, /* Latin Small e with diuresis */
+ { 236, UNICODE_LOWER }, /* Latin Small i with grave */
+ { 237, UNICODE_LOWER }, /* Latin Small i with acute */
+ { 238, UNICODE_LOWER }, /* Latin Small i with circumflex */
+ { 239, UNICODE_LOWER }, /* Latin Small i with diuresis */
+ { 240, UNICODE_LOWER }, /* Latin Small eth */
+ { 241, UNICODE_LOWER }, /* Latin Small n with tilde */
+ { 242, UNICODE_LOWER }, /* Latin Small o with grave */
+ { 243, UNICODE_LOWER }, /* Latin Small o with acute */
+ { 244, UNICODE_LOWER }, /* Latin Small o with circumflex */
+ { 245, UNICODE_LOWER }, /* Latin Small o with tilde */
+ { 246, UNICODE_LOWER }, /* Latin Small o with diaeresis */
+ { 248, UNICODE_LOWER }, /* Latin Small o with stroke */
+ { 249, UNICODE_LOWER }, /* Latin Small u with grave */
+ { 250, UNICODE_LOWER }, /* Latin Small u with acute */
+ { 251, UNICODE_LOWER }, /* Latin Small u with circumflex */
+ { 252, UNICODE_LOWER }, /* Latin Small u with diaeresis */
+ { 253, UNICODE_LOWER }, /* Latin Small y with acute */
+ { 254, UNICODE_LOWER }, /* Latin Small thorn */
+ { 255, UNICODE_LOWER }, /* Latin Small y with diaeresis */
+ { 256, UNICODE_UPPER }, /* Latin Capital A with macron */
+ { 257, UNICODE_LOWER }, /* Latin Small a with macron */
+ { 258, UNICODE_UPPER }, /* Latin Capital A with breve */
+ { 259, UNICODE_LOWER }, /* Latin Small a with breve */
+ { 260, UNICODE_UPPER }, /* Latin Capital A with ogonek */
+ { 261, UNICODE_LOWER }, /* Latin Small a with ogonek */
+ { 262, UNICODE_UPPER }, /* Latin Capital C with acute */
+ { 263, UNICODE_LOWER }, /* Latin Small c with acute */
+ { 264, UNICODE_UPPER }, /* Latin Capital C with circumflex */
+ { 265, UNICODE_LOWER }, /* Latin Small c with circumflex */
+ { 266, UNICODE_UPPER }, /* Latin Capital C with dot above */
+ { 267, UNICODE_LOWER }, /* Latin Small c with dot above */
+ { 268, UNICODE_UPPER }, /* Latin Capital C with caron (hacek) */
+ { 269, UNICODE_LOWER }, /* Latin Small c with caron (hacek) */
+ { 270, UNICODE_UPPER }, /* Latin Capital D with caron (hacek) */
+ { 271, UNICODE_LOWER }, /* Latin Small d with caron (hacek) */
+ { 272, UNICODE_UPPER }, /* Latin Capital D with stroke */
+ { 273, UNICODE_LOWER }, /* Latin Small d with stroke */
+ { 274, UNICODE_UPPER }, /* Latin Capital E with macron */
+ { 275, UNICODE_LOWER }, /* Latin Small e with macron */
+ { 276, UNICODE_UPPER }, /* Latin Capital E with breve */
+ { 277, UNICODE_LOWER }, /* Latin Small e with breve */
+ { 278, UNICODE_UPPER }, /* Latin Capital E with dot above */
+ { 279, UNICODE_LOWER }, /* Latin Small e with dot above */
+ { 280, UNICODE_UPPER }, /* Latin Capital E with ogonek */
+ { 281, UNICODE_LOWER }, /* Latin Small e with ogonek */
+ { 282, UNICODE_UPPER }, /* Latin Capital E with caron (hacek) */
+ { 283, UNICODE_LOWER }, /* Latin Small e with caron */
+ { 284, UNICODE_UPPER }, /* Latin Capital G with circumflex */
+ { 285, UNICODE_LOWER }, /* Latin Small g with circumflex */
+ { 286, UNICODE_UPPER }, /* Latin Capital G with breve */
+ { 287, UNICODE_LOWER }, /* Latin Small g with breve */
+ { 288, UNICODE_UPPER }, /* Latin Capital G with dot above */
+ { 289, UNICODE_LOWER }, /* Latin Small g with dot above */
+ { 290, UNICODE_UPPER }, /* Latin Capital G with cedilla */
+ { 291, UNICODE_LOWER }, /* Latin Small g with cedilla */
+ { 292, UNICODE_UPPER }, /* Latin Capital H with circumflex */
+ { 293, UNICODE_LOWER }, /* Latin Small h with circumflex */
+ { 294, UNICODE_UPPER }, /* Latin Capital H with stroke */
+ { 295, UNICODE_LOWER }, /* Latin Small h with stroke */
+ { 296, UNICODE_UPPER }, /* Latin Capital I with tilde */
+ { 297, UNICODE_LOWER }, /* Latin Small i with tilde */
+ { 298, UNICODE_UPPER }, /* Latin Capital I with macron */
+ { 299, UNICODE_LOWER }, /* Latin Small i with macron */
+ { 300, UNICODE_UPPER }, /* Latin Capital I with breve */
+ { 301, UNICODE_LOWER }, /* Latin Small i with breve */
+ { 302, UNICODE_UPPER }, /* Latin Capital I with ogonek */
+ { 303, UNICODE_LOWER }, /* Latin Small i with ogonek */
+ { 304, UNICODE_UPPER }, /* Latin Capital I with dot above */
+ { 305, UNICODE_LOWER }, /* Latin Small i without dot above */
+ { 306, UNICODE_UPPER }, /* Latin Capital IJ */
+ { 307, UNICODE_LOWER }, /* Latin Small IJ */
+ { 308, UNICODE_UPPER }, /* Latin Capital J with circumflex */
+ { 309, UNICODE_LOWER }, /* Latin Small j with circumflex */
+ { 310, UNICODE_UPPER }, /* Latin Capital K with cedilla */
+ { 311, UNICODE_LOWER }, /* Latin Small j with cedilla */
+ { 312, UNICODE_LOWER }, /* Latin Small kra */
+ { 313, UNICODE_UPPER }, /* Latin Capital L with acute */
+ { 314, UNICODE_LOWER }, /* Latin Small l with acute */
+ { 315, UNICODE_UPPER }, /* Latin Capital L with cedilla */
+ { 316, UNICODE_LOWER }, /* Latin Small l with cedilla */
+ { 317, UNICODE_UPPER }, /* Latin Capital L with caron */
+ { 318, UNICODE_LOWER }, /* Latin Small l with caron */
+ { 319, UNICODE_UPPER }, /* Latin Capital L with middle dot */
+ { 320, UNICODE_LOWER }, /* Latin Small l with middle dot */
+ { 321, UNICODE_UPPER }, /* Latin Capital L with stroke */
+ { 322, UNICODE_LOWER }, /* Latin Small l with stroke */
+ { 323, UNICODE_UPPER }, /* Latin Capital N with acute */
+ { 324, UNICODE_LOWER }, /* Latin Small n with acute */
+ { 325, UNICODE_UPPER }, /* Latin Capital N with cedilla */
+ { 326, UNICODE_LOWER }, /* Latin Small n with cedilla */
+ { 327, UNICODE_UPPER }, /* Latin Capital N with caron */
+ { 328, UNICODE_LOWER }, /* Latin Small n with caron */
+ { 329, UNICODE_LOWER }, /* Latin Small n preceeded by apostrophe */
+ { 330, UNICODE_UPPER }, /* Latin Capital Eng */
+ { 331, UNICODE_LOWER }, /* Latin Small eng */
+ { 332, UNICODE_UPPER }, /* Latin Capital O with macron */
+ { 333, UNICODE_LOWER }, /* Latin Small o with macron */
+ { 334, UNICODE_UPPER }, /* Latin Capital O with breve */
+ { 335, UNICODE_LOWER }, /* Latin Small o with breve */
+ { 336, UNICODE_UPPER }, /* Latin Capital O with double acute */
+ { 337, UNICODE_LOWER }, /* Latin Small o with double acute */
+ { 338, UNICODE_UPPER }, /* Latin Capital OE */
+ { 339, UNICODE_LOWER }, /* Latin Small oe */
+ { 340, UNICODE_UPPER }, /* Latin Capital R with acute */
+ { 341, UNICODE_LOWER }, /* Latin Small r with acute */
+ { 342, UNICODE_UPPER }, /* Latin Capital R with cedilla */
+ { 343, UNICODE_LOWER }, /* Latin Small r with cedilla */
+ { 344, UNICODE_UPPER }, /* Latin Capital R with caron */
+ { 345, UNICODE_LOWER }, /* Latin Small r with caron */
+ { 346, UNICODE_UPPER }, /* Latin Capital S with acute */
+ { 347, UNICODE_LOWER }, /* Latin Small s with acute */
+ { 348, UNICODE_UPPER }, /* Latin Capital S with circumflex */
+ { 349, UNICODE_LOWER }, /* Latin Small s with circumflex */
+ { 350, UNICODE_UPPER }, /* Latin Capital S with cedilla */
+ { 351, UNICODE_LOWER }, /* Latin Small s with cedilla */
+ { 352, UNICODE_UPPER }, /* Latin Capital S with caron */
+ { 353, UNICODE_LOWER }, /* Latin Small s with caron */
+ { 354, UNICODE_UPPER }, /* Latin Capital T with cedilla */
+ { 355, UNICODE_LOWER }, /* Latin Small t with cedilla */
+ { 356, UNICODE_UPPER }, /* Latin Capital T with caron */
+ { 357, UNICODE_LOWER }, /* Latin Small t with caron */
+ { 358, UNICODE_UPPER }, /* Latin Capital T with stroke */
+ { 359, UNICODE_LOWER }, /* Latin Small t with stroke */
+ { 360, UNICODE_UPPER }, /* Latin Capital U with tilde */
+ { 361, UNICODE_LOWER }, /* Latin Small u with tilde */
+ { 362, UNICODE_UPPER }, /* Latin Capital U with macron */
+ { 363, UNICODE_LOWER }, /* Latin Small u with macron */
+ { 364, UNICODE_UPPER }, /* Latin Capital U with breve */
+ { 365, UNICODE_LOWER }, /* Latin Small u with breve */
+ { 366, UNICODE_UPPER }, /* Latin Capital U with ring above */
+ { 367, UNICODE_LOWER }, /* Latin Small u with ring above */
+ { 368, UNICODE_UPPER }, /* Latin Capital U with double acute */
+ { 369, UNICODE_LOWER }, /* Latin Small u with double acute */
+ { 370, UNICODE_UPPER }, /* Latin Capital U with ogonek */
+ { 371, UNICODE_LOWER }, /* Latin Small u with ogonek */
+ { 372, UNICODE_UPPER }, /* Latin Capital W with circumflex */
+ { 373, UNICODE_LOWER }, /* Latin Small w with circumflex */
+ { 374, UNICODE_UPPER }, /* Latin Capital Y with circumflex */
+ { 375, UNICODE_LOWER }, /* Latin Small y with circumflex */
+ { 376, UNICODE_UPPER }, /* Latin Capital Y with diaeresis */
+ { 377, UNICODE_UPPER }, /* Latin Capital Z with acute */
+ { 378, UNICODE_LOWER }, /* Latin Small z with acute */
+ { 379, UNICODE_UPPER }, /* Latin Capital Z with dot above */
+ { 380, UNICODE_LOWER }, /* Latin Small z with dot above */
+ { 381, UNICODE_UPPER }, /* Latin Capital Z with caron */
+ { 382, UNICODE_LOWER }, /* Latin Small z with caron */
+ { 383, UNICODE_LOWER }, /* Latin Small long S */
+
+ { 461, UNICODE_UPPER }, /* Latin Capital A with caron (hacek) */
+ { 462, UNICODE_LOWER }, /* Latin Small a with caron (hacek) */
+ { 463, UNICODE_UPPER }, /* Latin Capital I with caron (hacek) */
+ { 464, UNICODE_LOWER }, /* Latin Small i with caron (hacek) */
+ { 465, UNICODE_UPPER }, /* Latin Capital O with caron (hacek) */
+ { 466, UNICODE_LOWER }, /* Latin Small o with caron (hacek) */
+ { 467, UNICODE_UPPER }, /* Latin Capital U with caron (hacek) */
+ { 468, UNICODE_LOWER }, /* Latin Small u with caron (hacek) */
+
+ { 486, UNICODE_UPPER }, /* Latin Capital G with caron */
+ { 487, UNICODE_LOWER }, /* Latin Small g with caron */
+ { 488, UNICODE_UPPER }, /* Latin Capital J with caron */
+ { 489, UNICODE_LOWER }, /* Latin Small j with caron */
+ { 490, UNICODE_UPPER }, /* Latin Capital O with caron */
+ { 491, UNICODE_LOWER }, /* Latin Small o with caron */
+
+ { 500, UNICODE_UPPER }, /* Latin Capital G with acute */
+ { 501, UNICODE_LOWER }, /* Latin Small g with caron */
+};
+
+static int nunicodeinfo = sizeof( unicodeinfo ) / sizeof( unicodeinfo[0] );
+
+static int
+unicode_find( unsigned int unicode_character )
+{
+ int min = 0, max = nunicodeinfo, mid;
+ while ( min < max ) {
+ mid = ( min + max ) / 2;
+ if ( unicodeinfo[mid].value < unicode_character )
+ min = mid + 1;
+ else
+ max = mid;
+ }
+ if ( ( max==min ) && ( unicodeinfo[min].value == unicode_character ) )
+ return min;
+ else
+ return -1;
+}
+
+unsigned short
+unicode_utf8_classify( char *p )
+{
+ unsigned int unicode_character, pos = 0;
+ int n;
+ unicode_character = utf8_decode( p, &pos );
+ n = unicode_find( unicode_character );
+ if ( n==-1 ) return UNICODE_SYMBOL;
+ else return unicodeinfo[n].info;
+}
+
+unsigned short
+unicode_utf8_classify_str( str *s )
+{
+ unsigned int unicode_character, pos = 0;
+ unsigned short value = 0;
+ int n;
+ while ( pos < s->len ) {
+ unicode_character = utf8_decode( str_cstr( s ), &pos );
+ n = unicode_find( unicode_character );
+ if ( n==-1 ) value |= UNICODE_SYMBOL;
+ else value |= unicodeinfo[n].info;
+ }
+ return value;
+}
+
diff --git a/support/texlab/crates/bibutils_sys/src/unicode.h b/support/texlab/crates/bibutils_sys/src/unicode.h
new file mode 100644
index 0000000000..41c292b352
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/unicode.h
@@ -0,0 +1,22 @@
+/*
+ * unicode.h
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Program and source code released under the GPL version 2
+ */
+#ifndef UNICODE_H
+#define UNICODE_H
+
+#include "str.h"
+
+#define UNICODE_SYMBOL (1)
+#define UNICODE_UPPER (2) /* Uppercase letter */
+#define UNICODE_LOWER (4) /* Lowercase letter */
+#define UNICODE_NUMBER (8) /* Numeric character */
+#define UNICODE_MIXEDCASE ( UNICODE_UPPER | UNICODE_LOWER )
+
+extern unsigned short unicode_utf8_classify( char *p );
+extern unsigned short unicode_utf8_classify_str( str *s );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/url.c b/support/texlab/crates/bibutils_sys/src/url.c
new file mode 100644
index 0000000000..b7a9c9e96f
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/url.c
@@ -0,0 +1,316 @@
+/*
+ * url.c
+ *
+ * doi_to_url()
+ * Handle outputing DOI as a URL (Endnote and RIS formats)
+ * 1) Append https://doi.org as necessary
+ * 2) Check for overlap with pre-existing URL for the DOI
+ *
+ * is_doi()
+ * Check for DOI buried in another field.
+ *
+ * Copyright (c) Chris Putnam 2008-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include "bibutils.h"
+#include "url.h"
+#include "msvc_fix.h"
+
+static void
+construct_url( char *prefix, str *id, str *id_url, char sep )
+{
+ if ( !strncasecmp( str_cstr( id ), "http:", 5 ) )
+ str_strcpy( id_url, id );
+ else {
+ str_strcpyc( id_url, prefix );
+ if ( sep!='\0' ) {
+ if ( id->data[0]!=sep ) str_addchar( id_url, sep );
+ }
+ str_strcat( id_url, id );
+ }
+}
+
+static int
+url_exists( fields *f, char *urltag, str *doi_url )
+{
+ int i, n;
+ if ( urltag ) {
+ n = fields_num( f );
+ for ( i=0; i<n; ++i ) {
+ if ( strcmp( fields_tag( f, i, FIELDS_CHRP ), urltag ) ) continue;
+ if ( strcmp( fields_value( f, i, FIELDS_CHRP ), str_cstr( doi_url ) ) ) continue;
+ return 1;
+ }
+ }
+ return 0;
+}
+
+static void
+xxx_to_url( fields *f, int n, char *http_prefix, char *urltag, str *xxx_url, char sep )
+{
+ str_empty( xxx_url );
+ construct_url( http_prefix, fields_value( f, n, FIELDS_STRP ), xxx_url, sep );
+ if ( url_exists( f, urltag, xxx_url ) )
+ str_empty( xxx_url );
+}
+void
+doi_to_url( fields *f, int n, char *urltag, str *url )
+{
+ xxx_to_url( f, n, "https://doi.org", urltag, url, '/' );
+}
+void
+jstor_to_url( fields *f, int n, char *urltag, str *url )
+{
+ xxx_to_url( f, n, "http://www.jstor.org/stable", urltag, url, '/' );
+}
+void
+pmid_to_url( fields *f, int n, char *urltag, str *url )
+{
+ xxx_to_url( f, n, "http://www.ncbi.nlm.nih.gov/pubmed", urltag, url, '/' );
+}
+void
+pmc_to_url( fields *f, int n, char *urltag, str *url )
+{
+ xxx_to_url( f, n, "http://www.ncbi.nlm.nih.gov/pmc/articles", urltag, url, '/' );
+}
+void
+arxiv_to_url( fields *f, int n, char *urltag, str *url )
+{
+ xxx_to_url( f, n, "http://arxiv.org/abs", urltag, url, '/' );
+}
+void
+mrnumber_to_url( fields *f, int n, char *urltag, str *url )
+{
+ xxx_to_url( f, n, "http://www.ams.org/mathscinet-getitem?mr=", urltag, url, '\0' );
+}
+
+/* Rules for the pattern:
+ * '#' = number
+ * isalpha() = match precisely (matchcase==1) or match regardless of case
+ * (matchcase==0)
+ * all others must match precisely
+ */
+static int
+string_pattern( char *s, char *pattern, int matchcase )
+{
+ int patlen, match, i;
+ patlen = strlen( pattern );
+ if ( strlen( s ) < patlen ) return 0; /* too short */
+ for ( i=0; i<patlen; ++i ) {
+ match = 0;
+ if ( pattern[i]=='#' ) {
+ if ( isdigit( (unsigned char)s[i] ) ) match = 1;
+ } else if ( !matchcase && isalpha( (unsigned char)pattern[i] ) ) {
+ if ( tolower((unsigned char)pattern[i])==tolower((unsigned char)s[i])) match = 1;
+ } else {
+ if ( pattern[i] == s[i] ) match = 1;
+ }
+ if ( !match ) return 0;
+ }
+ return 1;
+}
+
+/* science direct is now doing "M3 - doi: DOI: 10.xxxx/xxxxx" */
+/* elsevier is doing "DO - https://doi.org/xx.xxxx/xxxx..." */
+int
+is_doi( char *s )
+{
+ if ( string_pattern( s, "##.####/", 0 ) ) return 0;
+ if ( string_pattern( s, "doi:##.####/", 0 ) ) return 4;
+ if ( string_pattern( s, "doi: ##.####/", 0 ) ) return 5;
+ if ( string_pattern( s, "doi: DOI: ##.####/", 0 ) ) return 10;
+ if ( string_pattern( s, "https://doi.org/##.####/", 0 ) ) return 16;
+ return -1;
+}
+
+/* determine if string has the header of a Universal Resource Identifier
+ *
+ * returns -1, if not true
+ * returns offset that skips over the URI scheme, if true
+ */
+int
+is_uri_remote_scheme( char *p )
+{
+ char *scheme[] = { "http:", "https:", "ftp:", "git:", "gopher:" };
+ int schemelen[] = { 5, 6, 4, 4, 7 };
+ int i, nschemes = sizeof( scheme ) / sizeof( scheme[0] );
+ for ( i=0; i<nschemes; ++i ) {
+ if ( !strncasecmp( p, scheme[i], schemelen[i] ) ) return schemelen[i];
+ }
+ return -1;
+}
+
+int
+is_reference_database( char *p )
+{
+ char *scheme[] = { "arXiv:", "pubmed:", "medline:", "isi:" };
+ int schemelen[] = { 6, 7, 8, 4 };
+ int i, nschemes = sizeof( scheme ) / sizeof( scheme[0] );
+ for ( i=0; i<nschemes; ++i ) {
+ if ( !strncasecmp( p, scheme[i], schemelen[i] ) ) return schemelen[i];
+ }
+ return -1;
+}
+
+/* many fields have been abused to embed URLs, DOIs, etc. */
+int
+is_embedded_link( char *s )
+{
+ if ( is_uri_remote_scheme( s ) != -1 ) return 1;
+ if ( is_reference_database( s ) != -1 ) return 1;
+ if ( is_doi( s ) !=-1 ) return 1;
+ return 0;
+}
+
+typedef struct url_t {
+ char *tag;
+ char *prefix;
+ int offset;
+} url_t;
+
+static url_t prefixes[] = {
+ /* 00000000001111111112222222222333333333344444444445 */
+ /* 12345678901234567890123456789012345678901234567890 */
+ { "ARXIV", "http://arxiv.org/abs/", 21 },
+ { "DOI", "https://doi.org/", 16 },
+ { "JSTOR", "http://www.jstor.org/stable/", 28 },
+ { "MRNUMBER", "http://www.ams.org/mathscinet-getitem?mr=", 41 },
+ { "PMID", "http://www.ncbi.nlm.nih.gov/pubmed/", 35 },
+ { "PMC", "http://www.ncbi.nlm.nih.gov/pmc/articles/", 41 },
+ { "ISIREFNUM", "isi:", 4 },
+};
+static int nprefixes = sizeof( prefixes ) / sizeof( prefixes[0] );
+
+/* do not add, but recognize */
+static url_t extraprefixes[] = {
+ /* 00000000001111111112222222222333333333344444444445 */
+ /* 12345678901234567890123456789012345678901234567890 */
+ { "ARXIV", "arXiv:", 6 },
+ { "DOI", "http://dx.doi.org/", 18 },
+ { "JSTOR", "jstor:", 6 },
+ { "PMID", "pmid:", 5 },
+ { "PMID", "pubmed:", 7 },
+ { "PMC", "pmc:", 4 },
+ { "URL", "\\urllink", 8 },
+ { "URL", "\\url", 4 },
+};
+static int nextraprefixes = sizeof( extraprefixes ) / sizeof( extraprefixes[0] );
+
+static int
+find_prefix( char *s, url_t *p, int np )
+{
+ int i;
+
+ for ( i=0; i<np; ++i )
+ if ( !strncmp( p[i].prefix, s, p[i].offset ) ) return i;
+
+ return -1;
+}
+
+int
+urls_split_and_add( char *value_in, fields *out, int lvl_out )
+{
+ int n, fstatus, status = BIBL_OK;
+ char *tag = "URL";
+ int offset = 0;
+
+ n = find_prefix( value_in, prefixes, nprefixes );
+ if ( n!=-1 ) {
+ tag = prefixes[n].tag;
+ offset = prefixes[n].offset;
+ } else {
+ n = find_prefix( value_in, extraprefixes, nextraprefixes );
+ if ( n!=-1 ) {
+ tag = extraprefixes[n].tag;
+ offset = extraprefixes[n].offset;
+ }
+ }
+
+ fstatus = fields_add( out, tag, &(value_in[offset]), lvl_out );
+ if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;
+
+ return status;
+}
+
+/* urls_add_type()
+ *
+ * Append urls of a specific type with a specific prefix (which can be empty).
+ * We don't allow duplications here.
+ *
+ */
+static int
+urls_merge_and_add_type( fields *out, char *tag_out, int lvl_out, char *prefix, vplist *values )
+{
+ int fstatus, status = BIBL_OK;
+ vplist_index i;
+ str url;
+
+ str_init( &url );
+
+ for ( i=0; i<values->n; ++i ) {
+ str_strcpyc( &url, prefix );
+ str_strcatc( &url, ( char * ) vplist_get( values, i ) );
+ fstatus = fields_add( out, tag_out, str_cstr( &url ), lvl_out );
+ if ( fstatus!=FIELDS_OK ) {
+ status = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ }
+out:
+ str_free( &url );
+ return status;
+}
+
+/*
+ * urls_merge_and_add()
+ *
+ * Append urls of types controlled by the list type and automatically append appropriate
+ * prefixes. If no prefix is found for the entry, don't add one (e.g. "URL" entries).
+ *
+ * Control of the types to be added by list type is necessary as some reference formats
+ * like bibtex ought to do special things with DOI, ARXIV, MRNUMBER, and the like.
+ */
+int
+urls_merge_and_add( fields *in, int lvl_in, fields *out, char *tag_out, int lvl_out, slist *types )
+{
+ int i, j, status = BIBL_OK;
+ char *tag, *prefix, *empty="";
+ vplist a;
+
+ vplist_init( &a );
+
+ for ( i=0; i<types->n; ++i ) {
+
+ tag = slist_cstr( types, i );
+
+ /* ...look for data of requested type; if not found skip */
+ vplist_empty( &a );
+ fields_findv_each( in, lvl_in, FIELDS_CHRP, &a, tag );
+ if ( a.n==0 ) continue;
+
+ /* ...find the prefix (if present) */
+ prefix = empty;
+ for ( j=0; j<nprefixes; ++j ) {
+ if ( !strcmp( prefixes[j].tag, tag ) ) {
+ prefix = prefixes[j].prefix;
+ break; /* take the first prefix in the list */
+ }
+ }
+
+ /* ...append all data of this type */
+ status = urls_merge_and_add_type( out, tag_out, lvl_out, prefix, &a );
+ if ( status!=BIBL_OK ) goto out;
+ }
+
+out:
+ vplist_free( &a );
+
+ return status;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/url.h b/support/texlab/crates/bibutils_sys/src/url.h
new file mode 100644
index 0000000000..5348ad3cb3
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/url.h
@@ -0,0 +1,30 @@
+/*
+ * url.h
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef URL_H
+#define URL_H
+
+#include "slist.h"
+#include "fields.h"
+
+int is_doi( char *s );
+int is_uri_remote_scheme( char *p );
+int is_embedded_link( char *s );
+
+void doi_to_url( fields *info, int n, char *urltag, str *doi_url );
+void pmid_to_url( fields *info, int n, char *urltag, str *pmid_url );
+void pmc_to_url( fields *info, int n, char *urltag, str *pmid_url );
+void arxiv_to_url( fields *info, int n, char *urltag, str *arxiv_url );
+void jstor_to_url( fields *info, int n, char *urltag, str *jstor_url );
+void mrnumber_to_url( fields *info, int n, char *urltag, str *jstor_url );
+
+int urls_merge_and_add( fields *in, int lvl_in, fields *out, char *tag_out, int lvl_out, slist *types );
+int urls_split_and_add( char *value_in, fields *out, int lvl_out );
+
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/utf8.c b/support/texlab/crates/bibutils_sys/src/utf8.c
new file mode 100644
index 0000000000..fcc14365a4
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/utf8.c
@@ -0,0 +1,188 @@
+/*
+ * utf8.c
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <string.h>
+#include "utf8.h"
+
+/* UTF-8 encoding
+
+U-00000000 - U-0000007F: 0xxxxxxx
+U-00000080 - U-000007FF: 110xxxxx 10xxxxxx
+U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx
+U-00010000 - U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
+U-00200000 - U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
+U-04000000 - U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
+
+*/
+
+static void
+utf8_build( unsigned int value, unsigned char out[6], int in_pos, int out_pos )
+{
+ unsigned int in_mask, out_mask;
+ int byte = 0;
+ while ( in_pos < 32 ) {
+ in_mask = 1 << ( 31 - in_pos );
+ out_mask = 1 << ( 7 - out_pos );
+ if ( value & in_mask ) out[byte] |= out_mask;
+ in_pos++;
+ out_pos++;
+ if ( out_pos > 7 ) {
+ out_pos=2;
+ byte++;
+ }
+ }
+}
+
+/* int utf8( in, out[6] );
+ *
+ * in is character code 0x0 -> 0x7FFFFFFF
+ * int is number of characters for output
+ *
+ */
+int
+utf8_encode( unsigned int value, unsigned char out[6] )
+{
+ int i;
+ for ( i=1; i<6; ++i ) out[i] = 0x80; /* 10xxxxxx */
+ if ( value < 0x80 ) {
+ out[0] = 0x0; /* 0xxxxxxx */
+ utf8_build( value, out, 25, 1 );
+ return 1;
+ } else if ( value < 0x800 ) {
+ out[0] = 0xC0; /* 110xxxxx */
+ utf8_build( value, out, 21, 3 );
+ return 2;
+ } else if ( value < 0x10000 ) {
+ out[0] = 0xE0; /* 1110xxxx */
+ utf8_build( value, out, 16, 4 );
+ return 3;
+ } else if ( value < 0x200000 ) {
+ out[0] = 0xF0; /* 11110xxx */
+ utf8_build( value, out, 11, 5 );
+ return 4;
+ } else if ( value < 0x4000000 ) {
+ out[0] = 0xF8; /* 111110xx */
+ utf8_build( value, out, 6, 6 );
+ return 5;
+ } else if ( value < (unsigned int ) 0x80000000 ) {
+ out[0] = 0xFC; /* 1111110x */
+ utf8_build( value, out, 1, 7 );
+ return 6;
+ } else {
+ /* error, above 2^31 bits encodable by UTF-8 */
+ return 0;
+ }
+}
+
+/* Generate UTF8 character as null-terminated string */
+void
+utf8_encode_str( unsigned int value, char outstr[7] )
+{
+ unsigned char encoded[6];
+ int i, n;
+ n = utf8_encode( value, encoded );
+ for ( i=0; i<n; ++i )
+ outstr[i] = ( char ) encoded[i];
+ outstr[n] = '\0';
+}
+
+unsigned int
+utf8_decode( const char *s, unsigned int *pi )
+{
+ unsigned int c;
+ int i = *pi;
+ /* one digit utf-8 */
+ if ((s[i] & 128)== 0 ) {
+ c = (unsigned int) s[i];
+ i += 1;
+ } else if ((s[i] & 224)== 192 ) { /* 110xxxxx & 111xxxxx == 110xxxxx */
+ c = (( (unsigned int) s[i] & 31 ) << 6) +
+ ( (unsigned int) s[i+1] & 63 );
+ i += 2;
+ } else if ((s[i] & 240)== 224 ) { /* 1110xxxx & 1111xxxx == 1110xxxx */
+ c = ( ( (unsigned int) s[i] & 15 ) << 12 ) +
+ ( ( (unsigned int) s[i+1] & 63 ) << 6 ) +
+ ( (unsigned int) s[i+2] & 63 );
+ i += 3;
+ } else if ((s[i] & 248)== 240 ) { /* 11110xxx & 11111xxx == 11110xxx */
+ c = ( ( (unsigned int) s[i] & 7 ) << 18 ) +
+ ( ( (unsigned int) s[i+1] & 63 ) << 12 ) +
+ ( ( (unsigned int) s[i+2] & 63 ) << 6 ) +
+ ( (unsigned int) s[i+3] & 63 );
+ i+= 4;
+ } else if ((s[i] & 252)== 248 ) { /* 111110xx & 111111xx == 111110xx */
+ c = ( ( (unsigned int) s[i] & 3 ) << 24 ) +
+ ( ( (unsigned int) s[i+1] & 63 ) << 18 ) +
+ ( ( (unsigned int) s[i+2] & 63 ) << 12 ) +
+ ( ( (unsigned int) s[i+3] & 63 ) << 6 ) +
+ ( (unsigned int) s[i+4] & 63 );
+ i += 5;
+ } else if ((s[i] & 254)== 252 ) { /* 1111110x & 1111111x == 1111110x */
+ c = ( ( (unsigned int) s[i] & 1 ) << 30 ) +
+ ( ( (unsigned int) s[i+1] & 63 ) << 24 ) +
+ ( ( (unsigned int) s[i+2] & 63 ) << 18 ) +
+ ( ( (unsigned int) s[i+3] & 63 ) << 12 ) +
+ ( ( (unsigned int) s[i+4] & 63 ) << 6 ) +
+ ( (unsigned int) s[i+5] & 63 );
+ i += 6;
+ } else {
+ c = '?';
+ i++;
+ }
+ *pi = i;
+ return c;
+}
+
+void
+utf8_writebom( FILE *outptr )
+{
+ int i, nc;
+ unsigned char code[6];
+ nc = utf8_encode( 0xFEFF, code );
+ for ( i=0; i<nc; ++i )
+ fprintf(outptr,"%c",code[i]);
+}
+
+int
+utf8_is_bom( const char *p )
+{
+ const unsigned char *up = ( unsigned char * ) p;
+
+ /* ...if null-terminated string is too short, we're ok */
+ if ( up[0]!=0xEF ) return 0;
+ if ( up[1]!=0xBB ) return 0;
+ if ( up[2]!=0xBF ) return 0;
+
+ return 1;
+}
+
+/* utf8_is_emdash()
+ *
+ *emdash = 0xE2 (-30) 0x80 (-128) 0x94 (-108)
+ */
+int
+utf8_is_emdash( const char *p )
+{
+ const char emdash[3] = { -30, -128, -108 };
+ if ( strncmp( p, emdash, 3 ) ) return 0;
+ return 1;
+}
+
+/* utf8_is_endash()
+ *
+ * endash = 0xE2 (-30) 0x80 (-128) 0x93 (-109)
+ */
+int
+utf8_is_endash( const char *p )
+{
+ const char endash[3] = { -30, -128, -109 };
+ if ( strncmp( p, endash, 3 ) ) return 0;
+ return 1;
+}
+
diff --git a/support/texlab/crates/bibutils_sys/src/utf8.h b/support/texlab/crates/bibutils_sys/src/utf8.h
new file mode 100644
index 0000000000..2e3a1e63b7
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/utf8.h
@@ -0,0 +1,22 @@
+/*
+ * utf8.h
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef UTF8_H
+#define UTF8_H
+
+#include <stdio.h>
+
+int utf8_encode( unsigned int value, unsigned char out[6] );
+void utf8_encode_str( unsigned int value, char outstr[7] );
+unsigned int utf8_decode( const char *s, unsigned int *pi );
+void utf8_writebom( FILE *outptr );
+int utf8_is_bom( const char *p );
+int utf8_is_emdash( const char *p );
+int utf8_is_endash( const char *p );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/vplist.c b/support/texlab/crates/bibutils_sys/src/vplist.c
new file mode 100644
index 0000000000..7f4e2927c9
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/vplist.c
@@ -0,0 +1,387 @@
+/*
+ * vplist.c
+ *
+ * Version: 1/9/2017
+ *
+ * Copyright (c) Chris Putnam 2011-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ * Implements a simple managed array of pointers to void
+ *
+ */
+#include <stdlib.h>
+#include "vplist.h"
+
+/* Do not use asserts in VPLIST_NOASSERT defined */
+#ifdef VPLIST_NOASSERT
+#define NDEBUG
+#endif
+#include <assert.h>
+
+#define VPLIST_MINALLOC (20)
+
+#define VPLIST_EXACT_SIZE (0)
+#define VPLIST_DOUBLE_SIZE (1)
+
+void
+vplist_init( vplist *vpl )
+{
+ assert( vpl );
+ vpl->data = NULL;
+ vpl->n = vpl->max = 0;
+}
+
+vplist *
+vplist_new( void )
+{
+ vplist *vpl;
+ vpl = ( vplist * ) malloc( sizeof( vplist ) );
+ if ( vpl ) vplist_init( vpl );
+ return vpl;
+}
+
+static inline int
+vplist_alloc( vplist *vpl, vplist_index alloc )
+{
+ vpl->data = ( void ** ) malloc( sizeof( void * ) * alloc );
+ if ( !vpl->data ) return VPLIST_MEMERR;
+
+ vpl->max = alloc;
+ vpl->n = 0;
+
+ return VPLIST_OK;
+}
+
+static inline int
+vplist_realloc( vplist *vpl, vplist_index alloc )
+{
+ void **more;
+
+ more = ( void ** ) realloc( vpl->data, sizeof( void * ) * alloc );
+ if ( !more ) return VPLIST_MEMERR;
+
+ vpl->data = more;
+ vpl->max = alloc;
+
+ return VPLIST_OK;
+}
+
+/* vplist_ensure_space( vpl, n, mode )
+ *
+ * Makes sure that vplist can hold at least n members, allocating memory if required.
+ *
+ * mode
+ * - Can either be VPLIST_DOUBLE_SIZE or VPLIST_EXACT_SIZE.
+ * - If VPLIST_EXACT_SIZE and current size < n, size will be exactly n.
+ * - If VPLIST_DOUBLE_SIZE and current size < n, size will be doubled (or VPLIST_MINALLOC
+ * if the vplist is empty) or n, whichever is bigger.
+ *
+ * Returns VPLIST_OK or VPLIST_MEMERR.
+ */
+static int
+vplist_ensure_space( vplist *vpl, vplist_index n, unsigned char mode )
+{
+ vplist_index alloc = n;
+ int status = VPLIST_OK;
+
+ if ( vpl->max == 0 ) {
+ if ( mode == VPLIST_DOUBLE_SIZE && alloc < VPLIST_MINALLOC ) alloc = VPLIST_MINALLOC;
+ status = vplist_alloc( vpl, alloc );
+ }
+
+ else if ( vpl->max < n ) {
+ if ( mode == VPLIST_DOUBLE_SIZE && alloc < 2 * vpl->max ) alloc = 2 * vpl->max;
+ status = vplist_realloc( vpl, alloc );
+ }
+
+ return status;
+}
+
+int
+vplist_copy( vplist *to, vplist *from )
+{
+ vplist_index i;
+ int status;
+
+ assert( to );
+ assert( from );
+
+ status = vplist_ensure_space( to, from->n, VPLIST_EXACT_SIZE );
+
+ if ( status == VPLIST_OK ) {
+
+ for ( i=0; i<from->n; ++i )
+ to->data[i] = from->data[i];
+ to->n = from->n;
+
+ }
+
+ return status;
+}
+
+int
+vplist_fill( vplist *vpl, vplist_index n, void *v )
+{
+ vplist_index i;
+ int status;
+
+ assert( vpl );
+
+ status = vplist_ensure_space( vpl, n, VPLIST_EXACT_SIZE );
+
+ if ( status == VPLIST_OK ) {
+
+ for ( i=0; i<n; ++i )
+ vpl->data[i] = v;
+ vpl->n = n;
+
+ }
+
+ return status;
+}
+
+int
+vplist_add( vplist *vpl, void *v )
+{
+ int status;
+
+ assert( vpl );
+
+ status = vplist_ensure_space( vpl, vpl->n + 1, VPLIST_DOUBLE_SIZE );
+
+ if ( status == VPLIST_OK ) {
+
+ vpl->data[vpl->n] = v;
+ vpl->n++;
+
+ }
+
+ return status;
+}
+
+int
+vplist_insert_list( vplist *vpl, vplist_index pos, vplist *add )
+{
+ vplist_index i;
+ int status;
+
+ assert( vpl );
+ assert( add );
+ assert( pos <= vpl->n );
+
+ /* nothing to do here */
+ if ( add->n < 1 ) return VPLIST_OK;
+
+ status = vplist_ensure_space( vpl, vpl->n + add->n, VPLIST_DOUBLE_SIZE );
+
+ if ( status == VPLIST_OK ) {
+
+ for ( i=vpl->n-1; i>=pos; --i )
+ vpl->data[i+add->n] = vpl->data[i];
+
+ for ( i=0; i<add->n; ++i )
+ vpl->data[pos+i] = add->data[i];
+
+ vpl->n += add->n;
+ }
+
+ return status;
+}
+
+int
+vplist_append( vplist *vpl, vplist *add )
+{
+ vplist_index i;
+ int status;
+
+ assert( vpl );
+ assert( add );
+
+ status = vplist_ensure_space( vpl, vpl->n + add->n, VPLIST_DOUBLE_SIZE );
+
+ if ( status == VPLIST_OK ) {
+
+ for ( i=0; i<add->n; ++i )
+ vpl->data[ vpl->n + i ] = add->data[i];
+
+ vpl->n += add->n;
+
+ }
+
+ return status;
+}
+
+static void
+vplist_freemembers( vplist *vpl, vplist_ptrfree vpf )
+{
+ vplist_index i;
+ void *v;
+ for ( i=0; i<vpl->n; ++i ) {
+ v = vplist_get( vpl, i );
+ if ( v ) (*vpf)( v );
+ }
+}
+
+void
+vplist_emptyfn( vplist *vpl, vplist_ptrfree vpf )
+{
+ assert( vpl );
+ if ( vpf ) vplist_freemembers( vpl, vpf );
+ vpl->n = 0;
+}
+
+void
+vplist_empty( vplist *vpl )
+{
+ vplist_emptyfn( vpl, NULL );
+}
+
+void
+vplist_freefn( vplist *vpl, vplist_ptrfree vpf )
+{
+ assert( vpl );
+ if ( vpf ) vplist_freemembers( vpl, vpf );
+ if ( vpl->data ) free( vpl->data );
+ vplist_init( vpl );
+}
+
+void
+vplist_free( vplist *vpl )
+{
+ vplist_freefn( vpl, NULL );
+}
+
+void
+vplist_deletefn( vplist **vpl, vplist_ptrfree vpf )
+{
+ vplist_freefn( *vpl, vpf );
+ free( *vpl );
+ *vpl = NULL;
+}
+
+void
+vplist_delete( vplist **vpl )
+{
+ vplist_deletefn( vpl, NULL );
+}
+
+static inline int
+vplist_validindex( vplist *vpl, vplist_index n )
+{
+ if ( n < 0 || n >= vpl->n ) return 0;
+ return 1;
+}
+
+void *
+vplist_get( vplist *vpl, vplist_index n )
+{
+ assert( vpl );
+ if ( !vplist_validindex( vpl, n ) ) return NULL;
+ return vpl->data[ n ];
+}
+
+void
+vplist_set( vplist *vpl, vplist_index n, void *v )
+{
+ assert( vpl );
+ assert( vplist_validindex( vpl, n ) );
+ vpl->data[ n ] = v;
+}
+
+int
+vplist_find( vplist *vpl, void *v )
+{
+ vplist_index i;
+ assert( vpl );
+ for ( i=0; i<vpl->n; ++i )
+ if ( vpl->data[i]==v ) return i;
+ return -1;
+}
+
+void
+vplist_swap( vplist *vpl, vplist_index n1, vplist_index n2 )
+{
+ void *tmp;
+
+ assert( vpl );
+ assert( vplist_validindex( vpl, n1 ) );
+ assert( vplist_validindex( vpl, n2 ) );
+
+ tmp = vpl->data[n1];
+ vpl->data[n1] = vpl->data[n2];
+ vpl->data[n2] = tmp;
+}
+
+int
+vplist_removefn( vplist *vpl, vplist_index n, vplist_ptrfree vpf )
+{
+ vplist_index i;
+
+ assert( vpl );
+ assert( vplist_validindex( vpl, n ) );
+
+ if ( vpf ) (*vpf)( vplist_get( vpl, n ) );
+
+ for ( i=n+1; i<vpl->n; ++i )
+ vpl->data[ i-1 ] = vpl->data[ i ];
+ vpl->n -= 1;
+
+ return 1;
+}
+
+int
+vplist_remove( vplist *vpl, vplist_index n )
+{
+ return vplist_removefn( vpl, n, NULL );
+}
+
+int
+vplist_removevpfn( vplist *vpl, void *v, vplist_ptrfree vpf )
+{
+ vplist_index n;
+ int count = 0;
+
+ assert( vpl );
+
+ do {
+ n = vplist_find( vpl, v );
+ if ( vplist_found( vpl, n ) ) {
+ vplist_removefn( vpl, n, vpf );
+ count++;
+ }
+ } while ( vplist_found( vpl, n ) );
+
+ return count;
+}
+
+int
+vplist_removevp( vplist *vpl, void *v )
+{
+ return vplist_removevpfn( vpl, v, NULL );
+}
+
+void
+vplist_remove_rangefn( vplist *vpl, vplist_index start, vplist_index endplusone, vplist_ptrfree vpf )
+{
+ vplist_index i, n;
+
+ assert( endplusone <= vpl->n );
+ assert( endplusone > start );
+
+ n = endplusone - start;
+ if ( vpf ) {
+ for ( i=start; i<endplusone; ++i )
+ (*vpf)( vplist_get( vpl, i ) );
+ }
+ for ( i=endplusone; i<vpl->n; ++i ) {
+ vpl->data[i-n] = vpl->data[i];
+ }
+ vpl->n -= n;
+}
+
+void
+vplist_remove_range( vplist *vpl, vplist_index start, vplist_index endplusone )
+{
+ vplist_remove_rangefn( vpl, start, endplusone, NULL );
+}
diff --git a/support/texlab/crates/bibutils_sys/src/vplist.h b/support/texlab/crates/bibutils_sys/src/vplist.h
new file mode 100644
index 0000000000..9a1c7ba037
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/vplist.h
@@ -0,0 +1,86 @@
+/*
+ * vplist.h
+ *
+ * generic container to hold a list of pointers to void
+ *
+ * Version: 1/9/2017
+ *
+ * Copyright (c) Chris Putnam 2011-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+
+#ifndef VPLIST_H
+#define VPLIST_H
+
+#define VPLIST_MEMERR (-1)
+#define VPLIST_OK (0)
+
+typedef int vplist_index;
+
+typedef struct vplist {
+ vplist_index n, max;
+ void **data;
+} vplist;
+
+#define vplist_found( vpl, n ) ( n!=-1 )
+#define vplist_notfound( vpl, n ) ( n==-1 )
+
+typedef void (*vplist_ptrfree)(void*);
+
+vplist * vplist_new( void );
+
+void vplist_init ( vplist *vpl );
+int vplist_add ( vplist *vpl, void *v );
+int vplist_fill ( vplist *vpl, vplist_index n, void *v );
+int vplist_copy ( vplist *to, vplist *from );
+int vplist_append ( vplist *vpl, vplist *add );
+int vplist_insert_list ( vplist *vpl, vplist_index pos, vplist *add );
+void * vplist_get ( vplist *vpl, vplist_index n );
+void vplist_set ( vplist *vpl, vplist_index n, void *v );
+void vplist_swap ( vplist *vpl, vplist_index n1, vplist_index n2 );
+int vplist_remove ( vplist *vpl, vplist_index n );
+int vplist_removefn ( vplist *vpl, vplist_index n, vplist_ptrfree vpf );
+int vplist_removevp ( vplist *vpl, void *v );
+int vplist_removevpfn ( vplist *vpl, void *v, vplist_ptrfree vpf );
+void vplist_remove_rangefn( vplist *vpl, vplist_index start, vplist_index endplusone, vplist_ptrfree vpf );
+void vplist_remove_range ( vplist *vpl, vplist_index start, vplist_index endplusone );
+
+vplist_index vplist_find( vplist *vpl, void *v );
+
+/*
+ * vplist_empty does not free space
+ *
+ * if members require their own free calls, then call vplist_emptyfn()
+ *
+ * void
+ * member_free( void *v )
+ * {
+ * member *m = ( member * ) v;
+ * member_free( m );
+ * free( m );
+ * }
+ * vplist_emptyfn( &vpl, member_free );
+ *
+ * if members are simply allocated with malloc(), then use free()
+ *
+ * vplist_emptyfn( &vpl, free );
+ */
+void vplist_empty ( vplist *vpl );
+void vplist_emptyfn( vplist *vpl, vplist_ptrfree fn );
+/*
+ * vplist_free frees the space for the data array of void * elements.
+ *
+ * if members require their own free calls, then call vplist_freefn()
+ */
+void vplist_free ( vplist *vpl );
+void vplist_freefn( vplist *vpl, vplist_ptrfree fn );
+/*
+ * vplist_delete does vplist_free and deallocates the struct
+ * vplist * and replaces with NULL.
+ */
+void vplist_delete ( vplist **vpl );
+void vplist_deletefn( vplist **vpl, vplist_ptrfree fn );
+
+#endif
diff --git a/support/texlab/crates/bibutils_sys/src/wordin.c b/support/texlab/crates/bibutils_sys/src/wordin.c
new file mode 100644
index 0000000000..10e3a53850
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/wordin.c
@@ -0,0 +1,322 @@
+/*
+ * wordin.c
+ *
+ * Copyright (c) Chris Putnam 2010-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include "is_ws.h"
+#include "str.h"
+#include "str_conv.h"
+#include "fields.h"
+#include "xml.h"
+#include "xml_encoding.h"
+#include "bibformats.h"
+
+static int wordin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset );
+static int wordin_processf( fields *wordin, const char *data, const char *filename, long nref, param *p );
+
+
+/*****************************************************
+ PUBLIC: void wordin_initparams()
+*****************************************************/
+
+int
+wordin_initparams( param *pm, const char *progname )
+{
+ pm->readformat = BIBL_WORDIN;
+ pm->charsetin = BIBL_CHARSET_DEFAULT;
+ pm->charsetin_src = BIBL_SRC_DEFAULT;
+ pm->latexin = 0;
+ pm->xmlin = 1;
+ pm->utf8in = 1;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->output_raw = BIBL_RAW_WITHMAKEREFID |
+ BIBL_RAW_WITHCHARCONVERT;
+
+ pm->readf = wordin_readf;
+ pm->processf = wordin_processf;
+ pm->cleanf = NULL;
+ pm->typef = NULL;
+ pm->convertf = NULL;
+ pm->all = NULL;
+ pm->nall = 0;
+
+ slist_init( &(pm->asis) );
+ slist_init( &(pm->corps) );
+
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int wordin_readf()
+*****************************************************/
+
+static char *
+wordin_findstartwrapper( char *buf, int *ntype )
+{
+ return xml_find_start( buf, "b:Source" );
+}
+
+static char *
+wordin_findendwrapper( char *buf, int ntype )
+{
+ return xml_find_end( buf, "b:Source" );
+}
+
+static int
+wordin_readf( FILE *fp, char *buf, int bufsize, int *bufpos, str *line, str *reference, int *fcharset )
+{
+ str tmp;
+ char *startptr = NULL, *endptr;
+ int haveref = 0, inref = 0, file_charset = CHARSET_UNKNOWN, m, type = 1;
+ str_init( &tmp );
+ while ( !haveref && str_fget( fp, buf, bufsize, bufpos, line ) ) {
+ if ( str_cstr( line ) ) {
+ m = xml_getencoding( line );
+ if ( m!=CHARSET_UNKNOWN ) file_charset = m;
+ }
+ if ( str_cstr( line ) ) {
+ startptr = wordin_findstartwrapper( str_cstr( line ), &type );
+ }
+ if ( startptr || inref ) {
+ if ( inref ) str_strcat( &tmp, line );
+ else {
+ str_strcatc( &tmp, startptr );
+ inref = 1;
+ }
+ endptr = wordin_findendwrapper( str_cstr( &tmp ), type );
+ if ( endptr ) {
+ str_segcpy( reference, str_cstr( &tmp ), endptr );
+ haveref = 1;
+ }
+ }
+ }
+ str_free( &tmp );
+ *fcharset = file_charset;
+ return haveref;
+}
+
+/*****************************************************
+ PUBLIC: int wordin_processf()
+*****************************************************/
+
+typedef struct xml_convert {
+ char *in; /* The input tag */
+ char *a, *aval; /* The attribute="attribute_value" pair, if nec. */
+ char *out; /* The output tag */
+ int level;
+} xml_convert;
+
+/* wordin_person_last()
+ *
+ * From an xml list, extract the value from the first entry
+ * of <b:Last>xxxx</b:Last> and copy into name
+ *
+ * Additional <b:Last>yyyyy</b:Last> will be ignored.
+ *
+ * Returns BIBL_ERR_MEMERR on memory error, BIBL_OK otherwise.
+ */
+static int
+wordin_person_last( xml *node, str *name )
+{
+ while ( node && !xml_tag_matches( node, "b:Last" ) )
+ node = node->next;
+ if ( xml_has_value( node ) ) {
+ str_strcpy( name, xml_value( node ) );
+ if ( str_memerr( name ) ) return BIBL_ERR_MEMERR;
+ }
+ return BIBL_OK;
+}
+
+/* wordin_person_first()
+ *
+ * From an xml list, extract the value of any
+ * <b:First>xxxx</b:First> and append "|xxxx" to name.
+ *
+ * Returns BIBL_ERR_MEMERR on memory error, BIBL_OK otherwise
+ */
+static int
+wordin_person_first( xml *node, str *name )
+{
+ for ( ; node; node=node->next ) {
+ if ( !xml_tag_matches( node, "b:First" ) ) continue;
+ if ( xml_has_value( node ) ) {
+ if ( str_has_value( name ) ) str_addchar( name, '|' );
+ str_strcat( name, xml_value( node ) );
+ if ( str_memerr( name ) ) return BIBL_ERR_MEMERR;
+ }
+ }
+ return BIBL_OK;
+}
+
+static int
+wordin_person( xml *node, fields *info, char *type )
+{
+ int status, ret = BIBL_OK;
+ str name;
+
+ str_init( &name );
+
+ status = wordin_person_last( node, &name );
+ if ( status!=BIBL_OK ) {
+ ret = status;
+ goto out;
+ }
+
+ status = wordin_person_first( node, &name );
+ if ( status!=BIBL_OK ) {
+ ret = status;
+ goto out;
+ }
+
+ status = fields_add( info, type, str_cstr( &name ), 0 );
+ if ( status != FIELDS_OK ) ret = BIBL_ERR_MEMERR;
+out:
+ str_free( &name );
+ return ret;
+}
+
+static int
+wordin_people( xml *node, fields *info, char *type )
+{
+ int ret = BIBL_OK;
+ if ( xml_tag_matches( node, "b:Author" ) && node->down ) {
+ ret = wordin_people( node->down, info, type );
+ } else if ( xml_tag_matches( node, "b:NameList" ) && node->down ) {
+ ret = wordin_people( node->down, info, type );
+ } else if ( xml_tag_matches( node, "b:Person" ) ) {
+ if ( node->down ) ret = wordin_person( node->down, info, type );
+ if ( ret!=BIBL_OK ) return ret;
+ if ( node->next ) ret = wordin_people( node->next, info, type );
+ }
+ return ret;
+}
+
+static int
+wordin_pages( xml *node, fields *info )
+{
+ int i, status, ret = BIBL_OK;
+ str sp, ep;
+ char *p;
+
+ strs_init( &sp, &ep, NULL );
+
+ p = xml_value_cstr( node );
+ while ( *p && *p!='-' )
+ str_addchar( &sp, *p++ );
+ if ( str_memerr( &sp ) ) {
+ ret = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ if ( *p=='-' ) p++;
+ while ( *p )
+ str_addchar( &ep, *p++ );
+ if ( str_memerr( &ep ) ) {
+ ret = BIBL_ERR_MEMERR;
+ goto out;
+ }
+
+ if ( str_has_value( &sp ) ) {
+ status = fields_add( info, "PAGES:START", str_cstr( &sp ), 1 );
+ if ( status!=FIELDS_OK ) {
+ ret = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+
+ if ( str_has_value( &ep ) ) {
+ if ( sp.len > ep.len ) {
+ for ( i=sp.len-ep.len; i<sp.len; ++i )
+ sp.data[i] = ep.data[i-sp.len+ep.len];
+ status = fields_add( info, "PAGES:STOP", str_cstr( &sp ), 1 );
+ } else
+ status = fields_add( info, "PAGES:STOP", str_cstr( &ep ), 1 );
+ if ( status!=FIELDS_OK ) {
+ ret = BIBL_ERR_MEMERR;
+ goto out;
+ }
+ }
+
+out:
+ strs_free( &sp, &ep, NULL );
+ return ret;
+}
+
+static int
+wordin_reference( xml *node, fields *info )
+{
+ int status, ret = BIBL_OK;
+ if ( xml_has_value( node ) ) {
+ if ( xml_tag_matches( node, "b:Tag" ) ) {
+ status = fields_add( info, "REFNUM", xml_value_cstr( node ), 0 );
+ if ( status!=FIELDS_OK ) ret = BIBL_ERR_MEMERR;
+ } else if ( xml_tag_matches( node, "b:SourceType" ) ) {
+ } else if ( xml_tag_matches( node, "b:City" ) ) {
+ status = fields_add( info, "ADDRESS", xml_value_cstr( node ), 0 );
+ if ( status!=FIELDS_OK ) ret = BIBL_ERR_MEMERR;
+ } else if ( xml_tag_matches( node, "b:Publisher" ) ) {
+ status = fields_add( info, "PUBLISHER", xml_value_cstr( node ), 0 );
+ if ( status!=FIELDS_OK ) ret = BIBL_ERR_MEMERR;
+ } else if ( xml_tag_matches( node, "b:Title" ) ) {
+ status = fields_add( info, "TITLE", xml_value_cstr( node ), 0 );
+ if ( status!=FIELDS_OK ) ret = BIBL_ERR_MEMERR;
+ } else if ( xml_tag_matches( node, "b:JournalName" ) ) {
+ status = fields_add( info, "TITLE", xml_value_cstr( node ), 1 );
+ if ( status!=FIELDS_OK ) ret = BIBL_ERR_MEMERR;
+ } else if ( xml_tag_matches( node, "b:Volume" ) ) {
+ status = fields_add( info, "VOLUME", xml_value_cstr( node ), 1 );
+ if ( status!=FIELDS_OK ) ret = BIBL_ERR_MEMERR;
+ } else if ( xml_tag_matches( node, "b:Comments" ) ) {
+ status = fields_add( info, "NOTES", xml_value_cstr( node ), 0 );
+ if ( status!=FIELDS_OK ) ret = BIBL_ERR_MEMERR;
+ } else if ( xml_tag_matches( node, "b:Pages" ) ) {
+ ret = wordin_pages( node, info );
+ } else if ( xml_tag_matches( node, "b:Author" ) && node->down ) {
+ ret = wordin_people( node->down, info, "AUTHOR" );
+ } else if ( xml_tag_matches( node, "b:Editor" ) && node->down ) {
+ ret = wordin_people( node->down, info, "EDITOR" );
+ }
+ }
+ if ( ret==BIBL_OK && node->next ) wordin_reference( node->next, info );
+ return ret;
+}
+
+static int
+wordin_assembleref( xml *node, fields *info )
+{
+ int ret = BIBL_OK;
+ if ( xml_tag_matches( node, "b:Source" ) ) {
+ if ( node->down ) ret = wordin_reference( node->down, info );
+ } else if ( str_is_empty( &(node->tag) ) && node->down ) {
+ ret = wordin_assembleref( node->down, info );
+ }
+ return ret;
+}
+
+static int
+wordin_processf( fields *wordin, const char *data, const char *filename, long nref, param *p )
+{
+ int status, ret = 1;
+ xml top;
+
+ xml_init( &top );
+ xml_parse( data, &top );
+ status = wordin_assembleref( &top, wordin );
+ xml_free( &top );
+
+ if ( status==BIBL_ERR_MEMERR ) ret = 0;
+ return ret;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/wordout.c b/support/texlab/crates/bibutils_sys/src/wordout.c
new file mode 100644
index 0000000000..4e1747e978
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/wordout.c
@@ -0,0 +1,693 @@
+/*
+ * wordout.c
+ *
+ * (Word 2007 format)
+ *
+ * Copyright (c) Chris Putnam 2007-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "str.h"
+#include "fields.h"
+#include "utf8.h"
+#include "bibformats.h"
+#include "msvc_fix.h"
+
+/*****************************************************
+ PUBLIC: int wordout_initparams()
+*****************************************************/
+
+static void wordout_writeheader( FILE *outptr, param *p );
+static void wordout_writefooter( FILE *outptr );
+static int wordout_write( fields *info, FILE *outptr, param *p, unsigned long numrefs );
+
+int
+wordout_initparams( param *pm, const char *progname )
+{
+ pm->writeformat = BIBL_WORD2007OUT;
+ pm->format_opts = 0;
+ pm->charsetout = BIBL_CHARSET_UNICODE;
+ pm->charsetout_src = BIBL_SRC_DEFAULT;
+ pm->latexout = 0;
+ pm->utf8out = BIBL_CHARSET_UTF8_DEFAULT;
+ pm->utf8bom = BIBL_CHARSET_BOM_DEFAULT;
+ if ( !pm->utf8out )
+ pm->xmlout = BIBL_XMLOUT_ENTITIES;
+ else
+ pm->xmlout = BIBL_XMLOUT_TRUE;
+ pm->nosplittitle = 0;
+ pm->verbose = 0;
+ pm->addcount = 0;
+ pm->singlerefperfile = 0;
+
+ pm->headerf = wordout_writeheader;
+ pm->footerf = wordout_writefooter;
+ pm->assemblef = NULL;
+ pm->writef = wordout_write;
+
+ if ( !pm->progname ) {
+ if ( !progname ) pm->progname = NULL;
+ else {
+ pm->progname = strdup( progname );
+ if ( !pm->progname ) return BIBL_ERR_MEMERR;
+ }
+ }
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: int wordout_write()
+*****************************************************/
+
+typedef struct convert {
+ char *oldtag;
+ char *newtag;
+ char *prefix;
+ int code;
+} convert;
+
+/*
+At the moment 17 unique types of sources are defined:
+
+{code}
+ Art
+ ArticleInAPeriodical
+ Book
+ BookSection
+ Case
+ Conference
+ DocumentFromInternetSite
+ ElectronicSource
+ Film
+ InternetSite
+ Interview
+ JournalArticle
+ Report
+ Misc
+ Patent
+ Performance
+ Proceedings
+ SoundRecording
+{code}
+
+*/
+
+enum {
+ TYPE_UNKNOWN = 0,
+ TYPE_ART,
+ TYPE_ARTICLEINAPERIODICAL,
+ TYPE_BOOK,
+ TYPE_BOOKSECTION,
+ TYPE_CASE,
+ TYPE_CONFERENCE,
+ TYPE_DOCUMENTFROMINTERNETSITE,
+ TYPE_ELECTRONICSOURCE,
+ TYPE_FILM,
+ TYPE_INTERNETSITE,
+ TYPE_INTERVIEW,
+ TYPE_JOURNALARTICLE,
+ TYPE_MISC,
+ TYPE_PATENT,
+ TYPE_PERFORMANCE,
+ TYPE_PROCEEDINGS,
+ TYPE_REPORT,
+ TYPE_SOUNDRECORDING,
+
+ TYPE_THESIS,
+ TYPE_MASTERSTHESIS,
+ TYPE_PHDTHESIS,
+};
+
+/*
+ * fixed output
+ */
+static void
+output_fixed( FILE *outptr, char *tag, char *value, int level )
+{
+ int i;
+ for ( i=0; i<level; ++i ) fprintf( outptr, " " );
+ fprintf( outptr, "<%s>%s</%s>\n", tag, value, tag );
+}
+
+/* detail output
+ *
+ */
+static void
+output_item( fields *info, FILE *outptr, char *tag, char *prefix, int item, int level )
+{
+ int i;
+ if ( item==-1 ) return;
+ for ( i=0; i<level; ++i ) fprintf( outptr, " " );
+ fprintf( outptr, "<%s>%s%s</%s>\n",
+ tag,
+ prefix,
+ (char*) fields_value( info, item, FIELDS_CHRP ),
+ tag
+ );
+}
+
+static void
+output_itemv( FILE *outptr, char *tag, char *item, int level )
+{
+ int i;
+ for ( i=0; i<level; ++i ) fprintf( outptr, " " );
+ fprintf( outptr, "<%s>%s</%s>\n", tag, item, tag );
+}
+
+/* range output
+ *
+ * <TAG>start-end</TAG>
+ *
+ */
+static void
+output_range( FILE *outptr, char *tag, char *start, char *end, int level )
+{
+ int i;
+ if ( start==NULL && end==NULL ) return;
+ if ( start==NULL )
+ output_itemv( outptr, tag, end, 0 );
+ else if ( end==NULL )
+ output_itemv( outptr, tag, start, 0 );
+ else {
+ for ( i=0; i<level; ++i )
+ fprintf( outptr, " " );
+ fprintf( outptr, "<%s>%s-%s</%s>\n", tag, start, end, tag );
+ }
+}
+
+static void
+output_list( fields *info, FILE *outptr, convert *c, int nc )
+{
+ int i, n;
+ for ( i=0; i<nc; ++i ) {
+ n = fields_find( info, c[i].oldtag, c[i].code );
+ if ( n!=FIELDS_NOTFOUND ) output_item( info, outptr, c[i].newtag, c[i].prefix, n, 0 );
+ }
+
+}
+
+typedef struct outtype {
+ int value;
+ char *out;
+} outtype;
+
+static
+outtype genres[] = {
+ { TYPE_PATENT, "patent" },
+ { TYPE_REPORT, "report" },
+ { TYPE_REPORT, "technical report" },
+ { TYPE_CASE, "legal case and case notes" },
+ { TYPE_ART, "art original" },
+ { TYPE_ART, "art reproduction" },
+ { TYPE_ART, "comic strip" },
+ { TYPE_ART, "diorama" },
+ { TYPE_ART, "graphic" },
+ { TYPE_ART, "model" },
+ { TYPE_ART, "picture" },
+ { TYPE_ELECTRONICSOURCE, "electronic" },
+ { TYPE_FILM, "videorecording" },
+ { TYPE_FILM, "motion picture" },
+ { TYPE_SOUNDRECORDING, "sound" },
+ { TYPE_PERFORMANCE, "rehersal" },
+ { TYPE_INTERNETSITE, "web site" },
+ { TYPE_INTERVIEW, "interview" },
+ { TYPE_INTERVIEW, "communication" },
+ { TYPE_MISC, "misc" },
+};
+int ngenres = sizeof( genres ) / sizeof( genres[0] );
+
+static int
+get_type_from_genre( fields *info )
+{
+ int type = TYPE_UNKNOWN, i, j, level;
+ char *genre, *tag;
+ for ( i=0; i<info->n; ++i ) {
+ tag = (char *) fields_tag( info, i, FIELDS_CHRP );
+ if ( strcasecmp( tag, "GENRE:MARC" ) && strcasecmp( tag, "GENRE:BIBUTILS" ) && strcasecmp( tag, "GENRE:UNKNOWN" ) ) continue;
+ genre = (char *) fields_value( info, i, FIELDS_CHRP );
+ for ( j=0; j<ngenres; ++j ) {
+ if ( !strcasecmp( genres[j].out, genre ) )
+ type = genres[j].value;
+ }
+ if ( type==TYPE_UNKNOWN ) {
+ level = info->level[i];
+ if ( !strcasecmp( genre, "academic journal" ) ) {
+ type = TYPE_JOURNALARTICLE;
+ }
+ else if ( !strcasecmp( genre, "periodical" ) ) {
+ if ( type == TYPE_UNKNOWN )
+ type = TYPE_ARTICLEINAPERIODICAL;
+ }
+ else if ( !strcasecmp( genre, "book" ) ||
+ !strcasecmp( genre, "collection" ) ) {
+ if ( info->level[i]==0 ) type = TYPE_BOOK;
+ else type = TYPE_BOOKSECTION;
+ }
+ else if ( !strcasecmp( genre, "conference publication" ) ) {
+ if ( level==0 ) type=TYPE_CONFERENCE;
+ else type = TYPE_PROCEEDINGS;
+ }
+ else if ( !strcasecmp( genre, "thesis" ) ) {
+ if ( type==TYPE_UNKNOWN ) type=TYPE_THESIS;
+ }
+ else if ( !strcasecmp( genre, "Ph.D. thesis" ) ) {
+ type = TYPE_PHDTHESIS;
+ }
+ else if ( !strcasecmp( genre, "Masters thesis" ) ) {
+ type = TYPE_MASTERSTHESIS;
+ }
+ }
+ }
+ return type;
+}
+
+static int
+get_type_from_resource( fields *info )
+{
+ int type = TYPE_UNKNOWN, i;
+ char *tag, *resource;
+ for ( i=0; i<info->n; ++i ) {
+ tag = (char *) fields_tag( info, i, FIELDS_CHRP );
+ if ( strcasecmp( tag, "RESOURCE" ) ) continue;
+ resource = (char *) fields_value( info, i, FIELDS_CHRP );
+ if ( !strcasecmp( resource, "moving image" ) )
+ type = TYPE_FILM;
+ }
+ return type;
+}
+
+static int
+get_type( fields *info )
+{
+ int type;
+ type = get_type_from_genre( info );
+ if ( type==TYPE_UNKNOWN )
+ type = get_type_from_resource( info );
+ return type;
+}
+
+static void
+output_titlebits( char *mainttl, char *subttl, FILE *outptr )
+{
+ if ( mainttl ) fprintf( outptr, "%s", mainttl );
+ if ( subttl ) {
+ if ( mainttl ) {
+ if ( mainttl[ strlen( mainttl ) - 1 ] != '?' )
+ fprintf( outptr, ": " );
+ else fprintf( outptr, " " );
+ }
+ fprintf( outptr, "%s", subttl );
+ }
+}
+
+static void
+output_titleinfo( char *mainttl, char *subttl, FILE *outptr, char *tag, int level )
+{
+ if ( mainttl || subttl ) {
+ fprintf( outptr, "<%s>", tag );
+ output_titlebits( mainttl, subttl, outptr );
+ fprintf( outptr, "</%s>\n", tag );
+ }
+}
+
+static void
+output_generaltitle( fields *info, FILE *outptr, char *tag, int level )
+{
+ char *ttl = fields_findv( info, level, FIELDS_CHRP, "TITLE" );
+ char *subttl = fields_findv( info, level, FIELDS_CHRP, "SUBTITLE" );
+ char *shrttl = fields_findv( info, level, FIELDS_CHRP, "SHORTTITLE" );
+ char *shrsubttl = fields_findv( info, level, FIELDS_CHRP, "SHORTSUBTITLE" );
+
+ if ( ttl ) {
+ output_titleinfo( ttl, subttl, outptr, tag, level );
+ }
+ else if ( shrttl ) {
+ output_titleinfo( shrttl, shrsubttl, outptr, tag, level );
+ }
+}
+
+static void
+output_maintitle( fields *info, FILE *outptr, int level )
+{
+ char *ttl = fields_findv( info, level, FIELDS_CHRP, "TITLE" );
+ char *subttl = fields_findv( info, level, FIELDS_CHRP, "SUBTITLE" );
+ char *shrttl = fields_findv( info, level, FIELDS_CHRP, "SHORTTITLE" );
+ char *shrsubttl = fields_findv( info, level, FIELDS_CHRP, "SHORTSUBTITLE" );
+
+ if ( ttl ) {
+ output_titleinfo( ttl, subttl, outptr, "b:Title", level );
+
+ /* output shorttitle if it's different from normal title */
+ if ( shrttl ) {
+ if ( !ttl || ( strcmp( shrttl, ttl ) || subttl ) ) {
+ fprintf( outptr, " <b:ShortTitle>" );
+ output_titlebits( shrttl, shrsubttl, outptr );
+ fprintf( outptr, "</b:ShortTitle>\n" );
+ }
+ }
+ }
+ else if ( shrttl ) {
+ output_titleinfo( shrttl, shrsubttl, outptr, "b:Title", level );
+ }
+}
+
+static void
+output_name_nomangle( FILE *outptr, char *p )
+{
+ fprintf( outptr, "<b:Person>" );
+ fprintf( outptr, "<b:Last>%s</b:Last>", p );
+ fprintf( outptr, "</b:Person>\n" );
+}
+
+static void
+output_name( FILE *outptr, char *p )
+{
+ str family, part;
+ int n=0, npart=0;
+
+ str_init( &family );
+ while ( *p && *p!='|' ) str_addchar( &family, *p++ );
+ if ( *p=='|' ) p++;
+ if ( str_has_value( &family ) ) {
+ fprintf( outptr, "<b:Person>" );
+ fprintf( outptr, "<b:Last>%s</b:Last>", str_cstr( &family ) );
+ n++;
+ }
+ str_free( &family );
+
+ str_init( &part );
+ while ( *p ) {
+ while ( *p && *p!='|' ) str_addchar( &part, *p++ );
+ if ( str_has_value( &part ) ) {
+ if ( n==0 ) fprintf( outptr, "<b:Person>" );
+ if ( npart==0 )
+ fprintf( outptr, "<b:First>%s</b:First>", str_cstr( &part ) );
+ else
+ fprintf( outptr, "<b:Middle>%s</b:Middle>", str_cstr( &part ) );
+ n++;
+ npart++;
+ }
+ if ( *p=='|' ) {
+ p++;
+ str_empty( &part );
+ }
+ }
+ if ( n ) fprintf( outptr, "</b:Person>\n" );
+
+ str_free( &part );
+}
+
+
+#define NAME (1)
+#define NAME_ASIS (2)
+#define NAME_CORP (4)
+
+static int
+extract_name_and_info( str *outtag, str *intag )
+{
+ int code = NAME;
+ str_strcpy( outtag, intag );
+ if ( str_findreplace( outtag, ":ASIS", "" ) ) code = NAME_ASIS;
+ if ( str_findreplace( outtag, ":CORP", "" ) ) code = NAME_CORP;
+ return code;
+}
+
+static void
+output_name_type( fields *info, FILE *outptr, int level,
+ char *map[], int nmap, char *tag )
+{
+ str ntag;
+ int i, j, n=0, code, nfields;
+ str_init( &ntag );
+ nfields = fields_num( info );
+ for ( j=0; j<nmap; ++j ) {
+ for ( i=0; i<nfields; ++i ) {
+ code = extract_name_and_info( &ntag, &(info->tag[i]) );
+ if ( strcasecmp( str_cstr( &ntag ), map[j] ) ) continue;
+ if ( n==0 )
+ fprintf( outptr, "<%s><b:NameList>\n", tag );
+ if ( code != NAME )
+ output_name_nomangle( outptr, (char *) fields_value( info, i, FIELDS_CHRP ) );
+ else
+ output_name( outptr, (char *) fields_value( info, i, FIELDS_CHRP ) );
+ n++;
+ }
+ }
+ str_free( &ntag );
+ if ( n )
+ fprintf( outptr, "</b:NameList></%s>\n", tag );
+}
+
+static void
+output_names( fields *info, FILE *outptr, int level, int type )
+{
+ char *authors[] = { "AUTHOR", "WRITER", "ASSIGNEE", "ARTIST",
+ "CARTOGRAPHER", "INVENTOR", "ORGANIZER", "DIRECTOR",
+ "PERFORMER", "REPORTER", "TRANSLATOR", "ADDRESSEE",
+ "2ND_AUTHOR", "3RD_AUTHOR", "SUB_AUTHOR", "COMMITTEE",
+ "COURT", "LEGISLATIVEBODY" };
+ int nauthors = sizeof( authors ) / sizeof( authors[0] );
+
+ char *editors[] = { "EDITOR" };
+ int neditors = sizeof( editors ) / sizeof( editors[0] );
+
+ char author_default[] = "b:Author", inventor[] = "b:Inventor";
+ char *author_type = author_default;
+
+ if ( type == TYPE_PATENT ) author_type = inventor;
+
+ fprintf( outptr, "<b:Author>\n" );
+ output_name_type( info, outptr, level, authors, nauthors, author_type );
+ output_name_type( info, outptr, level, editors, neditors, "b:Editor" );
+ fprintf( outptr, "</b:Author>\n" );
+}
+
+static void
+output_date( fields *info, FILE *outptr, int level )
+{
+ char *year = fields_findv_firstof( info, level, FIELDS_CHRP,
+ "PARTDATE:YEAR", "DATE:YEAR", NULL );
+ char *month = fields_findv_firstof( info, level, FIELDS_CHRP,
+ "PARTDATE:MONTH", "DATE:MONTH", NULL );
+ char *day = fields_findv_firstof( info, level, FIELDS_CHRP,
+ "PARTDATE:DAY", "DATE:DAY", NULL );
+ if ( year ) output_itemv( outptr, "b:Year", year, 0 );
+ if ( month ) output_itemv( outptr, "b:Month", month, 0 );
+ if ( day ) output_itemv( outptr, "b:Day", day, 0 );
+}
+
+static void
+output_pages( fields *info, FILE *outptr, int level )
+{
+ char *sn = fields_findv( info, LEVEL_ANY, FIELDS_CHRP, "PAGES:START" );
+ char *en = fields_findv( info, LEVEL_ANY, FIELDS_CHRP, "PAGES:STOP" );
+ char *ar = fields_findv( info, LEVEL_ANY, FIELDS_CHRP, "ARTICLENUMBER" );
+ if ( sn || en )
+ output_range( outptr, "b:Pages", sn, en, level );
+ else if ( ar )
+ output_range( outptr, "b:Pages", ar, NULL, level );
+}
+
+static void
+output_includedin( fields *info, FILE *outptr, int type )
+{
+ if ( type==TYPE_JOURNALARTICLE ) {
+ output_generaltitle( info, outptr, "b:JournalName", 1 );
+ } else if ( type==TYPE_ARTICLEINAPERIODICAL ) {
+ output_generaltitle( info, outptr, "b:PeriodicalTitle", 1 );
+ } else if ( type==TYPE_BOOKSECTION ) {
+ output_generaltitle( info, outptr, "b:ConferenceName", 1 ); /*??*/
+ } else if ( type==TYPE_PROCEEDINGS ) {
+ output_generaltitle( info, outptr, "b:ConferenceName", 1 );
+ }
+}
+
+static int
+type_is_thesis( int type )
+{
+ if ( type==TYPE_THESIS ||
+ type==TYPE_PHDTHESIS ||
+ type==TYPE_MASTERSTHESIS )
+ return 1;
+ else
+ return 0;
+}
+
+static void
+output_thesisdetails( fields *info, FILE *outptr, int type )
+{
+ char *tag;
+ int i, n;
+
+ if ( type==TYPE_PHDTHESIS )
+ output_fixed( outptr, "b:ThesisType", "Ph.D. Thesis", 0 );
+ else if ( type==TYPE_MASTERSTHESIS )
+ output_fixed( outptr, "b:ThesisType", "Masters Thesis", 0 );
+
+ n = fields_num( info );
+ for ( i=0; i<n; ++i ) {
+ tag = fields_tag( info, i, FIELDS_CHRP );
+ if ( strcasecmp( tag, "DEGREEGRANTOR" ) &&
+ strcasecmp( tag, "DEGREEGRANTOR:ASIS") &
+ strcasecmp( tag, "DEGREEGRANTOR:CORP"))
+ continue;
+ output_item( info, outptr, "b:Institution", "", i, 0 );
+ }
+}
+
+static
+outtype types[] = {
+ { TYPE_UNKNOWN, "Misc" },
+ { TYPE_MISC, "Misc" },
+ { TYPE_BOOK, "Book" },
+ { TYPE_BOOKSECTION, "BookSection" },
+ { TYPE_CASE, "Case" },
+ { TYPE_CONFERENCE, "Conference" },
+ { TYPE_ELECTRONICSOURCE, "ElectronicSource" },
+ { TYPE_FILM, "Film" },
+ { TYPE_INTERNETSITE, "InternetSite" },
+ { TYPE_INTERVIEW, "Interview" },
+ { TYPE_SOUNDRECORDING, "SoundRecording" },
+ { TYPE_ARTICLEINAPERIODICAL, "ArticleInAPeriodical" },
+ { TYPE_DOCUMENTFROMINTERNETSITE, "DocumentFromInternetSite" },
+ { TYPE_JOURNALARTICLE, "JournalArticle" },
+ { TYPE_REPORT, "Report" },
+ { TYPE_PATENT, "Patent" },
+ { TYPE_PERFORMANCE, "Performance" },
+ { TYPE_PROCEEDINGS, "Proceedings" },
+};
+static
+int ntypes = sizeof( types ) / sizeof( types[0] );
+
+static void
+output_type( fields *info, FILE *outptr, int type )
+{
+ int i, found = 0;
+ fprintf( outptr, "<b:SourceType>" );
+ for ( i=0; i<ntypes && !found; ++i ) {
+ if ( types[i].value!=type ) continue;
+ found = 1;
+ fprintf( outptr, "%s", types[i].out );
+ }
+ if ( !found ) {
+ if ( type_is_thesis( type ) ) fprintf( outptr, "Report" );
+ else fprintf( outptr, "Misc" );
+ }
+ fprintf( outptr, "</b:SourceType>\n" );
+
+ if ( type_is_thesis( type ) )
+ output_thesisdetails( info, outptr, type );
+}
+
+static void
+output_comments( fields *info, FILE *outptr, int level )
+{
+ vplist_index i;
+ vplist notes;
+ char *abs;
+
+ vplist_init( &notes );
+
+ abs = fields_findv( info, level, FIELDS_CHRP, "ABSTRACT" );
+ fields_findv_each( info, level, FIELDS_CHRP, &notes, "NOTES" );
+
+ if ( abs || notes.n ) fprintf( outptr, "<b:Comments>" );
+ if ( abs ) fprintf( outptr, "%s", abs );
+ for ( i=0; i<notes.n; ++i )
+ fprintf( outptr, "%s", (char*)vplist_get( &notes, i ) );
+ if ( abs || notes.n ) fprintf( outptr, "</b:Comments>\n" );
+
+ vplist_free( &notes );
+}
+
+static void
+output_bibkey( fields *info, FILE *outptr )
+{
+ char *bibkey = fields_findv_firstof( info, LEVEL_ANY, FIELDS_CHRP,
+ "REFNUM", "BIBKEY", NULL );
+ if ( bibkey ) output_itemv( outptr, "b:Tag", bibkey, 0 );
+}
+
+static void
+output_citeparts( fields *info, FILE *outptr, int level, int max, int type )
+{
+ convert origin[] = {
+ { "ADDRESS", "b:City", "", LEVEL_ANY },
+ { "PUBLISHER", "b:Publisher", "", LEVEL_ANY },
+ { "EDITION", "b:Edition", "", LEVEL_ANY }
+ };
+ int norigin = sizeof( origin ) / sizeof ( convert );
+
+ convert parts[] = {
+ { "VOLUME", "b:Volume", "", LEVEL_ANY },
+ { "SECTION", "b:Section", "", LEVEL_ANY },
+ { "ISSUE", "b:Issue", "", LEVEL_ANY },
+ { "NUMBER", "b:Issue", "", LEVEL_ANY },
+ { "PUBLICLAWNUMBER", "b:Volume", "", LEVEL_ANY },
+ { "SESSION", "b:Issue", "", LEVEL_ANY },
+ { "URL", "b:Url", "", LEVEL_ANY },
+ { "JSTOR", "b:Url", "http://www.jstor.org/stable/", LEVEL_ANY },
+ { "ARXIV", "b:Url", "http://arxiv.org/abs/", LEVEL_ANY },
+ { "PMID", "b:Url", "http://www.ncbi.nlm.nih.gov/pubmed/", LEVEL_ANY },
+ { "PMC", "b:Url", "http://www.ncbi.nlm.nih.gov/pmc/articles/", LEVEL_ANY },
+ { "DOI", "b:Url", "https://doi.org/", LEVEL_ANY },
+ { "MRNUMBER", "b:Url", "http://www.ams.org/mathscinet-getitem?mr=", LEVEL_ANY },
+ };
+ int nparts=sizeof(parts)/sizeof(convert);
+
+ output_bibkey( info, outptr );
+ output_type( info, outptr, type );
+ output_list( info, outptr, origin, norigin );
+ output_date( info, outptr, level );
+ output_includedin( info, outptr, type );
+ output_list( info, outptr, parts, nparts );
+ output_pages( info, outptr, level );
+ output_names( info, outptr, level, type );
+ output_maintitle( info, outptr, 0 );
+ output_comments( info, outptr, level );
+}
+
+static int
+wordout_write( fields *info, FILE *outptr, param *p, unsigned long numrefs )
+{
+ int max = fields_maxlevel( info );
+ int type = get_type( info );
+
+ fprintf( outptr, "<b:Source>\n" );
+ output_citeparts( info, outptr, -1, max, type );
+ fprintf( outptr, "</b:Source>\n" );
+
+ fflush( outptr );
+
+ return BIBL_OK;
+}
+
+/*****************************************************
+ PUBLIC: void wordout_writeheader()
+*****************************************************/
+
+static void
+wordout_writeheader( FILE *outptr, param *p )
+{
+ if ( p->utf8bom ) utf8_writebom( outptr );
+ fprintf(outptr,"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+ fprintf(outptr,"<b:Sources SelectedStyle=\"\" "
+ "xmlns:b=\"http://schemas.openxmlformats.org/officeDocument/2006/bibliography\" "
+ " xmlns=\"http://schemas.openxmlformats.org/officeDocument/2006/bibliography\" >\n");
+}
+
+/*****************************************************
+ PUBLIC: void wordout_writefooter()
+*****************************************************/
+
+static void
+wordout_writefooter( FILE *outptr )
+{
+ fprintf(outptr,"</b:Sources>\n");
+ fflush( outptr );
+}
diff --git a/support/texlab/crates/bibutils_sys/src/wrapper.h b/support/texlab/crates/bibutils_sys/src/wrapper.h
new file mode 100644
index 0000000000..a7a05beb9b
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/wrapper.h
@@ -0,0 +1,3 @@
+// Wrapper file for bindgen
+#include "bibl.h"
+#include "bibutils.h"
diff --git a/support/texlab/crates/bibutils_sys/src/xml.c b/support/texlab/crates/bibutils_sys/src/xml.c
new file mode 100644
index 0000000000..922a24075f
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/xml.c
@@ -0,0 +1,420 @@
+/*
+ * xml.c
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "is_ws.h"
+#include "strsearch.h"
+#include "xml.h"
+#include "msvc_fix.h"
+
+char *xml_pns = NULL;
+
+void
+xml_init( xml *node )
+{
+ str_init( &(node->tag) );
+ str_init( &(node->value) );
+ slist_init( &(node->attributes) );
+ slist_init( &(node->attribute_values) );
+ node->down = NULL;
+ node->next = NULL;
+}
+
+static xml *
+xml_new( void )
+{
+ xml *node = ( xml * ) malloc( sizeof( xml ) );
+ if ( node ) xml_init( node );
+ return node;
+}
+
+static void
+xml_delete( xml *node )
+{
+ xml_free( node );
+ free( node );
+}
+
+void
+xml_free( xml *node )
+{
+ str_free( &(node->tag) );
+ str_free( &(node->value) );
+ slist_free( &(node->attributes) );
+ slist_free( &(node->attribute_values) );
+ if ( node->down ) xml_delete( node->down );
+ if ( node->next ) xml_delete( node->next );
+}
+
+enum {
+ XML_DESCRIPTOR,
+ XML_COMMENT,
+ XML_OPEN,
+ XML_CLOSE,
+ XML_OPENCLOSE
+};
+
+static int
+xml_is_terminator( const char *p, int *type )
+{
+ if ( *p=='>' ) {
+ return 1;
+ } else if ( *p=='/' && *(p+1)=='>' ) {
+ if ( *type==XML_OPENCLOSE ) return 1;
+ else if ( *type==XML_OPEN ) {
+ *type = XML_OPENCLOSE;
+ return 1;
+ }
+ } else if ( *p=='?' && *(p+1)=='>' && *type==XML_DESCRIPTOR ) {
+ return 1;
+ } else if ( *p=='!' && *(p+1)=='>' && *type==XML_COMMENT ) {
+ return 1;
+ }
+ return 0;
+}
+
+static int
+xml_add_attribute( xml *node, char *attribute, char *attribute_value )
+{
+ int status;
+
+ if ( attribute )
+ status = slist_addc( &(node->attributes), attribute );
+ else
+ status = slist_addc( &(node->attributes), "" );
+ if ( status!=SLIST_OK ) return 0;
+
+ if ( attribute_value )
+ status = slist_addc( &(node->attribute_values), attribute_value );
+ else
+ status = slist_addc( &(node->attribute_values), "" );
+ if ( status!=SLIST_OK ) {
+ (void) slist_remove( &(node->attributes), node->attributes.n-1 );
+ return 0;
+ }
+ return 1;
+}
+
+static const char *
+xml_processattrib( const char *p, xml *node, int *type )
+{
+ char quote_character = '\"';
+ int inquotes = 0;
+ str aname, aval;
+
+ str_init( &aname );
+ str_init( &aval );
+
+ while ( *p && !xml_is_terminator( p, type ) ) {
+
+ /* get attribute name */
+ while ( *p==' ' || *p=='\t' ) p++;
+ while ( *p && !strchr( "= \t", *p ) && !xml_is_terminator( p, type ) ){
+ str_addchar( &aname, *p );
+ p++;
+ }
+
+ /* equals sign */
+ while ( *p==' ' || *p=='\t' ) p++;
+ if ( *p=='=' ) p++;
+ while ( *p==' ' || *p=='\t' ) p++;
+
+ /* get attribute value */
+ if ( *p=='\"' || *p=='\'' ) {
+ if ( *p=='\'' ) quote_character = *p;
+ inquotes=1;
+ p++;
+ }
+ while ( *p && ((!xml_is_terminator(p,type) && !strchr("= \t", *p ))||inquotes)){
+ if ( *p==quote_character ) inquotes=0;
+ else str_addchar( &aval, *p );
+ p++;
+ }
+ if ( str_has_value( &aname ) ) {
+ xml_add_attribute( node, str_cstr( &aname ), str_cstr( &aval ) );
+ }
+
+ str_empty( &aname );
+ str_empty( &aval );
+ }
+
+ str_free( &aname );
+ str_free( &aval );
+
+ return p;
+}
+
+/*
+ * xml_processtag
+ *
+ * start right after '<'
+ * *
+ * XML_COMMENT <!-- .... -->
+ * XML_DESCRIPTOR <?.....>
+ * XML_OPEN <A>
+ * XML_CLOSE </A>
+ * XML_OPENCLOSE <A/>
+ */
+static const char *
+xml_processtag( const char *p, xml *node, int *type )
+{
+ str tag;
+
+ str_init( &tag );
+
+ if ( *p=='!' ) {
+ *type = XML_COMMENT;
+ while ( *p && *p!='>' ) p++;
+ }
+ else if ( *p=='?' ) {
+ *type = XML_DESCRIPTOR;
+ p++; /* skip '?' */
+ while ( *p && !strchr( " \t", *p ) && !xml_is_terminator(p,type) )
+ str_addchar( &tag, *p++ );
+ if ( *p==' ' || *p=='\t' )
+ p = xml_processattrib( p, node, type );
+ }
+ else if ( *p=='/' ) {
+ *type = XML_CLOSE;
+ while ( *p && !strchr( " \t", *p ) && !xml_is_terminator(p,type) )
+ str_addchar( &tag, *p++ );
+ if ( *p==' ' || *p=='\t' )
+ p = xml_processattrib( p, node, type );
+ }
+ else {
+ *type = XML_OPEN;
+ while ( *p && !strchr( " \t", *p ) && !xml_is_terminator(p,type) )
+ str_addchar( &tag, *p++ );
+ if ( *p==' ' || *p=='\t' )
+ p = xml_processattrib( p, node, type );
+ }
+ while ( *p && *p!='>' ) p++;
+ if ( *p=='>' ) p++;
+
+ str_strcpy( &(node->tag), &tag );
+
+ str_free( &tag );
+
+ return p;
+}
+
+static void
+xml_appendnode( xml *onode, xml *nnode )
+{
+ if ( !onode->down ) onode->down = nnode;
+ else {
+ xml *p = onode->down;
+ while ( p->next ) p = p->next;
+ p->next = nnode;
+ }
+}
+
+const char *
+xml_parse( const char *p, xml *onode )
+{
+ int type, is_style = 0;
+ xml *nnode;
+
+ while ( *p ) {
+
+ /* retain white space for <style> tags in endnote xml */
+ if ( str_cstr( &(onode->tag) ) &&
+ !strcasecmp( str_cstr( &(onode->tag) ),"style") ) is_style=1;
+
+ while ( *p && *p!='<' ) {
+ if ( onode->value.len>0 || is_style || !is_ws( *p ) )
+ str_addchar( &(onode->value), *p );
+ p++;
+ }
+
+ if ( *p=='<' ) {
+ nnode = xml_new();
+ p = xml_processtag( p+1, nnode, &type );
+ if ( type==XML_OPEN || type==XML_OPENCLOSE || type==XML_DESCRIPTOR ) {
+ xml_appendnode( onode, nnode );
+ if ( type==XML_OPEN )
+ p = xml_parse( p, nnode );
+ } else if ( type==XML_CLOSE ) {
+ /*check to see if it's closing for this one*/
+ xml_delete( nnode );
+ goto out; /* assume it's right for now */
+ } else {
+ xml_delete( nnode );
+ }
+ }
+
+ }
+out:
+ return p;
+}
+
+void
+xml_draw( xml *node, int n )
+{
+ slist_index j;
+ int i;
+
+ if ( !node ) return;
+
+ for ( i=0; i<n; ++i ) printf( " " );
+
+ printf("n=%d tag='%s' value='%s'\n", n, str_cstr( &(node->tag) ), str_cstr( &(node->value) ) );
+
+ for ( j=0; j<node->attributes.n; ++j ) {
+ for ( i=0; i<n; ++i ) printf( " " );
+ printf( " attribute='%s' value='%s'\n",
+ slist_cstr( &(node->attributes), j ),
+ slist_cstr( &(node->attribute_values), j )
+ );
+ }
+
+ if ( node->down ) xml_draw( node->down, n+1 );
+ if ( node->next ) xml_draw( node->next, n );
+}
+
+char *
+xml_find_start( char *buffer, char *tag )
+{
+ str starttag;
+ char *p;
+
+ str_initstrsc( &starttag, "<", tag, " ", NULL );
+
+ p = strsearch( buffer, str_cstr( &starttag ) );
+ if ( !p ) {
+ starttag.data[ starttag.len-1 ] = '>';
+ p = strsearch( buffer, str_cstr( &starttag ) );
+ }
+
+ str_free( &starttag );
+
+ return p;
+}
+
+char *
+xml_find_end( char *buffer, char *tag )
+{
+ str endtag;
+ char *p;
+
+ if ( xml_pns )
+ str_initstrsc( &endtag, "</", xml_pns, ":", tag, ">", NULL );
+ else
+ str_initstrsc( &endtag, "</", tag, ">", NULL );
+
+ p = strsearch( buffer, str_cstr( &endtag ) );
+ if ( p && *p ) {
+ if ( *p ) p++; /* skip <random_tag></end> combo */
+ while ( *p && *(p-1)!='>' ) p++;
+ }
+
+ str_free( &endtag );
+ return p;
+}
+
+static int
+xml_tag_matches_simple( xml* node, const char *tag )
+{
+ if ( node->tag.len!=strlen( tag ) ) return 0;
+ if ( strcasecmp( str_cstr( &(node->tag) ), tag ) ) return 0;
+ return 1;
+}
+static int
+xml_tag_matches_pns( xml* node, const char *tag )
+{
+ int found = 0;
+ str pnstag;
+
+ str_initstrsc( &pnstag, xml_pns, ":", tag, NULL );
+ if ( node->tag.len==pnstag.len &&
+ !strcasecmp( str_cstr( &(node->tag) ), str_cstr( &pnstag ) ) )
+ found = 1;
+ str_free( &pnstag );
+
+ return found;
+}
+int
+xml_tag_matches( xml *node, const char *tag )
+{
+ if ( xml_pns ) return xml_tag_matches_pns ( node, tag );
+ else return xml_tag_matches_simple( node, tag );
+}
+
+int
+xml_tag_matches_has_value( xml *node, const char *tag )
+{
+ if ( xml_tag_matches( node, tag ) && xml_has_value( node ) ) return 1;
+ return 0;
+}
+
+int
+xml_has_attribute( xml *node, const char *attribute, const char *attribute_value )
+{
+ slist_index i;
+ char *a, *v;
+
+ for ( i=0; i<node->attributes.n; ++i ) {
+ a = slist_cstr( &(node->attributes), i );
+ v = slist_cstr( &(node->attribute_values), i );
+ if ( !a || !v ) continue;
+ if ( !strcasecmp( a, attribute ) && !strcasecmp( v, attribute_value ) )
+ return 1;
+ }
+
+ return 0;
+}
+
+int
+xml_tag_has_attribute( xml *node, const char *tag, const char *attribute, const char *attribute_value )
+{
+ if ( !xml_tag_matches( node, tag ) ) return 0;
+ return xml_has_attribute( node, attribute, attribute_value );
+}
+
+str *
+xml_attribute( xml *node, const char *attribute )
+{
+ slist_index n;
+
+ n = slist_findc( &(node->attributes), attribute );
+ if ( slist_wasnotfound( &(node->attributes), n ) ) return NULL;
+ else return slist_str( &(node->attribute_values), n );
+}
+
+int
+xml_has_value( xml *node )
+{
+ if ( node && str_has_value( &(node->value) ) ) return 1;
+ return 0;
+}
+
+str *
+xml_tag( xml *node )
+{
+ return &(node->tag);
+}
+
+char *
+xml_tag_cstr( xml *node )
+{
+ return str_cstr( &(node->tag) );
+}
+
+str *
+xml_value( xml *node )
+{
+ return &(node->value);
+}
+
+char *
+xml_value_cstr( xml *node )
+{
+ return str_cstr( &(node->value) );
+}
diff --git a/support/texlab/crates/bibutils_sys/src/xml.h b/support/texlab/crates/bibutils_sys/src/xml.h
new file mode 100644
index 0000000000..56f3eea402
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/xml.h
@@ -0,0 +1,43 @@
+/*
+ * xml.h
+ *
+ * Copyright (c) Chris Putnam 2004-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef XML_H
+#define XML_H
+
+#include "slist.h"
+#include "str.h"
+
+typedef struct xml {
+ str tag;
+ str value;
+ slist attributes;
+ slist attribute_values;
+ struct xml *down;
+ struct xml *next;
+} xml;
+
+void xml_init ( xml *node );
+void xml_free ( xml *node );
+int xml_has_value ( xml *node );
+str * xml_value ( xml *node );
+char * xml_value_cstr ( xml *node );
+str * xml_tag ( xml *node );
+char * xml_tag_cstr ( xml *node );
+int xml_tag_matches ( xml *node, const char *tag );
+int xml_tag_matches_has_value( xml *node, const char *tag );
+str * xml_attribute ( xml *node, const char *attribute );
+char * xml_find_start ( char *buffer, char *tag );
+char * xml_find_end ( char *buffer, char *tag );
+int xml_tag_has_attribute ( xml *node, const char *tag, const char *attribute, const char *attribute_value );
+int xml_has_attribute ( xml *node, const char *attribute, const char *attribute_value );
+const char * xml_parse ( const char *p, xml *onode );
+
+extern char * xml_pns; /* global Namespace */
+
+#endif
+
diff --git a/support/texlab/crates/bibutils_sys/src/xml_encoding.c b/support/texlab/crates/bibutils_sys/src/xml_encoding.c
new file mode 100644
index 0000000000..135821528c
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/xml_encoding.c
@@ -0,0 +1,78 @@
+/*
+ * xml_getencoding.c
+ *
+ * Copyright (c) Chris Putnam 2007-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "charsets.h"
+#include "str.h"
+#include "str_conv.h"
+#include "xml.h"
+#include "xml_encoding.h"
+#include "msvc_fix.h"
+
+static int
+xml_getencodingr( xml *node )
+{
+ int n = CHARSET_UNKNOWN, m;
+ str *s;
+ char *t;
+
+ if ( xml_tag_matches( node, "xml" ) ) {
+ s = xml_attribute( node, "encoding" );
+ if ( str_has_value( s ) ) {
+ t = str_cstr( s );
+ if ( !strcasecmp( t, "UTF-8" ) )
+ n = CHARSET_UNICODE;
+ else if ( !strcasecmp( t, "UTF8" ) )
+ n = CHARSET_UNICODE;
+ else if ( !strcasecmp( t, "GB18030" ) )
+ n = CHARSET_GB18030;
+ else n = charset_find( t );
+ if ( n==CHARSET_UNKNOWN ) {
+ fprintf( stderr, "Warning: did not recognize encoding '%s'\n", t );
+ }
+ }
+ }
+ if ( node->down ) {
+ m = xml_getencodingr( node->down );
+ if ( m!=CHARSET_UNKNOWN ) n = m;
+ }
+ if ( node->next ) {
+ m = xml_getencodingr( node->next );
+ if ( m!=CHARSET_UNKNOWN ) n = m;
+ }
+
+ return n;
+}
+
+int
+xml_getencoding( str *s )
+{
+ int file_charset = CHARSET_UNKNOWN;
+ str descriptor;
+ xml descriptxml;
+ char *p, *q;
+
+ p = strstr( str_cstr( s ), "<?xml" );
+ if ( !p ) p = strstr( str_cstr( s ), "<?XML" );
+ if ( p ) {
+ q = strstr( p, "?>" );
+ if ( q ) {
+ str_init( &descriptor );
+ str_segcpy( &descriptor, p, q+2 );
+ xml_init( &descriptxml );
+ xml_parse( str_cstr( &descriptor ), &descriptxml );
+ file_charset = xml_getencodingr( &descriptxml );
+ xml_free( &descriptxml );
+ str_free( &descriptor );
+ str_segdel( s, p, q+2 );
+ }
+ }
+ return file_charset;
+}
diff --git a/support/texlab/crates/bibutils_sys/src/xml_encoding.h b/support/texlab/crates/bibutils_sys/src/xml_encoding.h
new file mode 100644
index 0000000000..b3a0acfe64
--- /dev/null
+++ b/support/texlab/crates/bibutils_sys/src/xml_encoding.h
@@ -0,0 +1,14 @@
+/*
+ * xml_getencoding.h
+ *
+ * Copyright (c) Chris Putnam 2007-2019
+ *
+ * Source code released under the GPL version 2
+ *
+ */
+#ifndef XML_GETENCODING_H
+#define XML_GETENCODING_H
+
+int xml_getencoding( str *s );
+
+#endif